| srsgp 
 
 
 Anmeldungsdatum: 30.01.2013
 Beiträge: 15
 
 
 | 
			
				|  Verfasst am: 01.03.2013, 20: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, 16:10, insgesamt 3-mal bearbeitet
 |  |