USART RS 232

Sabtu, 03 April 2010
Komunikasi mikro ke PC menggunakan serial ada banyak cara buat komunikasinya serta tampilan yang dapat di lakukan, contohnya pake Hiperteminal bawaan Windos ada juga bisa kita manfaatkan buat pengujian serial.
mari kita lanjutkan sajah cara melakukan cek komunikasinya serial menggunakan Hiperterminal.

di mikro AVR tu sudah ada buat komunikasi serial di AVR ATmega16 berada di PORTD.0 untuk RX nya mikro dan PORTD.1 buat TX nya mikro, disin menggunakn dua buat komunikasi antar mikro sama komputer. pada komputer juga begitu ada dua terminal komuniaksi.. namun walau udah sama-sama punya dua komunikasi ini mesti melewati converter dulu buat mensyncronkan ke dua komunikasinya, pake aja IC MAX 232.


Nah pake rangkaian ini, kita udah bisa buat TTL RS232, buat komuniakasikan Mikro sama PC.
kalo udah di buat dan hubungkan sesuai gambar di atas, dan lanjutkan pengujian komuniaksinya.
kalo udah di pasang nyalakan powernya biar nyala dulu mikronya trus buka STAR di komputer trus>> all Prgram>> accessories>>comunication> Hiperterminal


buat nama komunikasinya contoh nama TECHNOKIT_SERIAL


trus pilih koneksi komputernya.. ntar bisa di ganti" kalo emang ga sesuai.. kalo ada com1 aja dulu.

selanjut nya setting dech port nya dulu atur : Bit Persecond = 9600. Data Bit = 8, Parity= none. Flow Controlnya=none.
sebelum mengecek komunikasinya masukin dulu program ke mikronya buat baca komputer trus di tampilakan di PC
Download Hex file nnya
Download C

kalo udah di masukin ke mikro Reset dech Sistem minimumnya maka akan di tampillkan seperti ini :

selamat mencoba dech..

USB to SERIAL

Bikin sensdiri aja kalo mang lagi butuh converter.,,
ni cara bikin concerter USB to Serial, bisa di gunakan buat apa aja yang udah hubungannya ama serial. nih rangkaiannya kayak gini aja :




konverter ini pake AVR ATtiny2313 aja selain kecil murah juga harganya,.. kalo udah buat jangan lupa masukin program biar bisa jalan converternya.
programnya download aja di SINI

selain program yang kita masukin di mikro ATtiny2313 kan ntar tuh mesti conek komputer tuh.. biar USB nya ke baca,..komputer nya di kasih driver dong. nih Download di SINI Drivernya

aku dah buat, kerja dua kali emang. pertama ku buat rangkaian downloader dulu buat downloadtin program ke mikronya trus buat rangkaian di atas tapi alhamdulilah jadi juga. dan bisa bekerja pada baurate 2400, 9600 sama 38400.. lumayan kalo buat jalankan hiperterminal mah ada tuh pake 9600 jalan koq .. hasil tampilan ga rusak.


Gambar downloader mendadak buat pake PCB Bolong

kalo cuman buat downloadkan program doang mah ga usah bagus" toh cuman sekali pake doang,.
nih Hasilnya yang USB Serial Converternya :

jelek" buatan sendiri..hehehe

selamat mencoba dech..


ADC

Kamis, 04 Maret 2010
(ADC) Analog Digital Converter
kita langsung aja ya kita bahas tentang ADC dengan aplikasinya kalo mau tiori" di browsing aja di gogle banyak koq. sekarang kita akan membuat ADC pake potensio aja dengan tampilan LCD.

Nah kalo udah di buat kayak gini hubungkan dech di PORT ADC nya si mikro. kalo udah kita buat programnya pake codevision AVR :

1. Setting ADC nya dulu

Setting di CV AVR kayak gini ya..
trus kita buat tampilan LCD di PORTC aja seperti ini :


nah kalo udah kedua tab itu di setting kita buat program nya alias nambahin doank sih..soalnya CV avr udah nyediain library yang cukup buat kita tambahin dikit doang :
begini kira-kira prgramnya

/********************************
//ADC pake Potensio
*********************************/
#include (mega16.h> // tandanya buka kurungnya di ganti ya.. jadi < #include (stdio.h>
#include (delay.h>

#asm
.equ __LCD_port=0x15
#endasm
#include (lcd.h>

#define ADC_VREF_TYPE 0x00
unsigned int read_adc (unsigned char adc_input)
{
ADMUX=adc_input|ADC_AREF_TYPE;
ADCSRA|=0x40;
while ((ADCSRA & 0x01) = =0);
ADCSRA|=0x01;
return
}
void main (void)
{
char lcd_buffer[33]
float Technokit;
unsigned int temp;
ACSR=0x81;
SFIOR=0x00;
ADMUX=ADC_AREF_TYPE;
ADCSRA=0x87;
lcd_init (16);

while (1)

{
temp=read_adc(0);
Technokit=((float)temp*0,000488 // perhitungan dengan kristal yang di hunakan
lcd_gotoxy(0,0);
sprintf(lcd_buffer,"Analog:%0.001f",Technokit");
lcd_puts(lcd_buffer);
temp=read_adc(0);
Technokit=((float) temp*1);
lcd_gotoxy(0,1);
sprintf(lcd_buffer,"DIGITAL:%f",Technokit");
lcd_puts(lcd_buffer);
delay_ms(1000);
};
}


selesai dech, kalo gitu coba compile trus downloadkan dech ke mikro bis tu coba di puter-puter potensio tadi yang udah ke hubung ke mikro dan VCC 5 volt.
jadi program itu kita pake 8 bit nah kalo ada kita inputkan tegangan 0 volt makan hasil konversinya menjadi 0 sajah nah kalo pake tegangan 5 volt maka akan menjadi 1023, sebenernya sih 1024. tapi kan kita ngitungnya dari 0 - 1023.. gitu ceritanya.

download sintak C nya

ada yang tau ga kalo ku masukin library mega ..... koq ga ke tampil ya..di blogger..sial tenan jadi kayak kurang dech scrip programnya..
kalo masih bermasalah pindah ke wordpres kayaknya.

Kompas CMPS03

Selasa, 16 Februari 2010

Kompas merupakan alat untuk navigasi untuk penunjuk arah, dalam blog ini menyajikan kompas magnetik sebagai penunjuk arah yang biasa di gunakan pada robot KRCI sebagai navigasi robot pada arah mana. Penggunaan kompas CMPS03 menggunakan jalur I2C.
Mikrokontroller yang saya gunakan adalah AVR ATmega16 dan bahasa C.

Beberapa komponen saya tambahkan dalam kompas ini untuk komunikasi kompas dengan mikrokontroller AVR ATmega16.
modul kompas membutuhkan tegangan 5 V pada nominal 15mA karena menggunakan I2C kita menggunakan 5 jalur sajah yaitu :
  1. VCC + 5 V pada pin 1
  2. SCL dengan Full_Up resistor 10 K
  3. SDA dengan pull_Up resistor 10 K
  4. Calibrate pada PIN 6 yang terhubung swicth tactile
  5. Ground pada PIN9
untuk melihat hasil pembacaan di tampilkan pada LCD 2x16 carakter pada PORT C.
nah jika sudah terhubung semuanya coba masukan program berikut ini :


#include .....
// I2C Bus functions
#asm
.equ __i2c_port=0x12 ;PORTD
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include
// LM75 Temperature Sensor functions
#include
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include
void convertToLCDStr(unsigned char inByte)
{
unsigned char data;
data = inByte / 100;
data+=0x30;
lcd_putchar(data);

inByte%=100;
data = inByte / 10;
data+=0x30;
lcd_putchar(data);

inByte%=10;
data = inByte + 0x30;
lcd_putchar(data);
}
void main(void)
{
// I2C Bus initialization
i2c_init();

// LCD module initialization
lcd_init(16);
while (1)
{
lcd_gotoxy(0,0);
i2c_start();
i2c_write(0xC0); // alamat CMPS03 & operasi tulis
i2c_write(1); // register 1 yang ingin diakses untuk bearing byte
i2c_start();
i2c_write(0xC1); // alamat CMPS03 & operasi baca
convertToLCDStr(i2c_read(0)); // baca tanpa sinyal ACK
i2c_stop();
};
}

Compile download kan ke Mikro AVR ATmega16 anda, lihat hasil yang di tampilkan pada LCD anda jika kurang cocok anda calibrate kompas dengan cara :
jalibarasi CMPS03, agar benar sesuai dengan sudut data sheet maka arahkan pada utara

tekan swcth tictale dengan 4 arah yaitu Utara, Timur, selatan dan barat. masing dapat 1 kali swcith sajah. hasil kalibrasi akan di simpan di EEPROM kompas itu sendiri.
begitulah kira untuk bahasan sederhana kali ini untuk aplikasi pada robot agar lebih kompleks lagi akan saya bahas berikutnya.

Gambar Uji coba Kompas Menggunakan KIT modul TechnoKIT.
semoga bermanfaat.

Sensor Jarak SRF04

Senin, 15 Februari 2010

Sensor JarakSRF04 yang biasa digunakan untuk navigator mobile robot KRCI, sensor ini cukup akurat dalam pembacaannya
Prinsip kerja sensor ini adalah transmitter mengirimkan seberkas gelombang ultrasonik, lalu hasil hasil pantul pancaran pengirim diukur dalam bentuk waktu, Lamanya waktu ini sebanding dengan dua kali jarak sensor dengan obyek, sehingga jarak sensor dengan obyek dapat ditentukan persamaan dengan rumus jarak = kecepatan_suara × waktu_pantul/2

Sensor Jarak SRF04 mampu mendeteksi jarak sekitar 300 cm. jika Dibandingkan dengan sensor ultrasonik lain, seperti PING, SRF04 mempunyai kemampuan yang setara, yaitu rentang pengukuran antara 3 cm – 3 m, dan output yang sama, yaitu panjang pulsa. Meski cara pengoperasiannya juga mirip, namun kedua sensor tersebut berbeda jumlah pin I/O-nya, yaitu 2 untuk SRF04 dan 1 untuk PING. Jika boleh memilih di antara keduanya, penulis cenderung untuk memilih PING dengan pertimbangan harga dan juga adanya lampu indikator yang menunjukkan kondisi PING sedang aktif, selain juga jumlah pin I/O yang lebih sedikit.

Coba dengan program tampilkan di LCD Download Program disini

USB_MkII_Downloader

Alat komunikasi/ Converter USB to ISP

digunakan untuk mendownload program ke mikrokontroler anda melalui terminal USB, kecepatan lebih maksimal jika di bandingkan dengan paralel port.
memudahkan anda bagi pengguna Laptop yang sudah tidak memiliki terminal Paralel Port,

agar alat ini dapat berkomunikasi dengan komputer maka dibutuhkan driver, Download Driver DiSini

dan instalasinya Download Cara Instalasi Sini

IDE ini membutuhkan konfigurasi agar bekerja secara maksimal, dan software yang di gunakan benar-benar tepat. Download Cara konfigurasi nya disini

Download pdf

Jumat, 12 Februari 2010
Download_DataSheet_ATmega_8
Download_DataSheet_ATmega_16
Download_DataSheet_ATmega_32
Download_DataSheet_ATmega_8515
Download_DataSheet_ATmega_8535