我正在使用覆盆子pi和覆盆子pi相机来制作一个项目..该项目基本上是可以使用红外传感器录制视频和拍照的眼镜,我选择了TCRT5000 ...我想要做的就是当传感器读取低值没有任何反应,当它读取高电平时,读取高电平的时间为2秒,需要拍照,当时间高达3秒以上时,它会录制视频......
import RPi.GPIO as GPIO
from picamera import PiCamera
from time import sleep
import time
camera = PiCamera()
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN)
while True:
sensor=GPIO.input(18)
if sensor==1 and :
sleep(2)
camera.capture("/home/pi/Desktop/Project/Pictures/image%s.jpg")
print("I TOOK A PICTURE ")
sleep(2)
print(" IM RECORDING A VIDEO !!!")
camera.start_recording('/home/pi/Desktop/Project/Videos/video.h264')
camera.stop_recording()
sleep(10)
print("NOTHING")
sleep(1)
elif sensor==0 :
print("NOTHING")
sleep(1)
这是我现在可以帮助我的代码吗?
答案 0 :(得分:0)
将此作为您的同时使用True块
#Declare oldTime variable, but it is blank.
oldTime = ""
while True:
sensor=GPIO.input(18)
if sensor==1:
if(time.time() - oldTime == 2):
camera.capture("/home/pi/Desktop/Project/Pictures/image%s.jpg")
print("I TOOK A PICTURE ")
if(time.time() - oldTime == 3):
print(" IM RECORDING A VIDEO !!!")
camera.start_recording('/home/pi/Desktop/Project/Videos/video.h264')
sleep(10)
camera.stop_recording()
print(" I HAVE STOPPED RECORDING!!! ")
elif sensor==0:
oldTime = time.time()
当按钮被按下时,脚本会不断检查按钮的时间,并在按下按钮时将其存储在oldTime
中,它会开始检查现在和oldTime
之间的时差是否相等到'2'或'3'然后执行适当的操作。
您可能需要进行一些舍入才能使其等于2或3.