#include <LiquidCrystal_I2C.h>
#include <Wire.h>
int blue = 8;
int green = 9;
int red = 10;
const int pingPin = 11;
const int echoPin = 3;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// put your setup code here, to run once:
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
Serial.begin(9600); // Starting Serial Terminal
lcd.init();
lcd.backlight();
}
void loop() {
long duration, inches, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
// lcd.clear();
lcd.setCursor(0,0);
lcd.print(cm);
lcd.print(" ");
lcd.setCursor(4,0);
lcd.print("cm");
// delay(1);
if(cm <= 10)
{
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
digitalWrite(blue, LOW);
lcd.setCursor(0,1);
lcd.print("zelena");
}
else if(cm <= 30)
{
digitalWrite(green, LOW);
digitalWrite(red, LOW);
digitalWrite(blue, HIGH);
lcd.setCursor(0,1);
lcd.print("modra ");
}
else if(cm <= 50)
{
digitalWrite(green, LOW);
digitalWrite(red, HIGH);
digitalWrite(blue, LOW);
lcd.setCursor(0,1);
lcd.print("cervena");
}
else
digitalWrite(green, LOW);
digitalWrite(red, LOW);
digitalWrite(blue, LOW);
}
long microsecondsToInches(long microseconds) {
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds) {
return microseconds / 29 / 2;
}