#include <Arduino.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
Servo servik;
LiquidCrystal_I2C lcd(0x27, 16, 2);
int lastduration = 0;
int pos = 0;
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, INPUT);
servik.attach(5);
lcd.init();
lcd.backlight();
}
void loop() {
digitalWrite(2, HIGH);
delayMicroseconds(10);
digitalWrite(2, LOW);
int duration = pulseIn(3, HIGH);
if (duration != lastduration){
lcd.clear();
}
int newduration = map(duration,112,23390,0,255);
lcd.setCursor(0, 0);
lcd.print(newduration);
lcd.setCursor(3, 0);
lcd.print("cm");
pos = map(duration,112,23390,0,180);
servik.write(pos);
lastduration = duration;
delay(100);
}