from time import sleep
from machine import Pin, ADC, I2C, PWM
from i2c_lcd import I2cLcd
from hcsr04 import HCSR04
ultrasonic = HCSR04(trigger_pin=13, echo_pin=12, echo_timeout_us=1000000)
AddressOfLcd = 0x27
i2c = I2C(0, scl=Pin(19), sda=Pin(18), freq=400000)
lcd = I2cLcd(i2c, AddressOfLcd, 2, 16)
led1 = Pin(2,Pin.OUT)
led2 = Pin(4,Pin.OUT)
led3 = Pin(5,Pin.OUT)
while True:
distance = ultrasonic.distance_cm()
print('Distance', 'cm', '|', distance/2.54, 'Inch')
lcd.clear()
lcd.putstr('Distance: {:.2f} cm'.format(distance))
if distance<= 150:
led1.on()
led2.off()
led3.off()
elif distance<= 250:
led1.off()
led2.on()
led3.off()
elif distance<= 350:
led1.off()
led2.off()
led3.on()
else:
led1.off
led2.off
led3.off
sleep(5)
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL