#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trigger = 12;
int echo = 11;
int time = 0;
int distance = 0;
int pinR = 3;
int pinG = 4;
int pinB = 5;
void setup() {
// put your setup code here, to run once:
pinMode(echo, INPUT);
pinMode(trigger, OUTPUT);
lcd.init();
lcd.backlight();
Serial.begin(9600);
lcd.begin(16,2);
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
}
void loop() {
lcd.clear();
digitalWrite(trigger, LOW);
digitalWrite(trigger, HIGH);
time = pulseIn(echo, HIGH);
distance = (time*0.0172);
lcd.setCursor(5, 0);
lcd.print(distance);
lcd.print("cm");
delay(1000);
if(distance <= 20) {
digitalWrite(pinR, HIGH);
digitalWrite(pinG, LOW);
digitalWrite(pinB, LOW);
} else if(distance <= 40) {
digitalWrite(pinR, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinB, LOW);
} else {
digitalWrite(pinR, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinB, HIGH);
}
}