- Rangkai seluruh komponen alat dan bahan yang diperlukan sesuai dengan kondisi percobaan yang dipilih.
- Buat program arduino pada aplikasi Arduino IDE sesuai dengan kondisi percobaan. Pastikan aplikasi Arduino IDE sudah mendownload library yang dibutuhkan dan sudah memilih board arduino yang sesuai.
- Verifikasi atau upload program pada arduino.
- Jalankan atau uji coba rangkaian yang telah dibuat, dengan memvariasikan button sesuai dengan kondisi.
- Perhatikan tampilan output pada LED
- Rangkaian telah selesai dibuat.
2. Hardware dan Diagram Blok
[Kembali]
A. Hardware
3. Rangkaian Simulasi dan Prinsip kerja [Kembali]
A. Rangkaian Simulasi
B. Prinsip Kerja
Pada percobaan ini terdapat 8 buah button sebagai input dan 8 buah LED sebagai output yang mewakili setiap button tersebut. Pada mulanya LED dalam kondisi mati karena tidak ada button yang ditekan. Namun, ketika salah satu button ditekan, maka button tersebut akan memberikan sinyal kepada arduino, lalu arduino akan meneruskan sinyal tersebut ke LED.
1. Pada rangkaian simulasi LED disini bersifat forward bias, sehingga ketika sinyal keluaran bernilai 1 LED akan hidup. Berikut program ketika LED bersifat forward bias :
// Matikan semua LED terlebih dahulu
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], LOW);
}
// Hidupkan LED sesuai dengan tombol yang ditekan
if (b8 == HIGH) digitalWrite(led[7], HIGH);
if (b7 == HIGH) digitalWrite(led[6], HIGH);
if (b6 == HIGH) digitalWrite(led[5], HIGH);
if (b5 == HIGH) digitalWrite(led[4], HIGH);
if (b4 == HIGH) digitalWrite(led[3], HIGH);
if (b3 == HIGH) digitalWrite(led[2], HIGH);
if (b2 == HIGH) digitalWrite(led[1], HIGH);
if (b1 == HIGH) digitalWrite(led[0], HIGH);
}
2. Sedangkan pada rangkaian percobaan di praktikum, LED bersifat reverse bias. Sehingga, ketika sinyal keluaran bernilai 0 LED akan menyala. Berikut adalah program ketika LED bersifat forward bias :
// Matikan semua LED terlebih dahulu
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], HIGH);
}
// Hidupkan LED sesuai dengan tombol yang ditekan
if (b8 == HIGH) digitalWrite(led[7], LOW);
if (b7 == HIGH) digitalWrite(led[6], LOW);
if (b6 == HIGH) digitalWrite(led[5], LOW);
if (b5 == HIGH) digitalWrite(led[4], LOW);
if (b4 == HIGH) digitalWrite(led[3], LOW);
if (b3 == HIGH) digitalWrite(led[2], LOW);
if (b2 == HIGH) digitalWrite(led[1], LOW);
if (b1 == HIGH) digitalWrite(led[0], LOW);
}
4. Flowchart dan Listing Program
[Kembali]
A. Flowchart
B. Listing Program
int led[] = {2, 3, 4, 5, 6, 7, 8, 9};
#define PB1 A0
#define PB2 A1
#define PB3 A2
#define PB4 A3
#define PB5 A4
#define PB6 A5
#define PB7 12
#define PB8 13
void setup() {
Serial.begin(9600);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
pinMode(PB5, INPUT);
pinMode(PB6, INPUT);
pinMode(PB7, INPUT);
pinMode(PB8, INPUT);
for (int i = 0; i < 8; i++) {
pinMode(led[i], OUTPUT);
}
}
void loop() {
int b7 = digitalRead(PB7);
int b8 = digitalRead(PB8);
int b6 = digitalRead(PB6);
int b5 = digitalRead(PB5);
int b4 = digitalRead(PB4);
int b3 = digitalRead(PB3);
int b2 = digitalRead(PB2);
int b1 = digitalRead(PB1);
// Matikan semua LED terlebih dahulu
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], LOW);
}
// Hidupkan LED sesuai dengan tombol yang ditekan
if (b8 == HIGH) digitalWrite(led[7], HIGH);
if (b7 == HIGH) digitalWrite(led[6], HIGH);
if (b6 == HIGH) digitalWrite(led[5], HIGH);
if (b5 == HIGH) digitalWrite(led[4], HIGH);
if (b4 == HIGH) digitalWrite(led[3], HIGH);
if (b3 == HIGH) digitalWrite(led[2], HIGH);
if (b2 == HIGH) digitalWrite(led[1], HIGH);
if (b1 == HIGH) digitalWrite(led[0], HIGH);
}
Percobaan 1 LED & Switch (sesuai modul 1) :
Ketika button ditekan maka LED akan hidup sesuai dengan button keberapa yang ditekan.
Video Demo
0 komentar:
Posting Komentar