Я пытаюсь использовать датчик движения Raspberry Pi, чтобы определить, когда птица находится на кормушке для птиц за пределами моего дома, а затем сфотографировать ее с помощью Pi Cam. У меня был ограниченный успех в этом, во-первых, все работало нормально, затем я получил множество ложных срабатываний, но, что самое важное, у меня все еще были фотографии, которые я искал, теперь я получаю совершенно случайные результаты. Иногда я получаю более 50 триггеров в час, иногда я не получаю ни одного. Я просмотрел фотографии и, похоже, нет никакой связи между разными результатами. Мой код выглядит следующим образом:
import time
from picamera import PiCamera
import RPi.GPIO as GPIO
from datetime import datetime
from time import sleep
camera = PiCamera()
GPIO.setmode(GPIO.BCM)
PIR_PIN = 7
GPIO.setup(PIR_PIN, GPIO.IN)
camera.rotation = 180
camera.exposure_mode = "sports"
print("Sleep...")
sleep(30)
print("Detecting...")
def MOTION(PIR_PIN):
print("Motion Detected", str(datetime.today()))
for i in range(4):
camera.capture("/home/pi/BirdFeedBot/TrainingPhotos/" + str(datetime.today()) + ".jpg")
for i in range(400):
try:
GPIO.wait_for_edge(PIR_PIN, GPIO.RISING)
MOTION(PIR_PIN)
except KeyboardInterrupt:
print ("Quit")
GPIO.cleanup()
camera.close()
GPIO.cleanup()
camera.close()
Я видел в Интернете, что у нескольких людей возникали проблемы с их USB-адаптером Wi-Fi, находящимся слишком близко к датчику, поэтому я переместил его на внешний USB-концентратор, и теперь он составляет ~ 1 м. прочь, и я перестал получать регулярные двухминутные ложные срабатывания, о которых сообщали многие люди. Несмотря на это, я все еще получаю очень случайные результаты, например, я стоял и махал рукой на расстоянии ~ 20 см от датчика в течение нескольких минут, но все же не получил триггера, но когда перед датчиком ничего нет, я все равно получаю ложное положительные.
Потенциометры чувствительности датчиков движения и задержки времени установлены на максимальное и минимальное значения соответственно. РЕДАКТИРОВАТЬ: Я также пробовал два разных блока датчиков движения от разных поставщиков, чтобы исключить изворотливый датчик, и получил тот же результат.
Любая помощь и руководство приветствуются, спасибо и извините за длинный вопрос!