Percobaan 1 Kondisi 4

Tugas Pendahuluan 1




Modul 3
Communication

1. Prosedur
 [Kembali]

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 [Kembali]
      1. Arduino Uno

      2. LED

      4. Resistor
      5. Power Supply
      6. Ground
      7. Dipswitch

Diagram Blok :


3. Rangkaian Simulasi dan Prinsip kerja [Kembali]

→ Gambar Rangkaian 
                               
                                        



PRINSIP KERJA
Pada rangkaian terdapat dua arduino, yang digunakan sebagai arduino master dan arduino slave. Arduino master terhubung dengan dip switch dan arduino slave terhubung dengan LED. Dipswitch dihubungkan dengan kaki 2,3,4,5,6,7,8,9 arduino master dan LED terhubung pada kaki 2,3,4,5,6,7,8,9 arduino slave. Ketika 1 DIP switch yang di aktifkan maka LED akan running dari LED 1 sampai LED 8. Apabila 3 switch yang diaktifkan maka 3 LED akan blink, sesuai yang diatur pada program.
4. FlowChart [Kembali]

a. 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); // Menghitung jumlah button yang ditekan int pressedCount = 0; pressedCount = b8 + b7 + b6 + b5 + b4 + b3 + b2 + b1; if (pressedCount == 7){ Serial.write('1'); } else if (pressedCount == 5){ Serial.write('3'); } else{ Serial.write('0'); } delay(20); }

//SLAVE
int led[] = {2, 3, 4, 5, 6, 7, 8, 9}; int 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 == '3') { for (int i = 0; i <= 7; i++) { digitalWrite(led[i], 0); // Menyalakan LED saat ini } digitalWrite(led[0], 1); digitalWrite(led[1], 1); digitalWrite(led[2], 1); } if (message == '1') { for (int i = 0; i <= 7; i++) { digitalWrite(led[i], 1); // Menyalakan LED saat ini delay(500); // Tunggu 500 ms digitalWrite(led[i], 0); // Matikan LED saat ini sebelum pindah ke LED berikutnya } } if (message == '0'){ for (int i = 0; i <= 7; i++) { digitalWrite(led[i], 0); // Menyalakan LED saat ini } } } message = 0; }

b. Flowchart
 

5. Kondisi [Kembali]
Kondisi  : Percobaan 1 Kondisi 4
        Semua Switch dalam kondisi Pull-up, 1 switch aktif mengaktifkan running led dari led 1 hingga 8 sementara 3 switch aktif mengaktifkan blinking led pada 3 led

6. Video Simulasi [Kembali]




7. Download File [Kembali]
Download Rangkaian klik disini
Download HTML klik disini
Download Video Simulasi klik disini
Download Datasheet ARDUINO UNO klik disini











Tidak ada komentar:

Posting Komentar