Laporan Akhir 1


Percobaan 1

Komunikasi UART Menggunakan Arduino

1. Prosedur [Kembali]

  • Rangkailah seperti rangkaian berikut
  • Buka Arduino IDE dan masukan listing program
  • Upload program master dan slave ke arduino
  • Amati keluarannya
Gambar 1. Rangkaian Hardware
 

   1. Arduino Uno

    2. DIP Switch

    3. LED



    4. Kabel jumper

    5. Breadboard


   


Diagram Blok:




        Pada percobaan 1 ini merupakan komunikasi UART antar dua arduino dengan menggunakan dipswitch sebagai input, sedangkan untuk output menggunakan LED. Ketika Dipswitch yang berfungsi sebagai pulldown di tekan maka akan mengirim data perintah ke arduino yang berperan sebagai Master kemudian mengirim Slave menerima data tersebut dengan cara komunikasi UART ini, Data dari arduino master dikirim melalui pin Tx (transmit) menuju pin Rx (receive) pada arduino slave dengan jalur komunikasi serial. Pada arduino slave, data yang diterima dari master melalui pin Rx diubah menjadi nilai digital 1 atau 0 untuk menghidupkan LED. Master mengirimkan instruksi digital melalui UART, dan slave menerjemahkan instruksi tersebut untuk menyalakan LED sesuai dengan pola yang telah ditentukan.
 

4. Flowchart dan Listing Program [Kembali]

Flowchart:
        Master
         Slave

Listing Program:

//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 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]

    Kondisi percobaan 1 sesuai modul 3

᭒ HTML↠ klik disini
᭒ Gambar Rangkaian ↠ klik disini
᭒ Video Demo ↠ klik disini
᭒ Listing Program ↠ klik disini
᭒ Datasheet LED ↠ klik disini
᭒ Datasheet Arduino Uno  ↠ klik disini
᭒ Datasheet Switch ↠ klik disini

















Tidak ada komentar:

Posting Komentar

Unggulan

Aplikasi Encoder Decoder

APLIKASI ROLLING TOKO OTOMATIS [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan ...