Python if语句条件中的while循环
我真的很难完成代码的最后一部分 以下是一些背景资料。这段代码通过超声波传感器寻找它前面的物体,如果有,它会通过http_get将其记录到互联网数据库中,如果没有物体,它只会每隔2秒继续寻找 我把所有的东西都打蜡了,除非有人把东西留在那里很长时间。看看代码,它会有意义的。(这只是代码的一部分)Python if语句条件中的while循环,python,micropython,Python,Micropython,我真的很难完成代码的最后一部分 以下是一些背景资料。这段代码通过超声波传感器寻找它前面的物体,如果有,它会通过http_get将其记录到互联网数据库中,如果没有物体,它只会每隔2秒继续寻找 我把所有的东西都打蜡了,除非有人把东西留在那里很长时间。看看代码,它会有意义的。(这只是代码的一部分) 为True时: #设置针脚并读取读数。 #在一个while循环中,这样它就可以不断地执行它。 trig=机器引脚(5,机器引脚输出) trig.low() 时间。睡眠时间(2) 触发器高() 时间。睡眠时间
为True时:
#设置针脚并读取读数。
#在一个while循环中,这样它就可以不断地执行它。
trig=机器引脚(5,机器引脚输出)
trig.low()
时间。睡眠时间(2)
触发器高()
时间。睡眠时间(10)
trig.low()
echo=机器插针(4,机器插针英寸)
而echo.value()==0:
通过
t1=时间。滴答声_us()
而echo.value()==1:
通过
t2=时间。滴答声_us()
cm=(t2-t1)/58.0
打印(cm)#cm是我用来确定对象是否存在的输出。
如果cm>=15:#这意味着那里什么都没有。
时间。睡眠(1)
elif cm使用标志检查距离是否超过15
flag_reset = 0
while True:
(your_code)
if cm >15:
time.sleep(1)
flag_reset = 0
elif cm <=15 and flag_reset == 0:
do_something()
flag_reset = 1
flag_reset=0
尽管如此:
(你的密码)
如果cm>15:
时间。睡眠(1)
标志_重置=0
艾利夫厘米的作品-非常感谢。但我不知道为什么-想解释一下吗?试着思考一下,当对象到达时,每次执行的是什么,保持几秒钟,然后又离开。@LukeVenter。。代码只需注意对象需要至少一次超出范围(cm>15),第二个“如果”条件才能工作。
def checking():
if cm >= 15:
time.sleep(1)
elif cm <= 15:
http_get('URL')
time.sleep(5)
while: cm <= 15:
keep sensing but not logging.
then, if the distance changes to back to more than 15cm,
return back to the top. (because the object would be gone).
flag_reset = 0
while True:
(your_code)
if cm >15:
time.sleep(1)
flag_reset = 0
elif cm <=15 and flag_reset == 0:
do_something()
flag_reset = 1