#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
int input = 0;
int led1 = 8;
int led2 = 9;
int led3 = 10;
int led4 = 11;
void setup() {
// Init
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(A0, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
// Print something
lcd.setCursor(3, 0);
lcd.print("Hello, world!");
lcd.setCursor(2, 1);
lcd.print("Wokwi Online IoT");
lcd.setCursor(5, 2);
lcd.print("Simulator");
lcd.setCursor(7, 3);
lcd.print("Enjoy!");
lcd.clear();
}
void loop() {
// lcd.clear();
lcd.setCursor(15,0);
lcd.print(input);
input = analogRead(A0);
Serial.println(input);
lcd.setCursor(0, 0);
lcd.print("Deteksi warna: ");
if(input >= 100 && input <=250){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Warna : Merah");
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
}else if(input >= 251 && input <=500){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Warna : Kuning");
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}else if(input >= 501 && input <=750){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Warna : Biru");
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}else if(input >= 751 && input <=1000){
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("Warna : Hijau");
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}else{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}
delay(300);
}