Hi,
Ich bin komplett neu auf diesem Gebiet der Programmierung und habe mir ein recht komplexes Thema rausgesucht. Ich möchte mit dem Pi und Objekterkennung meine Katzenklappe steuern. Nur meine Katze darf rein.
Das ganze mache ich auch um Python zu lerne.
Ich habe mich jetzt recht lange eingearbeitet und dieses Programm geschrieben welches auch gut funktioniert.
Das ganze ist eine Vorarbeit zum Hauptprojekt
Ziel davon ist es bei Bewegung im 2 sec tackt Bilder zu schießen um eine möglichst große menge an Bildern zum einlernen der Objekterkennung zu haben.
Meine Frage an euch geht das auch schöner......
Habe ich 2x deklarieren müssen geht das auch "global"
Die Camera steuere ich in der Loop einzeln an es gibt aber den befehl continuous was ich aber nicht geschafft habe. geht das auch und wenn ja was ist der unterschied?
Was mir noch fehlt das Programm schöner zu beenden?
#!/usr/bin/python3
# coding=utf-8
import time, picamera, RPi.GPIO as GPIO
#PIN for movement sensor
ms1=7
GPIO.setmode(GPIO.BOARD)
GPIO.setup(ms1, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
def take_pics():
"""Takes pics untill PIR_PIN False"""
with picamera.PiCamera() as camera:
while GPIO.input(ms1):
camera.capture((time.strftime("%d.%m.%Y_%H:%M:%S"))+".jpg")
time.sleep(1)
#detekt movement and stat take-pics
print("start")
while True:
with picamera.PiCamera() as camera:
print("waiting for movement")
channel=GPIO.wait_for_edge(ms1, GPIO.RISING)
if channel:
camera.start_preview() # Camera warm-up time
time.sleep(2)
print("movment detektet taking pics")
take_pics()
print("end movment")
camera.close()
Alles anzeigen
Danke schon mal.
Chris