LED menyala ketika push button ditekan (komunikasi UART)
1. Arduino UNO
2. Breadboard
3. Kabel jumper
4. Kabel USB
5. LED
6. Resistor
7. Push Button
Listing Program
MASTER
#define button 2 //Deklarasi pin 2 untuk button
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button,INPUT_PULLUP);
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(button);
//ditekan
if(nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(200);
}
SLAVE
#define led 12 //Deklarasi pin 12 untuk LED
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led,OUTPUT); //Deklarasi LED sebagai output
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
if(Serial.available()>0)
{
int data = Serial.read();
if(data=='1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led,HIGH); //LED menyala
}
else
{
digitalWrite(led,LOW); //LED mati
}
}
}
Pada rangkaian percobaan 1 ini akan menghidupkan LED apabila push button ditekan. Komponen yang digunakan yaitu 2 buah arduino masing-masing sebagai master dan slave dimana keduanya menggunakan komunikasi UART, push button, resistor, dan LED sebagai output.
Cara kerja komunikasi UART adalah data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.
Pada arduino master, button di deklarasikan sebagai input pada pin 2. Jika button di tekan, maka serial print pada serial monitor akan menampilkan angka 1, jika tidak ditekan maka akan menampilkan angka 2. Pada arduino slave, deklarasi LED sebagai output pada pin 12, arduino slave akan menerima data dari master. Saat push button di tekan, maka LED akan menyala, jika tidak ditekan maka LED akan mati. Arduino master dan slave sama-sama menggunakan baudrate sebesar 9600.
1. Berdasarkan percobaan yang telah dilakukan dengan memvariasikan nilai baudrate pada slave, master, dan serial monitor. Bagaimana output yang dihasilkan? Apakah LED di setiap variasi itu hidup atau bagaimana? Jelaskan output yang dihasilkan dari setiap variasi beserta alasan dan penjelasannya dengan lengkap!
Variasi 1:
Master (9600)
Slave(9600)
Serial monitor (9600)
Pada variasi 1 output yang dihasilkan yaitu LED menyala ketika push button ditekan, dan tidak menyala ketika push button tidak ditekan. LED bisa menyala sesuai kondisi karena nilai baudrate yang digunakan antara master dan slave sama, dan pada serial monitor ketika push button ditekan maka akan muncul angka 1 jika tidak ditekan maka akan muncul angka 2. Dan hal tersebut sudah sesuai dengan program yang telah dibuat.
Variasi 2:
Master (115200)
Slave(115200)
Serial monitor (115200)
Pada variasi 2 output yang dihasilkan sama dengan output pada variasi 1. Dimana LED menyala sesuai dengan kondisi, dan pada serial monitor menampilkan angka 1 ketika push button ditekandan menampilkan angka 2 ketika push button tidak ditekan. Yang membedakan antara variasi 2 dan 1 adalah kecepatan transfer data. Pada variasi 1 kecepatannya adalah 9600 bps dan pada variasi 2 kecepatannya adalah 115200 bps.
Variasi 3:
Master (9600)
Slave(115200)
Serial monitor (9600)
Pada variasi 3 LED sebagai output tidak menyala sesuai kondisi. Hal tersebut disebabkan karena adanya perbedaan nilai baudrate antara master dan slave. Dan pada serial monitor slave tidak menampilkan angka 1 atau 2 seperti pada variasi 1 dan 2.
2. Apa yang terjadi jika salah satu pin Tx dari slave maupun pin Tx dari master diputus? Apakah LED tetap menyala?
Jika pin Tx diputus maka LED tidak akan menyala, karena pin Tx bertugas mentransmisikan data secara serial dari Tx UART1 ke Rx UART2. Jika diputus maka data tidak bisa ditransmisikan.
File HTML download
File Program Arduino Master download
File Program Arduino Slavedownload
File Datasheet Arduino download
File Datasheet LED download
File Datasheet Resistor download
File Library Arduino download
File Video Simulasi download
Tidak ada komentar:
Posting Komentar