Percobaan 1 - Komunikasi UART





1. Hardawe [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]





Analisa saat kita menggunakan 2 led di slave dengan pin yang berbeda!

Pada rangkaian, kita menggunakan 1 led di slave. Jika kita gunakan 2 led, mungkin led yang kedua tidak akan berfungsi jika program slave tidak diubah, karena led kedua tidak dideklarasikan di slave. Namun jika kita membuat rangkaian led 2 sama seperti led 1, dan push button terhubung ke led 2, di program juga sudah ditambahkan led 2 (sama seperti program untuk led 1, hanya beda pin) pada slave, maka led 2 akan menyala dan mati bersamaan dengan led 1, berdasarkan perintah pada programnya.

 



6. Link Download [kembali]






.

No comments:

Post a Comment