Video: Valkyria Johnny-5 BP5 2 2025
For at skabe bevægelse i dit elektronikprojekt kan du tilføje en meget Brugbar enhed, kaldet serv o, , som lader dig styre mekanisk bevægelse med et BASIC Stamp-program. A servo er en speciel type motor, der er designet til at rotere til en bestemt position og holde denne position, indtil den bliver fortalt at rotere til en anden position. Hobby servos bruges ofte i radiostyrede køretøjer, men der er mange andre anvendelser til servos.
BASIC Stamp Activity Kit leveres med en servo, som du kan bruge til at lære at skrive programmer, der styrer servos. Du kan også købe servos direkte fra Parallax eller fra de fleste hobbybutikker.
Den nemmeste måde at styre en servo på fra en BASIC Stamp-mikrocontroller er at bruge kommandoen PULSOUT. Denne kommando sender en puls af hvilken varighed du angiver til en I / O-pin efter eget valg. Syntaxen for denne kommando er som følger:
PULSOUT-pin, varighed
Du angiver varigheden i enheder på to mikrosekunder. En mikrosekund er en million af et sekund. Der er tusind mikrosekunder i en millisekund. For at sende en 1,5 ms puls med kommandoen PULSOUT skal du derfor angive 750 som varigheden, som denne:
PULSOUT 0, 750
Her sendes en 1,5 ms puls til pin 0.
Her er de PULSOUT varighedsværdier, du skal bruge til en typisk hobby servo til forskellige vinkler.
Vinkel | Varighed | Vinkel | Varighed |
---|---|---|---|
0 | 250 | 95 | 778 |
5 | 278 | 100 | 806 |
10 | 306 | 105 | 833 |
15 | 333 | 110 | 861 |
20 | 361 | 115 > 889 | 25 |
389 | 120 | 917 | 30 |
417 | 125 | 944 | 35 |
444 | 130 | 972 | 40 |
472 | 135 | 1000 | 45 |
500 | 140 | 1028 | 50 |
528 | 145 | 1056 > 55 | 556 |
150 | 1083 | 60 | 583 |
155 | 1111 | 65 | 611 |
160 | 1139 | 70 | 639 |
165 | 1167 | 75 | 667 |
170 | 1194 | 80 | 694 |
175 | 1222 | 85 > 722 | 180 |
1250 | 90 | 750 | For at flytte servo på pin 0 til 75 ° skal du bruge denne kommando: |
PULSOUT 0, 667 | Husk For at holde sin position behøver en servo en konstant strøm af impulser ca. 20 ms fra hinanden. PULSOUT-kommandoer er således normalt indeholdt i enten DO-sløjfer eller FOR-NEXT-sløjfer. Her er f.eks. En smule kode, der holder servo på pin 0 ved 45 ° på ubestemt tid: |
DO PULSOUT 0, 500 PAUSE 20 LOOP
Her er et komplet program, der flytter servo til 45 ° når SW1 (en tryknap på pin 14) trykkes og 135 °, når SW2 (en tryknap på pin 10) trykkes.
'Servo Control Program' Doug Lowe '15. juli 2011 "Dette program flytter en servo til en af to, når SW1 trykkes' og returnerer servo til midterposition, når SW2 trykkes. '{$ STAMP BS2}' { $ PBASIC 2. 5} Servo PIN 0 SW1 PIN 14 SW2 PIN 10 Position VAR Word Position = 500 DO IF SW1 = 1 THEN Position = 500 ENDIF IF SW2 = 1 THEN Position = 1000 ENDIF PULSOUT Servo, position PAUSE 20 LOOP