Problem mit Fahrstuhlmodellsteuerung via Camface
Verfasst: Montag 25. Juni 2012, 18:12
Hallo zusammen,
wir steuern derzeit ein Fahrstuhlmodell mit Python, doch leider funktioniert das noch nicht wie gewünscht. Vielleicht könnt Ihr uns sagen, wo unser Fehler liegt/unsere Fehler liegen.
Zunächst einmal der Code:
"dpe" bezeichnet dabei die Anzahl der Umdrehungen, um von einer Etage in die nächste zu gelangen, in unserem Fall liegt das bei etwa 165.
Bei der Position vor tuerauf und tuerzu, pause sowie dem fahrstuhllicht (alles Lämpchen am Modell) waren wir uns ob der Position im Quelltext nicht sicher.
Über Hilfe wären wir wirklich sehr dankbar!
urmelausdemeis
wir steuern derzeit ein Fahrstuhlmodell mit Python, doch leider funktioniert das noch nicht wie gewünscht. Vielleicht könnt Ihr uns sagen, wo unser Fehler liegt/unsere Fehler liegen.
Zunächst einmal der Code:
Code: Alles auswählen
from camface import *
import time
writeCom1(0)
def superfahrstuhl():
setCom1()
global position, anzahl_etagen, ruf_etage, wahl_etage
anzahl_etagen=0
position=0
ruf_etage=0
wahl_etage=0
eingabe()
writeCom1(0)
while readCom1()==0:
if (readCom1()>0 and readCom1()<=8):
print readCom1()
print ("Aufzug wird gerufen")
rufen()
position=ruf_etage
writeCom1(0)
if readCom1()>8:
waehlen()
position=wahl_etage
writeCom1(0)
def eingabe():
global dpe
dpe=input("Gib die Drehzahl pro Etage ein.")
print ("Rufe den Fahrstuhl oder waehle ein Stockwerk.")
def rufen():
if readCom1()==1:
ruf_etage=0
print ruf_etage
if readCom1()==2:
ruf_etage=1
print ruf_etage
if readCom1()==4:
ruf_etage=2
print ruf_etage
if readCom1()==8:
ruf_etage=3
print ruf_etage
anzahl_etagen=ruf_etage-position
fahren(anzahl_etagen)
def tuerauf():
writeCom1(64)
def pause():
time.sleep(100)
def tuerzu():
writeCom1 (128)
def fahrstuhlfaehrt():
writeCom1 (16)
def fahrstuhlsteht():
writeCom1 (32)
def fahren(anzahl_etagen):
tuerzu()
fahrstuhlfaehrt()
if anzahl_etagen==-3:
for g in range (1,3*dpe):
writeCom1(10)
time.sleep(0.001)
writeCom1(6)
time.sleep(0.001)
writeCom1(5)
time.sleep(0.001)
writeCom1(9)
time.sleep(0.001)
elif anzahl_etagen==-2:
for g in range (1,2*dpe):
writeCom1(10)
time.sleep(0.001)
writeCom1(6)
time.sleep(0.001)
writeCom1(5)
time.sleep(0.001)
writeCom1(9)
time.sleep(0.001)
elif anzahl_etagen==-1:
for g in range (1,1*dpe):
writeCom1(10)
time.sleep(0.001)
writeCom1(6)
time.sleep(0.001)
writeCom1(5)
time.sleep(0.001)
writeCom1(9)
time.sleep(0.001)
elif anzahl_etagen==1:
for g in range (1, 1*dpe):
writeCom1(9)
time.sleep(0.001)
writeCom1(5)
time.sleep(0.001)
writeCom1(6)
time.sleep(0.001)
writeCom1(10)
time.sleep(0.001)
elif anzahl_etagen==2:
for g in range (1, 2*dpe):
writeCom1(9)
time.sleep(0.001)
writeCom1(5)
time.sleep(0.001)
writeCom1(6)
time.sleep(0.001)
writeCom1(10)
time.sleep(0.001)
elif anzahl_etagen==3:
for g in range (1, 3*dpe):
writeCom1(9)
time.sleep(0.001)
writeCom1(5)
time.sleep(0.001)
writeCom1(6)
time.sleep(0.001)
writeCom1(10)
time.sleep(0.001)
elif anzahl_etagen==0:
print ("Sie sind bereits da.")
fahrstuhlsteht()
tuerauf()
def waehlen():
if readCom1()==16:
wahl_etage=0
print wahl_etage
if readCom1()==32:
wahl_etage=1
print wahl_etage
if readCom1()==64:
wahl_etage=2
print wahl_etage
if readCom1()==128:
wahl_etage=3
print wahl_etage
anzahl_etagen=wahl_etage-position
fahren(anzahl_etagen)
Bei der Position vor tuerauf und tuerzu, pause sowie dem fahrstuhllicht (alles Lämpchen am Modell) waren wir uns ob der Position im Quelltext nicht sicher.
Über Hilfe wären wir wirklich sehr dankbar!
urmelausdemeis