LA1

    [KEMBALI KE MENU SEBELUMNYA]  




LAPORAN AKHIR 2
KOMUNIKASI


1. Prosedur  [back]

Langkah-langkah percobaan :

1. Rangkai semua komponen sesuai kondisi yang dipilih

2. buat program di aplikasi arduino IDE

3. setelah selesai masukkan program ke arduino di proteus

4. jalankan program pada simulasi dan cobakan sesuai dengan modul dan kondisi

5. Selesai


2. Hardware dan diagram blok [back]

  • a. Arduino

     


    LED


    • Dipswitch 
    • Diagram Blok



3. Rangkaian Simulasi dan Prinsip Kerja  [back]






 Prinsip Kerja

     Dalam percobaan tersebut, kita menggunakan komunikasi UART antara dua Arduino, di mana satu berperan sebagai master dan yang lainnya sebagai slave. Tugas master adalah mengirim data, sementara slave bertanggung jawab untuk menerima dan mengolahnya. Komunikasi serial UART ini menggunakan metode asinkron, yang berarti tidak ada clock tunggal yang disinkronkan antara pengirim dan penerima. Data dikirim secara berurutan, dan penerima harus mengetahui kapan setiap bit data diharapkan tiba. Pada Arduino master, terdapat dip switch yang, jika ditekan, akan mengirimkan data ke Arduino slave melalui pin RX dan TX. Arduino slave kemudian membaca data yang diterima melalui komunikasi ini, sehingga dapat menyalakan LED sebagai responsnya.


4. Flowchart dan Listing Program  [back]
Master



        Slave

Flowchart:
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

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  [back]
  
Percobaan 1 UART

6. Video Demo  [back]




7. Download File  [back]
HTML klik
Simulasi klik
Video demo klik
Listing Program klik
Datasheet led klik
Datasheet switch klik





Tidak ada komentar:

Posting Komentar