import machine
import utime
from machine import Pin, SoftI2C
from servo import Servo
from i2c_lcd import I2cLcd
red_led = Pin(18,Pin.OUT)
i2c = machine.SoftI2C(sda=machine.Pin(21), scl=machine.Pin(22))
screen = I2cLcd(i2c, 0x27, 4, 20)
trigger = Pin(26, Pin.OUT)
echo = Pin(27, Pin.IN)
servo_1 = Servo(19)
servo_2 = Servo(17)
servo_2.write_angle(0)
servo_1.write_angle(0)
def ultra():
trigger.off()
utime.sleep_us(2)
trigger.on()
utime.sleep_us(5)
trigger.off()
while echo.value() == 0:
signal_off = utime.ticks_us()
while echo.value() == 1:
signal_on = utime.ticks_us()
try:
time_passed = signal_on - signal_off
except NameError:
return 0
return time_passed/58
def vkluchit():
red_led.on()
def vikluchit():
red_led.off()
def text(words):
screen.clear()
screen.putstr(words)
utime.sleep(1)
screen.clear()
def zvuk():
distance = ultra()
print(distance)
screen.putstr(f"{distance:6.2f}")
def servik():
servo_1.write_angle(90)
text('My name is...')
vkluchit()
utime.sleep(1)
vikluchit()
zvuk()
servik()
while True:
if ultra() < 100:
servo_2.write_angle(180)