from HCSR04 import *
from time import sleep
from machine import Pin, PWM, SoftI2C
from i2c_lcd import LiquidCrystalI2C
device = HCSR04(26, 27)
red = Pin(25, Pin.OUT)
beeper = PWM(Pin(33), freq=200, duty=50)
i2c = SoftI2C(sda=Pin(23), scl=Pin(22))
lcd = LiquidCrystalI2C(i2c, 0x27, 16, 2)
lcd.set_controlled_cursor(False)
lcd.home()
lcd.display()
lcd.backlight()
lcm = 0
while True:
cm = int(device.distance_cm())
if cm != lcm:
lcd.clear()
lcd.set_cursor(2, 1)
lcd.print(f"Distance: {cm}cm")
if cm <= 10:
beeper = PWM(Pin(33), freq=200, duty=50)
red.value(1)
beeper.freq(200)
else:
beeper.deinit()
red.value(0)
lcm = cm
# print(cm)
sleep(0.1)