#include #include LiquidCrystal_I2C lcd(0x27, 16, 2); #define pin_nadajnik A1 //Definicja pinu, do którego podłączamy nadajnik (pin TRIG) #define pin_odbiornik A0 //Definicja pinu, do którego podłączamy odbiornik (pin ECHO) int odleglosc; int litry;//Zmienna przechowująca odległość long czas_impulsu = 0; //Zmienna przechowująca czas trwania impulsu na pinie ECHO byte customChar[8] ={ B00100, B00100, B01100, B01000, B11001, B11101, B11111, B01110 }; void setup() { pinMode(pin_nadajnik, OUTPUT); pinMode(pin_odbiornik, INPUT); lcd.begin(); lcd.backlight(); } void loop() { digitalWrite(pin_nadajnik, HIGH); //Wystawienie stanu wysokiego na pin nadajnika delayMicroseconds(10); //Czas trwania 10us digitalWrite(pin_nadajnik, LOW); //Wystawienie stanu niskiego na pin nadajnika czas_impulsu = pulseIn(pin_odbiornik, HIGH); //Czas trwania impulsu na pinie Echo odleglosc = czas_impulsu/58; //Wyznaczenie odległości w cm litry = map(odleglosc, 10, 110, 10, 1000); //Zabezpieczenie przed przekroczeniem zakresu pomiarowego lcd.createChar(0, customChar); lcd.setCursor(10, 1); lcd.write(byte(0)); lcd.setCursor(12, 1); lcd.print(1000 - litry); lcd.print("L"); delay(500); }