#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
#define pinReset 13
#define pinInfraredMerah 36
#define pinInfraredHijau 39
#define pinInfraredBiru 34
#define pinInfraredPutih 35
#define pinInfraredKuning 32
bool InfraredMerah, InfraredHijau, InfraredBiru, InfraredPutih, InfraredKuning, HasilReset;
int CounterMerah, CounterHijau, CounterBiru, CounterPutih, CounterKuning,a,b,c,d,e;
void setup() {
Serial.begin(115200);
LCD.init();
LCD.backlight();
pinMode(pinInfraredMerah,INPUT);
pinMode(pinInfraredHijau,INPUT);
pinMode(pinInfraredBiru,INPUT);
pinMode(pinInfraredPutih,INPUT);
pinMode(pinInfraredKuning,INPUT);
pinMode(pinReset,INPUT);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("WARNA: ");
LCD.setCursor(0, 1);
LCD.print("JUMLAH: ");
}
void loop() {
HasilReset = digitalRead(pinReset);
InfraredMerah = digitalRead(pinInfraredMerah);
InfraredHijau = digitalRead(pinInfraredHijau);
InfraredBiru = digitalRead(pinInfraredBiru);
InfraredPutih = digitalRead(pinInfraredPutih);
InfraredKuning = digitalRead(pinInfraredKuning);
/*if(HasilReset==1){
CounterMerah=0;
CounterHijau=0;
CounterBiru=0;
CounterKuning=0;
CounterPutih=0;
}*/
if(InfraredMerah==1 && a==0){
CounterMerah++;
LCD.setCursor(0,0);
LCD.print(" WARNA MERAH ");
LCD.setCursor(0,1);
LCD.print((" JUMLAH: ")+String(CounterMerah));
a=1;
}if(InfraredMerah==0){
a=0;
}
if(InfraredHijau==1 && b==0){
CounterHijau++;
LCD.setCursor(0,0);
LCD.print(" WARNA HIJAU ");
LCD.setCursor(0,1);
LCD.print((" JUMLAH: ")+String(CounterHijau));
b=1;
}if(InfraredHijau==0){
b=0;
}
if(InfraredBiru==1 && c==0){
CounterBiru++;
LCD.setCursor(0,0);
LCD.print(" WARNA BIRU ");
LCD.setCursor(0,1);
LCD.print((" JUMLAH: ")+String(CounterBiru));
c=1;
}if(InfraredBiru==0){
c=0;
}
if(InfraredPutih==1 && d==0){
CounterPutih++;
LCD.setCursor(0,0);
LCD.print(" WARNA PUTIH ");
LCD.setCursor(0,1);
LCD.print((" JUMLAH: ")+String(CounterPutih));
d=1;
}if(InfraredPutih==0){
d=0;
}
if(InfraredKuning==1 && e==0){
CounterKuning++;
LCD.setCursor(0,0);
LCD.print(" WARNA KUNING");
LCD.setCursor(0,1);
LCD.print((" JUMLAH: ")+String(CounterKuning));
e=1;
}if(InfraredKuning==0){
e=0;
}
Serial.print("hasil: ");
Serial.println(String(InfraredMerah)+String(InfraredHijau)+
String(InfraredBiru)+String(InfraredPutih)+
String(InfraredKuning)+String(HasilReset)+
"|"+String(CounterPutih)+"|"+String(CounterKuning)+
"|"+String(CounterMerah)+"|"+String(CounterHijau)+
"|"+String(CounterBiru)
);
}