Я программирую скрипт на Python, чтобы делать снимок с помощью веб-камеры каждый раз, когда вы вводите вывод на GPIO 17. Я использую цикл while и до тех пор, пока buttom, подключенный к контакту 17, не нажата, его значение равно True. Если этот параметр установлен на False, и код запускается.Продолжайте выполнение инструкции if
Моя проблема: код в инструкции if can not заканчивается до того, как buttom отпущен и вернется к True. Поэтому он просто останавливается и показывает картинку. Любая идея, как я могу получить код, чтобы закончить, а затем он возвращается к состоянию True?
EDIT: Оператор if работает до тех пор, пока кнопка нажата. Когда он отпускается, он останавливается. Значение: за время, которое я нажимаю до выпуска, скрипт получает только изображение, а команда «waitKey» и исполняемый дозатор выполняются. Потому что он вернулся к «True». Но мне это нужно, чтобы закончить
Heres код:
import RPi.GPIO as GPIO
import time
import cv2
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
input_state = GPIO.input(17)
if input_state == False:
print('Button Pressed')
capture = cv2.VideoCapture(0)
capture.set(3,1280)
capture.set(4,1024)
ret, img = capture.read()
cv2.imshow("input", img)
cv2.waitKey(1500)
del(capture)
cv2.VideoCapture(0).release()
Является ли отступ в вашем вопросе правильным? Я не могу определить, что делает эта одинокая линия 'if'. – usr2564301
В настоящее время ничего не делает. Вот почему я спросил. – usr2564301
класть abother в то время как там вместо если. while input_state read-input, поэтому, как только он будет ложным, он закончит цикл и продолжит следующий код. – Micka