Hallo, (Bearbeitet)
Ich wollte ein Futterautomat für mein Hund bauen und habe ein paar fragen:
import RPi.GPIO as GPIO
import time
#########################
### GPIO ###
#########################
GPIO.setmode(GPIO.BCM)
# GPIO Bezeichnung/- Definition
Luftventil = 23
GPIO_Merker_OUT = 24
GPIO_Merker_IN = 25
Start = 26
Futterschalle = 27
# GPIO Setup
GPIO.setup(Luftventil, GPIO.OUT) # Pneumatisches Magnetventil
GPIO.setup(GPIO_Merker_OUT, GPIO.OUT) # Vorübergehender Merker (OUT)
GPIO.setup(GPIO_Merker_IN, GPIO.IN) # Vorübergehender Merker (IN)
GPIO.setup(Start, GPIO.IN) # Vorübergehender Starter irgendwann soll er bei einer Uhrzeit das tun
GPIO.setup(Futterschalle, GPIO.IN) # Wenn in der Futterschalle sich noch Futter befindet ist der GPIO-PIN auf high und die nächste Ausgabe muss warten
#########################
### Gruppen ###
#########################
def Futterausgabe_Auto():
if GPIO.input(Start, high):
while True:
if GPIO.input(27) == GPIO.LOW:
GPIO.output(Luftventil, high)
time.sleep(10)
GPIO.output(Luftventil, low)O.output(Luftventil, low)
Hier kommt dann noch was...
Alles anzeigen
Was soll er tun:
Wenn GPIO.IN 26 (=Start) high ist: --- Warten bis das Start-Signal kommt
--> Warten bis GPIO.IN 27 (= Futterschalle) low ist --- Soll schauen ob noch Futter in der Schalle ist wenn ja warten bis sie leer ist
--> GPIO 23 wird auf high gesetzt --- Futterausgabe wird hierdurch gestartet
--> Warte 10sek.
--> GPIO 23 wird auf low gesetzt --- Futterausgabe wird beendet
Meine Fragen:
1. Das mit dem GPIO.IN 26 (= Start) das soll mal ersetzt werden in "Wenn 6:OO Uhr dann das was es jetzt gemacht hätte"
Da weiß ich noch nicht wie ich dass umsetzten möchte.
2. Ich weiß nicht ob ich das noch brauchen werde mit:"
# GPIO Bezeichnung/- Definition
Luftventil = 23
GPIO_Merker_OUT = 24
GPIO_Merker_IN = 25
Start = 26
Futterschalle = 27
# GPIO Setup
GPIO.setup(Luftventil, GPIO.OUT) # Pneumatisches Magnetventil
GPIO.setup(GPIO_Merker_OUT, GPIO.OUT) # Vorübergehender Merker (OUT)
GPIO.setup(GPIO_Merker_IN, GPIO.IN) # Vorübergehender Merker (IN)
GPIO.setup(Start, GPIO.IN) # Vorübergehender Starter irgendwann wird er gegen ein Uhrzeitbefehl ersetzt
GPIO.setup(Futterschalle, GPIO.IN) # Wenn Futterschalle noch befühlt ist ist der GPIO-PIN auf high und die nächste Ausgabe muss warten
"
Das sollen Merker werden wie bei einer SPS-Steuerung
- Mit Merker meine ich wenn was passiert soll ein Wert auf 0 oder auf 1 gesetzt werden
Den wert lesen dann andere Programteile aus.
Ich muss sagen das ich nicht weiß ob ich das brauche weil ich sie auch auch direkt auslesen kann.
Ich hoffe das ist jetzt besser verständlich
Danke im voraus!