#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
int tombol = 2;
int led_hijau = 3;
int led_kuning = 4;
int led_merah = 5;
int jumlahTekanan;
void setup()
{
pinMode(tombol, INPUT);
pinMode(led_hijau, OUTPUT);
pinMode(led_kuning, OUTPUT);
pinMode(led_merah, OUTPUT);
}
void loop()
{
int statusTombol = digitalRead(tombol);
if (statusTombol==HIGH) {
jumlahTekanan ++;
delay(200);
if(jumlahTekanan==1){
digitalWrite(led_hijau,HIGH);
lcdmonitor();
lcdmonitor1();
}
else if(jumlahTekanan==2){
digitalWrite(led_hijau, LOW);
lcdmonitor();
lcdmonitor2();
}
else if(jumlahTekanan==3){
digitalWrite(led_kuning, HIGH);
lcdmonitor();
lcdmonitor3();
}
else if(jumlahTekanan==4){
digitalWrite(led_kuning, LOW);
lcdmonitor();
lcdmonitor4();
}
else if(jumlahTekanan==5){
digitalWrite(led_merah, HIGH);
lcdmonitor();
lcdmonitor5();
}
else if(jumlahTekanan==6){
digitalWrite(led_merah, LOW);
lcdmonitor();
lcdmonitor6();
}
else if(jumlahTekanan==7){
digitalWrite(led_hijau, HIGH);
digitalWrite(led_kuning, HIGH);
digitalWrite(led_merah, HIGH);
lcdmonitor();
lcdmonitor7();
}
else if(jumlahTekanan==8){
digitalWrite(led_hijau, LOW);
digitalWrite(led_kuning, LOW);
digitalWrite(led_merah, LOW);
lcdmonitor();
lcdmonitor8();
jumlahTekanan=0;
}
}
}
void lcdmonitor()
{
lcd.setCursor(0, 0);
lcd.print(jumlahTekanan);
lcd.print(" Tekanan");
}
void lcdmonitor1()
{
lcd.setCursor(0, 1);
lcd.print("Lampu Hijau On.");
}
void lcdmonitor2()
{
lcd.setCursor(0, 1);
lcd.print("Lampu Hijau Off.");
}
void lcdmonitor3()
{
lcd.setCursor(0, 1);
lcd.print("Lampu Kuning On.");
}
void lcdmonitor4()
{
lcd.setCursor(0, 1);
lcd.print("Lampu Kuning Off.");
}
void lcdmonitor5()
{
lcd.setCursor(0, 1);
lcd.print("Lampu Merah On.");
}
void lcdmonitor6()
{
lcd.setCursor(0, 1);
lcd.print("Lampu Merah Off.");
}
void lcdmonitor7()
{
lcd.setCursor(0, 1);
lcd.print("Semua Lampu On.");
}
void lcdmonitor8()
{
lcd.setCursor(0, 1);
lcd.print("Semua Lampu Off");
}
/*
Kelompok 3
- Muhammad Ikbar Alfaridzi D 5311421055
- Muhammad Zaki Syahman 5311421056
- Maulana Azriel Haryanda 5311421060
Hal Yang ditambahkan
LCD
Penjelasan Code :
Program ini digunakan untuk mengontrol lampu dengan menggunakan tombol, menghitung jumlah tekanan tombol,
menampilkan informasi di layar LCD, dan mengontrol LED hijau, kuning, dan merah.
#include <LiquidCrystal.h> adalah perintah untuk mengimpor library LiquidCrystal.h yang digunakan untuk
mengontrol layar LCD.
LiquidCrystal lcd(12, 11, 10, 9, 8, 7); adalah perintah untuk menentukan koneksi pin Arduino ke layar LCD
menggunakan konstruktor LiquidCrystal() dengan parameter 12, 11, 10, 9, 8, dan 7 yang mewakili
koneksi RS, E, D4, D5, D6, dan D7 ke layar LCD.
int tombol = 2, int led_hijau = 3, int led_kuning = 4, dan int led_merah = 5 adalah deklarasi variabel
untuk menentukan nomor pin Arduino yang digunakan untuk tombol dan LED hijau, kuning, dan merah.
int jumlahTekanan adalah variabel untuk menghitung jumlah tekanan tombol.
void setup() adalah fungsi yang dijalankan pada awal program. Dalam fungsi ini,
pinMode() digunakan untuk menentukan mode input atau output dari pin yang digunakan.
void loop() adalah fungsi utama program yang diulang terus menerus selama program berjalan.
Dalam fungsi ini, status tombol akan dibaca menggunakan digitalRead() dan dijadikan kondisi percabangan if.
Ketika tombol ditekan, jumlahTekanan akan diinkremen dan kondisi if akan dijalankan sesuai dengan
nilai jumlahTekanan, yaitu menghidupkan atau mematikan LED hijau, kuning, dan merah.
Fungsi lcdmonitor() digunakan untuk menampilkan informasi jumlah tekanan pada baris pertama layar LCD,
sedangkan fungsi lcdmonitor1() hingga lcdmonitor8() digunakan untuk menampilkan informasi pada
baris kedua layar LCD.
Setiap fungsi lcdmonitor1() hingga lcdmonitor8() bertanggung jawab untuk menampilkan informasi yang berbeda
di layar LCD tergantung pada kondisi jumlahTekanan.
Dalam keseluruhan, program ini dapat digunakan untuk mengendalikan lampu dengan menggunakan
tombol dan layar LCD sebagai tampilan status. Dengan memodifikasi kode ini, Anda dapat mengontrol jenis
perangkat lain yang sesuai dengan pin Arduino yang digunakan.
*/