亲爱的Stackoverflow社区!
我目前正在使用Raspberry Pi进行第一个项目。任务是实现TY-010光电中断传感器。我想做的是: 我想计算给定时间内的中断(即2秒)。所以类似的东西(不是C,在Python中): d计算有多少次中断。
int i = 0
while(time != 3){
if(outputFunction == True)
i += 1;
}
您可以在下面找到整个代码:
import RPi.GPIO as GPIO
import time
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
print "Sensor-Test [Press STRG+C, to exit the Test]"
def outputFunction(null):
print("Signal detected")
GPIO.add_event_detect(GPIO_PIN, GPIO.RISING, callback=ausgabeFunktion, bouncetime=100)
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
我感谢任何帮助或建议!
答案 0 :(得分:0)
你有错误定义的ouputFunction,如果你想要一个没有参数的函数,只需将它留空,如下所示:
def outputFunction():
print("Signal detected")
你可以添加一个语句来验证是否已经过了x秒,如果你做time.sleep()你停止你的代码,如果你按下按钮它就不会工作,所以这样做:< / p>
try:
t_to_wait = 2 #Set to 2 secs
t1 = time.time() #Get the start time
while True:
if GPIO.input(GPIO_PIN) == 1:
outputFunction()
if t1-time.time() > t_to_wait:
break #Exit the loop if have passed t_to_wait seconds
except KeyboardInterrupt:
GPIO.cleanup()
我也建议您read some examples,因为您似乎不太了解python以及使用GPIO模块