#include <Servo.h>
#include <Ultrasonic.h>
#include <LiquidCrystal_I2C.h>
Ultrasonic Ultra_sensor (7, 6); // ініціалізація УЗ сенсора
LiquidCrystal_I2C lcd(0x27, 16, 2); // ініціалізація дисплея
Servo servo;
float value;
void setup() {
lcd.init(); // увімкнути дисплей
lcd.backlight(); // увімкнути підсвітку
servo.attach(11); // ініціалізація серво до піна 11
lcd.print("Dist."); // вивести напис на дисплей
}
void loop() {
value = Ultra_sensor.distanceRead(); // зчитувати дані з УЗ сенсора та надсилати дані на змінну
lcd.setCursor(0, 1); // вставновити курсор
lcd.print(value); // виводити дані про відстань на дисплей
value = value * 3.5; // при даній операції здійснюється правильний поворот серво. 0 см - 0 градусів, 50 см - 180 градусів
value = constrain(value, 0, 180); // обмежуємо змінну в межах 0 - 180
servo.write(value); // встановлювати кут серво відповідно до значень змінної
delay(50); // затримка на 50 мс
}