Датчик движения Raspberry Pi с датчиком случайного движения - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь использовать датчик движения 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 см от датчика в течение нескольких минут, но все же не получил триггера, но когда перед датчиком ничего нет, я все равно получаю ложное положительные.

Потенциометры чувствительности датчиков движения и задержки времени установлены на максимальное и минимальное значения соответственно. РЕДАКТИРОВАТЬ: Я также пробовал два разных блока датчиков движения от разных поставщиков, чтобы исключить изворотливый датчик, и получил тот же результат.

Любая помощь и руководство приветствуются, спасибо и извините за длинный вопрос!

...