DAFTAR ISI
1. Prosedur
2. Hardware dan Diagram Blok
3. Rangkaian Simulasi dan Prinsip Kerja
4. Flowchart dan Listing Program
5. Kondisi
6. Video Demo
7. Datasheet
MODUL 1: GENERAL INPUT-OUTPUT
Selasa, 5 Maret 2024
Laporan Akhir 2
1. Prosedur
a. Susunlah seperti rangkaian yang ada,
b. Buka Arduino IDE dan masukkan listing program,
c. Unggah program ke Arduino, dan
d. Variasikan tombol yang ditekan dan perhatikan keluarannya pada LED.
2. Hardware dan Diagram Blok
Rangkaian ini menggunakan komponen berikut: Arduino Uno, push button, resistor, dan LED. Push button terhubung ke pin input analog pada Arduino (A0 - A5), sedangkan LED terhubung ke pin output Arduino (2-6). Saat push button ditekan, pin input yang sesuai mendeteksi perubahan tegangan dan mengirimkan sinyal ke mikrokontroler. Mikrokontroler kemudian mengaktifkan pin output untuk menyalakan LED pada frekuensi tertentu, sehingga menyebabkan LED berkedip. Resistor digunakan untuk membatasi aliran arus ke LED agar tidak rusak dan untuk konfigurasi pull-down, memastikan pin input berfungsi dengan baik.
Dalam program, kondisi aktif LOW menunjukkan bahwa ketika Arduino terhubung ke sumber daya, semua LED mati. Saat tombol ditekan (masing-masing tombol mewakili LED tertentu), terjadi proses pull-down di mana tegangan dari sumber daya mengalir ke LED bukan ground akibat tertahan oleh resistor sehingga LED menyala. Ketika tombol dilepaskan, LED akan kembali mati.
4. Flowchart dan 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], 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);
}
5. Kondisi
Pada percobaan kali ini, kami melakukan percobaan ke-1 dengan menggunakan LED dan switch.
6. Video Demo
7. Datasheet



0 Komentar