changes to add the ultrasonic sensor to it
This commit is contained in:
@@ -1,10 +1,48 @@
|
|||||||
import time
|
import time
|
||||||
import network
|
import network
|
||||||
import urequests
|
import urequests
|
||||||
|
from machine import Pin, time_pulse_us
|
||||||
|
|
||||||
|
DOOR_OPEN_THRESHOLD = 50 # in cm
|
||||||
|
|
||||||
|
echo_pin = Pin(0, Pin.IN)
|
||||||
|
trig_pin = Pin(1, Pin.OUT)
|
||||||
|
|
||||||
|
def getDistanceCM():
|
||||||
|
trig_pin.value(0)
|
||||||
|
time.sleep_us(2)
|
||||||
|
trig_pin.value(1)
|
||||||
|
time.sleep_us(10)
|
||||||
|
trig_pin.value(0)
|
||||||
|
|
||||||
|
pulse_time = time_pulse_us(echo_pin, 1, 30000)
|
||||||
|
|
||||||
|
if pulse_time < 0:
|
||||||
|
return -1
|
||||||
|
|
||||||
|
distance = pulse_time / 58
|
||||||
|
return distance
|
||||||
|
|
||||||
def sendDoorStatus(status):
|
def sendDoorStatus(status):
|
||||||
requestURL = "http://10.69.70.1/status"
|
print("door status: " + str(status))
|
||||||
r = urequests.post(requestURL, data={"status", status})
|
#requestURL = "http://10.69.70.1/status"
|
||||||
|
#r = urequests.post(requestURL, data={"status", status})
|
||||||
|
|
||||||
|
def checkDoorDistance():
|
||||||
|
dist = -1
|
||||||
|
timeoutTime = 10
|
||||||
|
while timeoutTime > 0 and dist == -1:
|
||||||
|
dist = getDistanceCM()
|
||||||
|
timeoutTime -= 1
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
if dist < DOOR_OPEN_THRESHOLD:
|
||||||
|
sendDoorStatus(1) # door open
|
||||||
|
elif dist == -1:
|
||||||
|
sendDoorStatus(-1) # unknown
|
||||||
|
else:
|
||||||
|
sendDoorStatus(0) # door closed
|
||||||
|
|
||||||
|
|
||||||
def connectToNet():
|
def connectToNet():
|
||||||
ssid = "ITRnet"
|
ssid = "ITRnet"
|
||||||
@@ -32,6 +70,6 @@ def connectToNet():
|
|||||||
# program
|
# program
|
||||||
|
|
||||||
connectToNet()
|
connectToNet()
|
||||||
sendDoorStatus(False)
|
while True:
|
||||||
|
time.sleep(5)
|
||||||
|
checkDoorDistance()
|
||||||
|
|||||||
Reference in New Issue
Block a user