1. Foto Hardware dan Diagram Blok [Kembali]
Diagram Blok:
2. Prosedur Percobaan [Kembali]
- Rangkai semua komponen
- Buat program di aplikasi arduino IDE
- Setelah selesai masukkan program ke arduino
- Jalankan program pada simulasi dan cobakan dengan modul
Prinsip Kerja
Pada rangkaian ini menggunakan komponen antara lain yaitu mikrokontroler (ATMEGA328P-PU), dip switch, resistor, LED.
Percobaan kali ini menggunakan DIP Switch sebagai input yang terhubung pada Arduino pemberi informasi di pin 2-9. Sedangkan LED terhubung dengan Arduino penerma informasi di pin 2-9. Masing-masing pin 0 dan 1 saling terhubung antar arduino secara terbalik (Rx ke Tx, Tx ke Rx) sebagai komunikasi serial antar arduino.
Sesuai dengan kondisi yang telah dipilih, dari codingan arduino pemberi informasi menghitung setiap dipswitch berlogika OFF. Bila total dipswitch yang berlogika 0 ada 4, maka arduino pemberi akan menuliskan karakter 4 dan akan dikirimkan ke arduino penerima dengan komunikasi serial. Pada arduino penerima informasi, akan membaca char 4 yang dikirim sebagai message, dan menjalankan komando untuk mengaktifkan LED 2 teratas. Dan begitupula bila ada 7 dipswitch yang berlogika 0, maka arduino pengirim mengirimkan data char 7, dan arduino penerima yang membacanya menjalankan perintah yang mengaktifkan LED yang ke 5.
4. Flowchart dan Listing Program [Kembali]
Arduino 1 (pemberi informasi)
Arduino 2 (penerima informasi)
Listing Program Arduino 1:
int DS[] = {2, 3, 4, 5, 6, 7, 8, 9};
void setup()
{
Serial.begin(9600);
for (int i = 2; i <= 9; i++)
{
pinMode(DS[i], INPUT);
}
}
void loop()
{
int count = 0;
for (int i = 2; i <= 9; i++) {
count += digitalRead(i);
}
if (count == 4)
{
Serial.write('A');
}
else if (count == 7)
{
Serial.write('B');
}
delay(20);
}
Listing Program Arduino 2:
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
char message;
void setup()
{
Serial.begin(9600);
for (int i = 2; i <= 9; i++)
{
pinMode(led[i], OUTPUT);
}
}
void loop()
{
if (Serial.available())
{
message = Serial.read();
if (message == 'A')
{
digitalWrite(led[6], 1);
digitalWrite(led[7], 1);
}
else if (message == 'B')
{
digitalWrite(led[5], 1);
}
}
delay(20);
//Mematikan semua LED
for (int i = 2; i <= 9 ; i++){
digitalWrite(led[i], 0);
}
}
Percobaan 1 Kondisi 2 : "Semua Switch dalam kondisi Pull-down, 7 switch mengaktifkan 1 led sementara 4 switch mengaktifkan 2 led"
- HTML↠ klik disini
- File Rangkaian↠ klik disini
- Video Percobaan↠ klik disini
- Listing Program↠ arduino 1 arduino 2
- Datasheet Arduino↠ klik disini
- Datasheet LED↠ klik disini
- Datasheet Dipswitch↠ klik disini










0 Komentar