#include <EasyUltrasonic.h>
#include <LiquidCrystal_I2C.h>
EasyUltrasonic sonic;
LiquidCrystal_I2C lcd(0x27, 16, 2);
int led[8] = { 2, 3, 4, 5, 6, 7, 8, 9 };
int trig = 10, echo = 11;
void setup() {
lcd.init();
lcd.backlight();
sonic.attach(trig, echo);
for (int i = 0; i < 8; i++) {
pinMode(led[i], OUTPUT);
digitalWrite(led[i], HIGH);
}
}
void loop() {
int cm = sonic.getDistanceCM();
int numled = 0;
if (cm < 20) {
for (int i = 0; i < 8; i++) {
digitalWrite(led[i], HIGH);
}
} else {
if (cm <= 90) {
numled = map(cm, 20, 90, 1, 8);
} else {
numled = 8;
}
for (int i = 0; i < numled; i++) {
digitalWrite(led[i], LOW);
}
for (int i = numled; i< 8; i++){
digitalWrite(led[i],HIGH);
}
}
lcd.setCursor(0, 0);
lcd.print("Distance: " + String(cm) + "cm ");
lcd.setCursor(0, 1);
lcd.print("Da bat : " + String(numled) + " led");
}