DAFTAR ISI
1. Hardware [Kembali]
2. Rangkaian Simulasi [Kembali]

3. Flowchart [Kembali]
4. Listing Program [Kembali]
//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);
//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
}
}
}
|
5. Video [Kembali]
6. Analisa [kembali]
Bagaimana proses pengiriman data pada UART!
UART mengambil byte data yang masuk ke arduino dan mengirim data tersebut dalam bentuk bit-bit data secara individual dan berurutan. Dengan kata lain, data masuk secara paralel ke UART yang telah disetting sebagai master, lalu data tersebut dikirim secara seri dan berurutan kepada UART yang disetting sebagai slave. Slave menerima data yang diberikan oleh master satu persatu (secara seri), lalu data tersebut dikirim sesuai tujuan dari masing-masing data. Pada percobaan ini, data yang diberikan oleh master adalah dalam bentuk kondisi. Jika button ditekan (1), maka master akan mengirim "1" kepada slave, namun jika sebaliknya, master akan mengirim "2" kepada slave. setelahnya, slave akan menerima dan memproses data tersebut, dimana jika data yang diterima slave adalah "1" maka LED menyala. tapi jika bukan "1" maka LED mati.
7. Link Download [Kembali]
1. Listing Program Master
2. Listing Program Slave
3. Video
Tidak ada komentar:
Posting Komentar