srsgp
Anmeldungsdatum: 30.01.2013 Beiträge: 15
|
Verfasst am: 01.03.2013, 21:21 Titel: Teach-In Verfahren für 2 Schrittmotore |
|
|
Dank an Sebastian, dreael und 28398 für Eure Antworten zum Ansteuern von Hardware unter Windows 8.
Arbeite jetzt mit XP und einem älteren PC mit Druckerport.
Ich habe mein Problem vereinfacht, indem ich 3 LEDs (rot,gelb,grün)nach Belieben durch Druck auf die Pfeiltasten einzeln für 2 Sekunden aufleuchten lasse.
Am Bildschirm wird mir angezeigt welche LED wie oft eingeschaltet wurde.
Ich möchte nun dass die Abfolge meiner Tastendrücke, also z.B. Pfeil oben-5 mal, Pfeil unten-2 mal, Pfeil rechts-9 mal, Pfeil unten-11 mal, Pfeil rechts 4 mal, usw. aufgezeichnet wird und anschließend genauso, auf Knopfdruck, abläuft. Die von Hand eingegebene Abfolge und deren Wiederholungen also eingelernt wird.
Auch mein Bildschirmausdruck hat den Fehler, dass nur 3 Zeilen erscheinen in denen die Anzahl der Tastendrücke für eine LED gezeigt werden, nicht aber die Reihenfolge der LEDs, die ja über 3 hinausgehen kann.
Mein Programm:
#Lang "fblite"
OPTION GOSUB
dim taste as STRING
DO
DO
DO
DO
taste=INKEY
IF taste=CHR(255,72) then GOTO rot
IF taste=CHR(255,80) then GOTO gelb
IF taste=CHR(255,77) then GOTO gruen
LOOP
rot:
OUT 888,1
LOCATE 10,2,0
PRINT"rot eingeschaltet"
LOCATE 10,40,0
r=r+1
Print r
SLEEP 2000
OUT 888,0
LOOP
gelb:
OUT 888,2
LOCATE 12,2,0
PRINT"gelb eingeschaltet"
LOCATE 12,40,0
ge=ge+1
PRINT ge
SLEEP 2000
OUT 888,0
LOOP
gruen:
OUT 888,4
LOCATE 14,2,0
PRINT"gruen eingeschaltet"
LOCATE 14,40,0
gr=gr+1
PRINT gr
SLEEP 2000
OUT 888,0
LOOP
Danke für eine einfache Lösung
Hier meine ursprüngliche Beschreibung des Projekts!
Das Programm ist unter porticula Nopaste handsteuerung 2 hochgeladen
Ich habe für den Technikuntericht eine durch 2 Schrittmotore gesteuerte Maschine gebaut, die eine ankommende Stahlkugel(Ware) über einen Sensor(LDR) erkennt.
Ein Kranarm wird auf einer halbkreisförmigen Bahn mittels Schrittmotorantrieb über die Stahlkugel bewegt. Nun senkt der
2. Schrittmotor über ein Schraubengewinde einen am Ende der Gewindestange befestigten E-Magneten(Spule) ab. Der E-Magnet wird eingeschaltet, die Stahlkugel angezogen und der 1. Schrittmotor bewegt den Arm wieder halbkreisförmig zurück. Der E-Magnet wird ausgeschaltet, die Kugel fällt in eine Rinne und rollt weg, die Maschine wartet auf die nächste Kugel. Funktioniert alles sehr genau. Ich habe zur Ansteuerung der Schrittmotoren ein Programm geschrieben das auch die Schritte zählt, habe eine Schrittzahl über den Daumen gepeilt, ausprobiert, verändert, bis es gestimmt hat.
Beim Teach-In Verfahren steuert man z.B. mit den Pfeiltasten den Arm nach rechts, Magnet hoch, um einem Hinderniss auszuweichen, weiter nach rechts, nun den Magnet runter zur Kugel und wieder zurück.
Die Handsteuerung war kein Problem, siehe Programm, wie aber speichere ich die einzelnen Bewegungen in der richtigen Reihenfolge, mit den notwendigen Schrittzahlen so dass am Ende des teach-in, das Programm den genau gleichen Weg(nicht den kürzesten) steuert.
Kann man die Werte in Felder ,automatisch in der richtigen Reihenfolge einlesen?
Da ich vom Programmieren, wie Ihr sicherlich seht, keine große Ahnung habe, wäre ich für eine einfache verständliche Lösung sehr dankbar.
Gruß SRSGP
Zuletzt bearbeitet von srsgp am 12.03.2013, 17:10, insgesamt 3-mal bearbeitet |
|