#include <LiquidCrystal_I2C.h>
#include <Ultrasonic.h>
#include <Servo.h>
// ініціалізація пристроїв, задання параметрів
LiquidCrystal_I2C lcd(0x27, 16, 2);
Ultrasonic UZ (13, 12);
Servo myservo;
float dalnist;
void setup() {
myservo.attach(6); // серво привід підключено до піна 6
// увімнути дисплей, його підсвітку та вивести напис
lcd.init();
lcd.backlight();
lcd.print("Distance:");
}
void loop() {
dalnist = UZ.distanceRead(); // зчитувати дані з сенсора і надсилати на змінну
// вивести інформацію на дисплей
lcd.setCursor(0, 1);
lcd.print(dalnist);
// трансформувати величину так, щоб при 0 см кут серво = 0, а при 50 см - 180.
dalnist = map(dalnist, 0, 400, 0, 1450);
dalnist = constrain(dalnist, 0, 180); // обмеження змінної
myservo.write(dalnist); // передати
delay(100); // затримка
}