a. Arduino
b. LED
c. Push Button
Percobaan percobaan percobaan 1 tentang komunikasi UART. Alat dan bahan yang digunakan pada rangkaian adalah dua buah arduino, LED, dan button. Pada arduino, terdapat pin komunikasi yang digunakan, yaitu pin 1 (TXQ) sebagai transmitter dan pin 0 (RXQ) sebagai receiver.
Pada rangakain, push button dihubungkan ke pin 2 arduino. LED akan diberi perintah oleh arduino SLAVE. Arduino MASTER akan mengirim data ke arduino SLAVE dan arduino SLAVE nantinya juga akan mengirim data kembali ke arduino MASTER, hubungan ini disebut sebagai hubungan timbal balik. Pin TXQ pada arduino MASTER dihubungkan ke pin RXQ pada arduino SLAVE, begitupun sebaliknya, pin TXQ pada arduino SLAVE dihubungkan ke pin RXQ pada arduino MASTER, hubungan ini disebut hubungan UART menggunakan kabel.
Pada listing program arduino MASTER, setelah mendeklarasikan pin 2 sebagai input button, pada void setup dideklarasikan button sebagai input pull up. Input pull up membeikan kondisi LOW apabila button ditekan dan kondisi HIGH apabila button dilepas. Selanjutnya, pada void loop digunakan tipe data integer untuk nilai (pembacaan dan button) dan menggunakan kondisi if. Ketika button ditekan, nilai = 0, maka arduino MASTER akan mengirim data ke arduino SLAVE berupa data serial atau bit serial "1". Sebaliknya, jika button dilepas, nilai =/= 0, maka arduino MASTER akan mengirim data ke arduino SLAVE berupa data serial atau bit serial "2". Keadaan tersebut akan berganti terus-menerus dengan selang waktu 200 ms.
Pada listing program arduino SLAVE, setelah mendeklarasikan pin 12 sebagai input LED, pada void setup dideklarasikan bahwa LED sebagai output. Serial.begin berfungsi untuk melihat serial monitornya. Pada void loop, digunakan kondisi if, jika data serial yang masuk bernilai "1", maka LED akan dalam kondisi HIGH. Akan tetapi, jika data atau bit serial yang masuk bernilai "2", maka LED akan dalam kondisi LOW.
A. Arduino MASTER
B. Arduino SLAVE
A. Arduino MASTER//MASTER#define button 2void setup(){pinMode(button,INPUT_PULLUP);Serial.begin(9600);}void loop(){int nilai = digitalRead(button);//ditekanif(nilai == 0){Serial.print("1");}else{Serial.print("2");}delay(200);}B. Arduino SLAVE//SLAVE#define led 12void setup(){pinMode(led,OUTPUT);Serial.begin(9600);}void loop(){if(Serial.available()>0){int data = Serial.read();if(data=='1'){digitalWrite(led,HIGH);}else{digitalWrite(led,LOW);}}}
Komunikasi UART
1. Apa
yang terjadi jika kaki push button dihubungkan ke Vcc? Bagaimana pengaruhnya
terhadap output?
Jawab :
Jika kaki push button dihubungkan ke Vcc,
maka nilai hambatan akan semakin kecil dan akan membuat LED menyala lebih
terang.
2. Bagaimana
jika push button digantin menjadi switch SPDT? Apa pengaruhnya terhadap output?
Jawab :
Kondisinya akan sama dengan menggunakan
push button, karena prinsip kerjanya sama sama memutuskan atau menghubungkan
aliran arus listrik.
3. Jika
pada push button (input) dan led (output) ditambahkan resistor 100k, bagaimana
pengaruhnya terhadap jalannya rangkaian?
Jawab :
Hal ini akan menyebabkan LED tidak bisa
menyala karena hambatan 100k tersebut membuat arus listrik yang mengalir
semakin kecil sehingga tidak bisa menghidupkan LED.
4. Bisakah
menggunakan lebih dari 1 slave? Jelaskan alasannya!
Jawab :
Tidak bisa, karena komunikasi UART hanya bisa dilakukan antara 2 perangkat, yang mana salah satunya adalah master dan satunya lagi adalah slave).
8. Link Download [back]
Download video simulasi [di sini]Download rangkaian [di sini]Download HTML [di sini]Download library Arduino [di sini]Download listing program arduino MASTER [di sini]Download listing program arduino SLAVE [di sini]
Tidak ada komentar:
Posting Komentar