fb:porticula NoPaste
handsteuerung2
Uploader: | SRSGP |
Datum/Zeit: | 02.03.2013 16:26:19 |
' Programm für Handsteuerung
#LANG "fblite"
OPTION GOSUB
dim as integer Zhr
dim as integer Zhl
dim as integer Zvr
dim as integer Zvh
dim as integer a,b,c,d,z
dim hoch as string
dim rechts as string
dim links as string
dim nieder as string
dim taste as String
a=16 'fuer OUT 888,16
b=32
c=64
d=128
Zvh=0 '=Zaehler vertikal hoch
Zvr=0 '=Zaehler vertikal runter
Zhr=0 '=Zaehler horizontal rechts
Zhl=0 '=Zaehler horizontal links
Locate 10,10,0
Print"Magnet faehrt nach oben: " ' Bildschirmausdruck
locate 12,10,0
Print"Magnet faehrt nach unten: "
locate 14,10,0
Print"Der Magnet faehrt nach rechts: "
locate 16,10,0
Print"Der Magnet faehrt nach links: "
DO
DO
DO
DO
DO
taste=INKEY
IF taste=CHR(13) then end 'Pfeiltasten Abfrage
If taste=CHR(255,72)then GOTO hoch 'verwende GOTO fuer Schueler/Anfaenger
If taste=CHR(255,80)then GOTO nieder
If taste= CHR(255,77)then GOTO rechts
If taste=CHR(255,75)then GOTO links
loop
hoch: 'Magnet faehrt hoch
out 888,a 'Schrittmotor im Halbschritt-Modus-Out 888,16
Gosub Zeit 'Unterprogramm Zeit wird angesprungen
out 888,a+b
Gosub Zeit
out 888,b
Gosub Zeit
out 888,b+c
Gosub Zeit
out 888,c
Gosub Zeit
out 888,c+d
Gosub Zeit
out 888,d
Gosub Zeit
out 888,d+a
LOCATE 10,45,0
print ZVH 'die Anzahl der Schritte, vertikal hoch, wird angezeigt
LOOP
nieder:
out 888,d
GOSUB Zeit
out(888,c+d)
GOSUB Zeit
out 888,c
GOSUB Zeit
out(888,b+c)
GOSUB Zeit
out 888,b
Gosub ZEIT
out(888,a+b)
GOSUB Zeit
out 888,a
GOSUB Zeit
out (888,d+a)
GOSUB Zeit
locate 12,45,0
Print ZVN
LOOP
rechts:
out 888,1
Gosub ZEIT
out 888,1+2
Gosub ZEIT
out 888,2
Gosub ZEIT
out 888,2+4
Gosub ZEIT
out 888,4
Gosub ZEIT
out 888,4+8
Gosub ZEIT
out 888,8
Gosub ZEIT
out 888,8+1
Gosub ZEIT
locate 14,45,0
print ZHR
LOOP
links:
out 888,8
Gosub ZEIT
out 888,8+4
Gosub ZEIT
out 888,4
Gosub ZEIT
out 888,2+4
out 888,2
Gosub ZEIT
out 888,2+1
Gosub ZEIT
out 888,1
Gosub ZEIT
out 888,8+1
Gosub ZEIT
locate 16,45,0
print ZHL
LOOP
Zeit:
For t=1 to 2000000:next ' erprobte Pause zwischen den Schritten
IF taste=CHR(255,72) then ZVH=ZVH+1 ' Schrittzaehler
IF taste=CHR(255,80) then ZVN=ZVN+1
IF taste=CHR(255,77) then ZHR=ZHR+1
IF taste=CHR(255,75) then ZHL=ZHL+1
RETURN ' Rueckspru