Modul 1
(Percobaan 1 Kondisi 6)
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
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Rangkaian Simulasi :
Saat program dijalankan dan di masukan ke arduino, pesan "Masukkan password:" ditampilkan di LCD. Selanjutnya, program terus berjalan dalam loop utama, menunggu input dari pengguna. Jika ada input dari keypad dan password belum dimasukkan, karakter tersebut ditampilkan di LCD, memungkinkan pengguna memasukkan karakter password satu per satu. Ketika sensor sentuh terdeteksi dan password belum dimasukkan, pesan di LCD dihapus dan diganti dengan "Password:", menandakan dimulainya proses memasukkan password. Selanjutnya, program memasuki loop untuk membaca input dari keypad dan menampilkannya di LCD. Proses ini berlanjut hingga tombol "#" ditekan, menandakan bahwa pengguna telah selesai memasukkan password. Setelah itu, program kembali ke awal, siap untuk memulai proses memasukkan password lagi jika diperlukan. Saat disimulasikan di Proteus, prinsip kerja akan sama dengan di dunia nyata, di mana pengguna akan melihat pesan dan interaksi yang sama pada layar LCD dan keypad.
4. Flowchart dan Listing Program [Kembali]
Flowchart
Listing Program
const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
#define BUTTON_1 A0
#define BUTTON_2 A1
#define BUTTON_3 A2
#define BUTTON_4 A3
#define BUTTON_5 A4
#define BUTTON_6 A5
#define BUTTON_7 12
#define BUTTON_8 13
void setup()
{
Serial.begin(9600);
pinMode(BUTTON_1, INPUT);
pinMode(BUTTON_2, INPUT);
pinMode(BUTTON_3, INPUT);
pinMode(BUTTON_4, INPUT);
pinMode(BUTTON_5, INPUT);
pinMode(BUTTON_6, INPUT);
pinMode(BUTTON_7, INPUT);
pinMode(BUTTON_8, INPUT);
for (int i = 0; i < 8; i++)
{
pinMode(ledPins[i], OUTPUT);
}
}
void loop()
{
int button7 = digitalRead(BUTTON_7);
int button8 = digitalRead(BUTTON_8);
int button6 = digitalRead(BUTTON_6);
int button5 = digitalRead(BUTTON_5);
int button4 = digitalRead(BUTTON_4);
int button3 = digitalRead(BUTTON_3);
int button2 = digitalRead(BUTTON_2);
int button1 = digitalRead(BUTTON_1);
// Matikan semua LED terlebih dahulu
for (int i = 0; i < 8; i++)
{
digitalWrite(ledPins[i], LOW);
}
// Hidupkan LED sesuai dengan tombol yang ditekan
if (button1 == HIGH && button2 == HIGH && button3 == HIGH) { // Jika 3 tombol pertama ditekan
digitalWrite(ledPins[0], HIGH);
digitalWrite(ledPins[1], HIGH);
digitalWrite(ledPins[2], HIGH);
} else if (button4 == HIGH && button5 == HIGH && button6 == HIGH) { // Jika tombol 4, 5, dan 6 ditekan
for (int i = 0; i < 7; i++) { // LED running dengan 6 LED
digitalWrite(ledPins[i], HIGH);
delay(100); // delay untuk efek bergerak
digitalWrite(ledPins[i], LOW); // matikan LED sebelum pindah ke LED berikutnya
}
} else if (button7 == HIGH && button8 == HIGH) { // Jika 2 tombol terakhir ditekan
for (int i = 0; i < 6; i++) { // LED running dengan 6 LED
digitalWrite(ledPins[i+1], HIGH); // LED bergerak ke kanan
delay(100); // delay untuk efek bergerak
digitalWrite(ledPins[i], LOW); // matikan LED sebelum pindah ke LED berikutnya
}
}
}
Kondisi : Percobaan 1 Kondisi 6
3 button menghidupkan 3 LED, 2 button menghidupkan 7 LED running
6. Video Simulasi [Kembali]
HTML klik disini
File Rangkaian klik disini
Video Percobaan klik disini
Video Percobaan klik disini
Listing Program klik disini
Datasheet Arduino klik disini
Datasheet Switch klik disini
Datasheet LED klik disini
Tidak ada komentar:
Posting Komentar