Hallo
Sicher ist das möglich. An einen ULN kannst du allerdings nur unipolare Motoren anschliessen. Ich habe dir mal einen Schaltplan und ein Beispiel in QBasic dazu gemacht. Tutorials zu Schnittstellen unter QB gibt's auf meiner Seite www.skilltronics.de unter Digitales.
Bild hier
Code:
CLS
pause = 100000 'Bestimmt die Drehgeschwindigkei
LOCATE 8, 1
PRINT "Position: 0"
muster(0) = 3 '1100 Bitmuster am ULN-Ausgang
muster(1) = 1 '1001 "
muster(2) = 0 '0011 "
muster(3) = 2 '0110 "
DO
LOCATE 6, 1 'Bildschirmein- und -ausgabe
PRINT "Schritte: "; SPC(40);
LOCATE 6, 11
INPUT "", schritte
IF schritte = 0 THEN END
FOR s = 1 TO ABS(schritte) 'ABS erzeugt den Betrag einer Zahl
position = (position + SGN(schritte)) 'SGN ist bei pos. Zahlen 1 sonst -1
OUT 1020, muster(ABS(position) MOD 4) 'Die Ausgabe. 1020 steht fr COM1
'MOD ergibt den Rest beim Teilen
LOCATE 8, 10
PRINT position
FOR t = 0 TO pause: NEXT 'Das ist die Warteschleife
NEXT
LOOP
Wenn du für Schritte einen negativen Wert eingibst, dreht der Motor um soviele Schritte in die eine Richtung, bei einem positiven in die andere. Die Eingabe von 0 beendet das Programm. FÜr COM2 muss man OUT 1020... durch OUT 764... ersetzen.
Gruss
Skilltronic
Lesezeichen