Elektronische Projekte: Wie ein Servo in PBASIC zum Programm

Um Bewegung in Ihrer Elektronik-Projekt erstellen, können Sie ein sehr nützliches Gerät hinzufügen können, eine so genannte servO, mit dem Sie eine mechanische Bewegung mit einem BASIC Stamp-Programm steuern. EIN Servo ist eine besondere Art von Motor, der diese Position in eine bestimmte Position zu drehen und zu halten, bis gesagt drehen zu einer unterschiedlichen Position ausgebildet ist. Hobby Servos in ferngesteuerte Fahrzeuge, aber es gibt viele andere Verwendungen für Servos häufig verwendet.

Die BASIC Stamp Activity Kit kommt mit einem Servo, die Sie verwenden können, um zu lernen, wie man Programme schreiben, die Servos steuern. Sie können auch Servos kaufen direkt von Parallaxe oder von den meisten Hobby-Läden.

bild0.jpg

Der einfachste Weg, um eine Servo von einem BASIC Stamp-Mikrocontroller zur Steuerung der zu verwenden PULSOUT Befehl. Dieser Befehl sendet einen Impuls von beliebiger Dauer Sie auf ein I / O-Pin Ihrer Wahl angeben. Die Syntax dieses Befehls lautet wie folgt:

PULSOUT Pin, Dauer

Sie geben die Dauer in Einheiten von zwei Mikrosekunden. Eine Mikrosekunde ist eine Millionstel Sekunde. Es gibt eintausend Mikrosekunden in einer Millisekunde. So ein 1,5 ms Impuls mit der schicken PULSOUT Befehl, müssen Sie 750 als die Dauer angeben, wie folgt aus:

PULSOUT 0750

Hier wird ein 1,5 ms Impuls gesendet 0 an Pin.

Hier sind die PULSOUT Dauer Werte, die Sie für eine typische Hobby Servo für verschiedene Winkel verwendet werden soll.

WinkelDauerWinkelDauer
025095778
5278100806
10306105833
15333110861
20361115889
25389120917
30417125944
35444130972
404721351000
455001401028
505281451056
555561501083
605831551111
656111601139
706391651167
756671701194
806941751222
857221801250
90750

Um zum Beispiel die Servo auf Pin 0 bis 75 # 176-, verwenden Sie diesen Befehl zu bewegen:

PULSOUT 0667

Denken Sie daran, dass seine Position zu halten, muss ein Servo einen konstanten Strom von Impulsen etwa 20 ms auseinander. So, PULSOUT Befehle werden in der Regel enthalten entweder MACHEN Schleifen oder FÜRS NÄCHSTE Schleifen. Zum Beispiel, hier ist ein Stück Code, der die Servo auf Pin 0 bei 45 # hält 176- unbegrenzt:

DOPULSOUT 0,500PAUSE 20LOOP

Hier komplette Programm, das die Servo 45 # bewegt 176- wenn SW1 (ein Taster an Pin 14) gedrückt wird und 135 # 176-, wenn SW2 (ein Taster an Pin 10) gedrückt wird.

"Servo Control Program 'Doug Lowe' 15. Juli 2011 '' Dieses Programm bewegt sich ein Servo mit einem von zwei, wenn SW1 gedrückt wird 'und gibt die Servoposition zu zentrieren, wenn SW2 gedrückt wird.' {$ STAMP BS2} {$ PBASIC 2.5} Servo PIN 0SW1 PIN 14SW2 PIN 10Position VAR WordPosition = 500DOIF SW1 = 1 THENPosition = 500ENDIFIF SW2 = 1 THENPosition = 1000ENDIFPULSOUT Servo, PositionPAUSE 20LOOP

Menü