#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int buzz=5, mq2=A1, ledPin[3]={A0,A2,A3}; //r,g,b
int limitB=300, limitG=600, limitR=900;
void led(int r,int g, int b);
void setup(){
lcd.init();
lcd.backlight();
pinMode(mq2, INPUT);
pinMode(buzz, OUTPUT);
for(int i=0; i<3; i++){
pinMode(ledPin[i], OUTPUT);
}
lcd.setCursor(0,0);
lcd.print("Nilai Gas");
}
void loop(){
int nilaiMq2 = analogRead(mq2);
lcd.setCursor(0,1);
lcd.print(String() + nilaiMq2 + " ");
delay(400);
if(nilaiMq2>limitB && nilaiMq2<limitG ){
tone(buzz,300);
led(0,0,1);
}else if(nilaiMq2>limitG && nilaiMq2<limitR ){
tone(buzz,700);
led(0,1,0);
}else if(nilaiMq2>limitR){
tone(buzz,1500);
led(1,0,0);
}else{
noTone(buzz);
led(0,0,0);
}
}
void led(int r,int g, int b){
int state[3] = {r,g,b};
for(int i=0; i<3; i++){
digitalWrite(ledPin[i],state[i]);
}
}