Proyectos de electrónica: cómo programar un servo en pbasic

Para crear el movimiento en su proyecto de electrónica, se puede añadir un dispositivo muy útil, llamada servO, que le permite controlar el movimiento mecánico con un programa BASIC Stamp. UN servo es un tipo especial de motor que está diseñado para girar a una posición particular y mantenga esa posición hasta que se le para girar a una posición diferente. servos manía se utilizan con frecuencia en los vehículos controlados por radio, pero hay muchos otros usos para los servos.

El Kit de sello actividad básica viene con un servo que se puede utilizar para aprender cómo escribir programas que controlan los servos. También puede comprar directamente de los servos Paralaje o de la mayoría de tiendas de hobby.

La forma más fácil de controlar un servo de un microcontrolador BASIC Stamp es utilizar el PULSOUT mando. Este comando envía un pulso de cualquier tiempo que se especifique a un pin de E / S de su elección. La sintaxis de este comando es la siguiente:

PULSOUT pin, duración

Se especifica la duración en unidades de dos microsegundos. Un microsegundo es una millonésima parte de un segundo. Hay mil microsegundos en un milisegundo. Por lo tanto, para enviar un pulso de 1,5 ms con el PULSOUT comando, se debe especificar 750 como la duración, así:

PULSOUT 0750

Aquí, un pulso de 1,5 ms se envía a la patilla 0.

Aquí están los PULSOUT duración de los valores que debe utilizar para un servo manía típica para varios ángulos.

ÁnguloDuraciónÁnguloDuración
025095778
5278100806
10306105833
15333110861
20361115889
25389120917
30417125944
35444130972
404721351000
455001401028
505281451056
555561501083
605831551111
sesenta y cinco6111601139
706391651167
756671701194
806941751222
857221801250
90750

Por ejemplo, para mover el servo en el pin 0 a 75 °, utilice este comando:

PULSOUT 0667

Recuerde que para mantener su posición, un servo necesita un flujo constante de pulsos de aproximadamente 20 ms de diferencia. Así, PULSOUT comandos son usualmente contenidos en cualquiera de los dos HACER o bucles PARA EL SIGUIENTE bucles. Por ejemplo, aquí hay un poco de código que mantiene el servo en el pin 0 a 45 ° indefinidamente:

DOPULSOUT 0,500PAUSE 20LOOP

Aquí está completo programa que mueve el servo a 45 ° cuando se pulsa SW1 (un botón pulsador en el pin 14) y 135 ° cuando se pulsa SW2 (un botón pulsador en el pin 10).

Doug `Programa de Control de Servo` Lowe `15 de julio de, 2011 `` Este programa mueve un servo a uno de los dos cuando se pulsa SW1` y devuelve el servo a la posición central cuando se presiona SW2. {$ STAMP BS2}`{$ PBASIC 2.5} Servo PIN PIN 0SW1 14SW2 PIN 10Position VAR WordPosition = 500DOIF SW1 = 1 = THENPosition 500ENDIFIF SW2 = 1 = THENPosition 1000ENDIFPULSOUT Servo, PositionPAUSE 20LOOP
Artículos Relacionados