ich hätte da gerne mal ein Problem!
Ich, Feuerfurzer (der Name ist Programm

Hab' mir also ein Projekt ausgedacht, welches ich nun partout umsetzen möchte und nun, man ahnt es schon, kläglich scheitere bzw. schon fest hänge!
Zum Thema:
Es soll so etwas wie ein "Sortierer" sein!? Teile in Karton zählen, Karton autom. wechseln, neu einzählen, vorherigen (vollen) Karton manuell entnehmen, neuen Karton bereitstellen, quittieren, neuen (vollen) Karton entnehmen, neuen bereitstellen, quittieren, etc. ...
Das ist erst einmal das "Gerüst", die Feinheiten hebe ich mir evtl. für später auf, will auch nicht mit zu viel Prosa langweilen!
Hier einmal mein Anfang und wenn ich Anfang sage, meine ich Anfang

Code: Alles auswählen
#Sortierer.py
from RPi import GPIO
from time import sleep
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN) #Lichtschranke "Kartusche vorhanden"
GPIO.setup(17, GPIO.OUT) #Relais Karton "Umschalt Karton 1/2"
GPIO.setup(27, GPIO.OUT) #Leuchte "Karton fast voll"
GPIO.setup(22, GPIO.OUT) #Leuchte "Karton 1 voll"
GPIO.setup(6, GPIO.OUT) #Leuchte "Karton 2 voll"
GPIO.setup(5, GPIO.IN) #Taster "Quittieren"
GPIO.output(17, 0) #Grundstellung = Karton 1 wird befuellt
GPIO.output(27, 0) #Leuchte aus
GPIO.output(22, 0) #Leuchte aus
GPIO.output(6, 0) #Leuchte aus
count_Kart1=0
count_Kart2=0
while count_Kart1 == 0:
#Karton 1 wird befuellt
while count_Kart1 <= 7:
GPIO.output(17, 0)
GPIO.output(27, 0)
if GPIO.input(18):
count_Kart1 += 1
print(count_Kart1)
sleep(0.05)
while GPIO.input(18):
sleep(0.05)
GPIO.output(17,0)
#Warnung "Karton 1 fast voll"
while count_Kart1 <= 9:
GPIO.output(17, 0)
GPIO.output(27, 1)
if GPIO.input(18):
count_Kart1 += 1
print(count_Kart1)
sleep(0.05)
while GPIO.input(18):
sleep(0.05)
GPIO.output(17,0)
#Karton 2 wird befuellt
while count_Kart2 <= 7:
GPIO.output(17, 1)
GPIO.output(22, 1)
GPIO.output(27, 0)
if GPIO.input(18):
count_Kart2 += 1
print(count_Kart2)
sleep(0.05)
while GPIO.input(18):
sleep(0.05)
GPIO.output(17,1)
#Warnung "Karton 2 fast voll"
while count_Kart2 <= 9:
GPIO.output(17, 1)
GPIO.output(27, 1)
if GPIO.input(18):
count_Kart2 += 1
print(count_Kart2)
sleep(0.05)
while GPIO.input(18):
sleep(0.05)
GPIO.output(17,1)
#Stoerung: "Karton 1 und 2 voll"
while count_Kart2 == 10:
GPIO.output(17, 0)
GPIO.output(22, 1)
GPIO.output(27, 1)
GPIO.output(6, 1)
GPIO.cleanup()
Sollte sich jemand finden, der nicht mit "rtfm" daherkommt, sondern gewillt ist mir, mit dem ein oder anderen Tipp, zur Seite zu stehen, so würde mich das wieder sehr aufbauen!
Natürlich interessieren mich fragen wie:
- Würdet ihr genau so anfangen?
- Ist die Struktur (sofern man eine erkennen kann!) ok?
- Wie könnte es weiter gehen?
- etc.
So, jetzt lass ich mich mal überraschen

Gruß
FF