Vídeo: Nosso melhor robô de todos os tempos! #ManualMaker Aula 10, Vídeo 2 2024
Para criar movimento em seu projeto eletrônico, você pode adicionar um Dispositivo útil, chamado serv o, , que permite controlar o movimento mecânico com um programa BASIC Stamp. Um servo é um tipo especial de motor que é projetado para girar para uma posição específica e mantenha essa posição até ser dito para girar para uma posição diferente. Os servos hobby são freqüentemente usados em veículos com controle de rádio, mas existem muitos outros usos para servos.
O BASIC Stamp Activity Kit vem com um servo que você pode usar para aprender a escrever programas que controlam servos. Você também pode comprar servos diretamente da Parallax ou da maioria das lojas de hobby.
A maneira mais fácil de controlar um servo de um microcontrolador BASIC Stamp é usar o comando PULSOUT. Este comando envia um pulso de qualquer duração que você especificar para um pino de E / S de sua escolha. A sintaxe deste comando é a seguinte:
PULSOUT pin, duração
Você especifica a duração em unidades de dois microseconds. Um microssegundo é um milhão de segundo. Há mil microseconds em um milissegundo. Assim, para enviar um pulso de 1. 5 ms com o comando PULSOUT, você deve especificar 750 como a duração, assim:
PULSOUT 0, 750
Aqui, um pulso de 1 5 ms é enviado para o pino 0.
Aqui estão os valores de duração PULSOUT que você deve usar para um servo de hobby típico para vários ângulos.
Ângulo | Duração | Ângulo | Duração |
---|---|---|---|
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 | Por exemplo, para mover o servo no pino 0 a 75 °, use este comando: |
PULSOUT 0, 667 | Lembre-se que para manter sua posição, um servo precisa de um fluxo constante de pulsos aproximadamente a 20 ms de distância. Assim, os comandos PULSOUT geralmente estão contidos nos loops DO ou nos laços FOR-NEXT. Por exemplo, aqui está um pouco de código que mantém o servo no pino 0 a 45 ° indefinidamente: |
DO PULSOUT 0, 500 PAUSE 20 LOOP
Aqui está o programa completo que move o servo para 45 ° quando SW1 (um botão de pressão no pino 14) é pressionado e 135 ° quando SW2 (um botão no pino 10) é pressionado.
'Programa de controle de servo' Doug Lowe '15 de julho de 2011 "Este programa move um servo para um dos dois quando SW1 é pressionado' e retorna o servo para a posição central quando SW2 é pressionado. '{$ STAMP BS2}' { $ PBASIC 2. 5} Servo PIN 0 SW1 PIN 14 SW2 PIN 10 Posição VAR Posição da Palavra = 500 DO IF SW1 = 1 LENTO Posição = 500 ENDIF IF SW2 = 1 LENTO Posição = 1000 ENDIF PULSOUT Servo, Posição PAUSE 20 LOOP