]> vault307.fbx.one Git - garage_door_sensor.git/blob - hcsr04Test.py
garageCheck runs on device to turn on/off LEDs (Myserver)
[garage_door_sensor.git] / hcsr04Test.py
1 from machine import Pin, time_pulse_us, I2C
2 import time
3 from lcd_api import LcdApi
4 from pico_i2c_lcd import I2cLcd
5
6 # Define LCD I2C pins/BUS/address
7 SDA = 2
8 SCL = 3
9 I2C_BUS = 1
10 LCD_ADDR = 0x27
11
12 msg=0
13 # Define LCD rows/columns
14 LCD_NUM_ROWS = 2
15 LCD_NUM_COLS = 16
16
17 # Set up LCD I2C
18 lcdi2c = I2C(I2C_BUS, sda=machine.Pin(SDA), scl=machine.Pin(SCL), freq=400000)
19 lcd = I2cLcd(lcdi2c, LCD_ADDR, LCD_NUM_ROWS, LCD_NUM_COLS)
20
21 def lcdPrint(msg):
22 lcd.putstr(str(msg))
23
24 SOUND_SPEED=340
25 TRIG_PULSE_DURATION=10
26
27 trig_pin=Pin(1, Pin.OUT)
28 echo_pin=Pin(0,Pin.IN)
29
30 while True:
31 trig_pin.value(0)
32 time.sleep_us(5)
33 trig_pin.value(1)
34 time.sleep_us(TRIG_PULSE_DURATION)
35 trig_pin.value(0)
36
37 ultransonic_duration=time_pulse_us(echo_pin,1,30000)
38 distance_cm=SOUND_SPEED*ultransonic_duration/20000
39
40 print(f"Distance: {distance_cm} cm")
41 msg=(f"{distance_cm} cm")
42 lcdPrint(msg)
43 time.sleep_ms(500)
44 lcd.clear()
45
46
47