Postingan kali ini saya akan mencoba untuk membahas tentang komunikasi serial antar 2 mikrokontroller. hal ini dikarenakan rasa penasaran saya untuk menghubungkan 2 mikrokontroler, yang satu sebagai Master dan yg satu lagi sebagai Slave. dulu kasus ini pernah saya temui ketika membuat suatu robot, yang mana robot ini harus menggunakan lebih dari 1 mikrokontroler. kemudian untuk menghubungkan antar mikrokontroler tersebut saya menggunakan teknik port-pin (teknik yg paling simple & lucu) hehehe...,
Ok., langsung aja kita liat foto rangkaian komunikasi serial antar 2 mikrokontroler di bawah ini:
Gambar 2. Rangkaian mikrokontroler master-slave
Disini saya menggunakan 2 mikrokontroler AVR ATmega 32. dengan kristal 8 Mhz, seharus'y yg bagus utk komunikasi serial menggunakan kristal 11.059200 Mhz, supaya baudrate error'y 0.0%. Sensor ultrasonik yang saya gunakan HC-SR04 (sensor cina coy!), servo yang saya pakai micro gws, dan baterai yang saya gunakan adalah baterai lipo 2S 500mAh. Mikrokontroler yg dijadikan master (minsys yg warna hijau) berfungsi mengirimkan data (transmitter) dan Mikrokontroler yg di jadikan Slave(minsys yg warna biru) akan menerima data (Receiver) dari mikrokontroler (Master). supaya lebih gampang mungkin bisa melihat diagram blok di bawah ini:
Gambar 2. Diagram Blok.
Prinsip kerja dari diagram blok diatas yaitu mikrokntroler master akan mengaktifkan sensor ultrasonik pada PortB dan menampilkan data jarak pada LCD di PortC. Jika jarak yg di deteksi sensor ultrasonik kurang dari sama dengan (<=100 mm) maka mikrokontroler master akan mengirimkan karakter ke mikrokontroler slave, yang kemudian mikrokontroler slave akan menggerakan motor servo. Pengiriman karakter ini menggunakan komunikasi serial yang mana pada Mikro Master terhubung pada PortD.1 (Tx) dan Mikro Slave terhubung pada PortD.0 (Rx). dan satu lagi ground antar ke-2 mikrokontroler ini harus di satukan. Baudrate yg digunakan yaitu 9600. Untuk lebih jelas'y mungkin bisa dilihat video'y di akhir postingan ini.
Next..!! lanjut ke codevision AVR.
Pengaturan mikrokontroler, kristal, dan port B (sensor Us) menggunakan codewizard pada sisi Transmitter.
Gamar 3. Pengaturan Mikro,kristal,dan port sensor Us
Pengaturan USART dan LCD menggunakan codewizard pada sisi Transmitter.
Gambar 4. Pengaturan Usart dan LCD
Pengaturan mikrokontroler, kristal, dan usart menggunakan codewizard pada sisi Receiver.
Gambar 5. Pengaturan mikrokonroler, kristal, dan USART.
Berikut video dari komunikasi serial antar 2 mikrokontroler.
Sebenernya saya ingin melanjutkan komunikasi serial antar 3 mikro dengan 1 master dan 2 slave. Program sudah siap, akan tetapi mikrokontroler'y yg terakhir ternyata rusak. T.T. mungkin jika sudah ada mikrokontroler'y saya akan coba posting lanjutan dari komunikasi serial antar 2 mikrokontroler.
jika ada yg ingin di tanyakan silahkan komen aja. Ok..!!!