你好我有一个小问题。用树莓派做了一个小项目。
关于项目:有一个开关连接到门,当门打开时按下开关,Raspberry Pi 将日期和时间写入文件,但如果门仍然打开,它每 2 秒执行一次。我想出了如何更改那个时间,但是如果我放更长的睡眠时间,如果门关闭但睡眠时间没有过去,门可以再次打开并且不会写入文件。这是我的代码。我连接了两个 LED,以查看门何时关闭和打开。
#!/usr/bin/env python
import time
import RPi.GPIO as GPIO
def main():
GPIO.setmode(GPIO.BCM)
GPIO.setup(23,GPIO.IN)
GPIO.setup(24,GPIO.OUT)
GPIO.setup(25,GPIO.OUT)
GPIO.output(25,True)
while True:
if GPIO.input(23):
GPIO.output(24,True)
GPIO.output(25,False)
f = open('register','a')
t = time.strftime("%Y.%m.%d. - %H:%M:%S")
f.write('Doors opened ')
f.write(t)
f.write('\n')
f.close()
else:
GPIO.output(24,False)
GPIO.output(25,True)
print "button false"
time.sleep(0.1)
GPIO.cleanup()
if __name__=="__main__":
main()
基本上,代码每秒检查一次电路是否闭合。如果不是,它会每隔一秒写入一个带有日期和时间的新文本文件,如果不是,则继续检查。我需要的是在文件中写入开门的日期和时间,然后等待关门。