LA 1 M3

 



Percobaan 1

 Komunikasi UART Menggunakan Arduino


1. Foto Hardware dan Diagram Blok [Kembali]

       
  1. Arduino Uno



        2. Push Button




      3. LED



     

Diagram Blok:



2. Prosedur Percobaan  [Kembali]

Rangkai semua komponen 
+ Buka Arduino IDE dan masukan listing Program
+ Upload program ke arduino
+ jalankan program pada simulasi dan cobakan dengan modul




Prinsip Kerja

    Rangkaian ini melibatkan dua Arduino, yaitu master dan slave. Master bertugas mengirimkan data, sementara slave menerima data dan mengendalikan LED. Kedua Arduino berkomunikasi melalui UART, sebuah antarmuka komunikasi serial.

Pada sisi master, data yang dikirimkan adalah representasi digital dari posisi switch. Jika switch aktif, data yang dikirim adalah angka 1 (tinggi), jika tidak aktif, data yang dikirim adalah angka 0 (rendah). Data ini dikirim melalui pin TX pada master menuju pin RX pada slave melalui jalur komunikasi serial.

Di sisi slave, data yang diterima dari master melalui pin RX diubah menjadi nilai digital 1 atau 0. Nilai ini menentukan LED mana yang akan dinyalakan. Logika umumnya adalah: jika nilai yang diterima adalah 1, maka LED tertentu akan dinyalakan. Untuk menyalakan LED selanjutnya, tombol sebelumnya juga harus ditekan bersamaan, dan seterusnya hingga lampu ke-8.

Dengan demikian, rangkaian ini memungkinkan master untuk mengontrol LED pada slave dari jarak jauh. Master mengirimkan instruksi digital melalui UART, dan slave menginterpretasikan instruksi tersebut untuk menyalakan LED sesuai dengan pola yang telah ditentukan.

4. Flowchart dan Listing Program [Kembali]

Master Arduino:



Slave Arduino: 





Listing Program:

Master
//MASTER
#define DS1 2
#define DS2 3
#define DS3 4
#define DS4 5
#define DS5 6
#define DS6 7
#define DS7 8
#define DS8 9
bool b1,b2,b3,b4,b5,b6,b7,b8;
void setup() 
 Serial.begin(9600);
 pinMode(DS1, INPUT_PULLUP);
 pinMode(DS2, INPUT_PULLUP);
 pinMode(DS3, INPUT_PULLUP);
 pinMode(DS4, INPUT_PULLUP);
 pinMode(DS5, INPUT_PULLUP);
 pinMode(DS6, INPUT_PULLUP);
 pinMode(DS7, INPUT_PULLUP);
 pinMode(DS8, INPUT_PULLUP);
}
void loop()
{
 int b8 = digitalRead(DS8);
 int b7 = digitalRead(DS7);
 int b6 = digitalRead(DS6);
 int b5 = digitalRead(DS5);
 int b4 = digitalRead(DS4);
 int b3 = digitalRead(DS3);
 int b2 = digitalRead(DS2);
 int b1 = digitalRead(DS1);
 // Hidupkan LED sesuai dengan tombol yang ditekan
 if (b8 == LOW)
 {
 Serial.write('8');
 }
 else if (b7 == LOW)
 {
 Serial.write('7');
 }
 else if (b6 == LOW)
 {
 Serial.write('6');
 }
 else if (b5 == LOW)
 {
 Serial.write('5');
 }
 else if (b4 == LOW)
 {
 Serial.write('4');
 }
 else if (b3 == LOW)
 {
 Serial.write('3');
 }
 else if (b2 == LOW)
 {
 Serial.write('2');
 }
 else if (b1 == LOW)
 {
 Serial.write('1');
 }
 delay(20);
}



Slave

//SLAVE
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char message;
void setup() 
 Serial.begin(9600);
 for (int i = 0; i < 8; i++)
 {
 pinMode(led[i], OUTPUT);
 }
}
void loop()
{
 if (Serial.available())
{
 message = Serial.read();
 if (message == '1')
 {
 digitalWrite(led[0], 1);
 }
 else if (message == '2')
 {
 digitalWrite(led[1], 1);
 }
 else if (message == '3')
 {
 digitalWrite(led[2], 1);
 }
 else if (message == '4')
 {
 digitalWrite(led[3], 1);
 }
 else if (message == '5')
 {
 digitalWrite(led[4], 1);
 }
 else if (message == '6')
 {
 digitalWrite(led[5], 1);
 }
 else if (message == '7')
 {
 digitalWrite(led[6], 1);
 }
 else if (message == '8')
 {
 digitalWrite(led[7], 1);
 }
}
 delay(20);
 digitalWrite(led[0], 0);
 digitalWrite(led[1], 0);
 digitalWrite(led[2], 0);
 digitalWrite(led[3], 0);
 digitalWrite(led[4], 0);
 digitalWrite(led[5], 0);
 digitalWrite(led[6], 0);
 digitalWrite(led[7], 0);
}


5. Kondisi [Kembali]

Ketika botton 1 di tekan maka akan menghidupkan led 1, untuk menghidupkan led selanjutnya maka button sebelumnya juga harus di tekan secara bersamaan, begitu seterusnya sampai lampu ke 8.



Download HTML klik disini

Download Video Percobaan klik disini

Download Program Master klik disini

Download Program Slave klik disini

Download Datasheet Arduino klik disini

Download Datasheet LED klik disini

Download Datasheet Push Button klik disini

    










Komentar

Postingan populer dari blog ini