LA 1

 



Percobaan 1

 Komunikasi UART Menggunakan Arduino


1. Foto Hardware dan Diagram Blok [Kembali]

        1. Arduino Uno


        2. LCD




        3. IC PCF8574

      

 

      4. DIP Switch

 

      5. L293D
 

 

      6. Motor DC
   

 

      7. Potensiomotor
   

 

      8. Baterai


        9. Resistor



       10. Power Supply



     11. Ground


Diagram Blok:



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
   Pada rangkaian percobaan ini arduino master ini data yang dikirimkan yaitu representasi digital dari kondisi switchnya.  pada saat switchnya aktif, data yang dikirim adalah angka 1, sebaliknya pada saat tidak aktif data yang dikirim adalah angka 0.  Data ini akan dikirimkan melalui pin TX pada arduino master menuju pin RX pada arduino slave melewati jalur komunikasi serial.

  sedangkan pada arduino slave ini data yang diterima dari arduino master melalui pin RX diubah menjadi nilai digital 1 atau 0.  Nilai inilah yang kemudian menentukan LED  yang akan menyala. 

    rangkaian ini memungkinkan arduino master untuk mengontrol LED pada slave dari kondisi jarak jauh. arduino Master ini akan mengirimkan instruksi digital melalui UART, dan arduino slave berperan sebagai penerjemah instruksi tersebut untuk menyalakan LED sesuai dengan pola yang telah dtetapkan


4. Flowchart dan Listing Program [Kembali]

Arduino Master :

Arduino Slave :




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.












Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2022 Oleh : Anugrah Illahi NIM. 2110951013   Dosen Pengampu : Dr. Darwison, S. T., M. T. NIDN...