from machine import Pin, SoftI2C
from hcsr04 import HCSR04
from time import sleep
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
# ESP32
sensor = HCSR04(trigger_pin=5, echo_pin=18, echo_timeout_us=10000)
ledred = Pin(15 , Pin.OUT)
ledgreen = Pin(16 , Pin.OUT)
i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000)
lcd = I2cLcd(i2c, 0x27, 2, 16)
while True:
distance = sensor.distance_cm()
print('Distance:', distance , 'cm')
if distance < 50 :
ledred.on()
ledgreen.off()
print (" Danger!!!")
else :
ledgreen.off()
ledred.off()
print(" ")
sleep(1)
distance = sensor.distance_cm()
print('Distance:', distance , 'cm')
if distance > 51 :
ledgreen.on()
ledred.off()
print ("safety")
else :
ledred.off()
print(" ")
sleep(1)
lcd.clear()
lcd.move_to(0 , 0)
lcd.putstr('Distance: {:.2f} cm'.format(distance))
lcd.move_to(0 , 5)
lcd.putstr('Distance: {:.2f} cm'.format(distance))