#define LRED 5
#define LYELLOW 4
#define LGREEN 3
#define LRED2 A2
#define LYELLOW2 A1
#define LGREEN2 A0
#define LRED3 A3
#define LYELLOW3 A4
#define LGREEN3 A5
#define LPINK 2
#define TOMBOL1 6
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(LRED, OUTPUT);
pinMode(LYELLOW, OUTPUT);
pinMode(LGREEN, OUTPUT);
pinMode(LRED2, OUTPUT);
pinMode(LYELLOW2, OUTPUT);
pinMode(LGREEN2, OUTPUT);
pinMode(LRED3, OUTPUT);
pinMode(LYELLOW3, OUTPUT);
pinMode(LGREEN3, OUTPUT);
pinMode(LPINK, OUTPUT);
pinMode(TOMBOL1, INPUT_PULLUP);
standby(1000);
}
void loop() {
if (digitalRead(TOMBOL1)== LOW) {
digitalWrite(LPINK, HIGH);
Serial.print("PRESS ");
pola1(5000);
pola2(2000);
pola3(6000);
pola4(1000);
}
else{
standby(1000);
}
}
void pola1(int waktu){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("JalurKananJalan");
lcd.setCursor(0,1);
lcd.print("JalurKiriStop");
Serial.println("Jalur Kanan Jalan, Jalur Kiri Stop");
digitalWrite(LRED,LOW);
digitalWrite(LYELLOW,LOW);
digitalWrite(LGREEN,HIGH);
digitalWrite(LRED2,HIGH);
digitalWrite(LYELLOW2,LOW);
digitalWrite(LGREEN2,LOW);
delay(waktu);
}
void pola2(int waktu){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("JalurKiriSiapOn");
lcd.setCursor(0,1);
lcd.print("JalurKananSiapOff");
Serial.println("Jalur Kiri Siap Jalan, Jalur Kanan Siap Berhenti");
digitalWrite(LRED,LOW);
digitalWrite(LYELLOW,HIGH);
digitalWrite(LGREEN,LOW);
digitalWrite(LRED2,LOW);
digitalWrite(LYELLOW2,HIGH);
digitalWrite(LGREEN2,LOW);
delay(waktu);
}
void pola3(int waktu){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("JalurKiriJalan");
lcd.setCursor(0,1);
lcd.print("JalurKananStop");
Serial.println("Jalur Kiri Jalan, Jalur Kanan Stop");
digitalWrite(LRED,HIGH);
digitalWrite(LYELLOW,LOW);
digitalWrite(LGREEN,LOW);
digitalWrite(LRED2,LOW);
digitalWrite(LYELLOW2,LOW);
digitalWrite(LGREEN2,HIGH);
delay(waktu);
}
void pola4(int waktu){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("JLR 1 SIAP-OFF");
lcd.setCursor(0,1);
lcd.print("JLR 2 SIAP-ON");
Serial.println("Jalur1 READY OFF, Jalur 2 READY ON");
digitalWrite(LRED,LOW);
digitalWrite(LYELLOW,HIGH);
digitalWrite(LGREEN,LOW);
digitalWrite(LRED2,LOW);
digitalWrite(LYELLOW2,HIGH);
digitalWrite(LGREEN2,LOW);
delay(waktu);
}
void standby(int waktu){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("=SELAMAT DATANG=");
lcd.setCursor(0, 1);
lcd.print("!=LALIN BY @ME=!");
digitalWrite(LRED,LOW);
digitalWrite(LYELLOW,LOW);
digitalWrite(LGREEN,LOW);
digitalWrite(LPINK,LOW);
delay(waktu);
}
void loopX() {
if (digitalRead(TOMBOL1)== LOW) {
digitalWrite(LPINK,HIGH);
Serial.print("PRESS");
pola1(2000);
pola2(2000);
}
else{
standby(1000);
}
}