Cómo crear movimientos de barrido con el arduino
Puede crear movimientos de barrido en un servomotor con el Arduino. A barridos servo motor desde 0 # 186- a 179 # 186- y luego de vuelta otra vez, de una manera similar al movimiento de un viejo reloj rotatorio.
El boceto de barrido
Necesitas:
Un Arduino Uno
Un servo
Cables Jump
El cableado para un servo es muy sencilla, ya que viene con un aseado, toma de tres clavijas. Para conectarlo a la placa Arduino, sólo tiene que utilizar cables de salto entre los pines de Arduino y los zócalos servo directamente o utilizar un conjunto de pines de cabecera para conectar la toma a su tablero. El servo tiene un conjunto de tres tomas con cables conectados a ellos, por lo general de color rojo, negro y blanco.
Todos los cálculos y lecturas para mover el motor se realizan en los circuitos dentro del propio servo, así que todo lo que se necesita es poder y una señal del Arduino. Red está conectado a 5V del Arduino para alimentar el motor y el circuito interior negro IT- está conectado a GND a tierra el servo y el blanco está conectado al pin 9 para controlar el movimiento de los servos.
Los colores de estos cables pueden variar, así que compruebe siempre la hoja de datos o cualquier documentación disponible para su motor específico. Otros colores comunes son de color rojo (5V), marrón (GND), y amarillo (señal).
Complete el circuito como se describe y abrir el boceto Sweep eligiendo File-ejemplos-Servo-barrido. El bosquejo de barrido es el siguiente:
// // Barrido por BARRAGAN // Este código de ejemplo se encuentra en el dominio público. # Include lt;Servo.h>Servo myservo- // crear servo objeto de controlar un servo // un máximo de ocho objetos servo se pueden crearint pos = 0- // variable para almacenar la configuración servo positionvoid () {myservo.adjuntar(9) - // concede el servo en el pin 9 al objeto servo} void loop () {para(pos = 0- pos lt; 180- pos + = 1) // va de 0 grados a 180 grados {// en pasos de 1 degreemyservo.escribir(pos) - // decirle servo para ir a la posición en // 'pos' variablesretraso(15) - // espera 15 ms para el servo para llegar a la posición} //para(pos = 180- pos> = 1- posesión 1 =) // pasa de 180 grados a 0 grados {myservo.escribir(pos) - // decirle servo para ir a la posición en // 'pos' variablesretraso(15) - // espera 15 ms para el servo para llegar a la posición //}}
Después de haber encontrado el boceto, pulse el botón Compile para comprobar el código. El compilador debe, como siempre, resaltar los errores gramaticales en rojo en el Área de mensajes cuando son descubiertos.
Si el boceto compila correctamente, haga clic en Cargar para cargar el boceto para su tablero. Cuando el boceto ha terminado de cargar, el motor debe comenzar a dar vuelta hacia atrás y hacia adelante a través de 180 Degress, haciendo un baile en la mesa.
Si no ocurre nada, debe volver a revisar su cableado:
Asegúrese de que está usando el pin 9 para los datos (amarillo, blanco /) de la línea.
Compruebe que tiene los otros cables servo conectados a los pines correctos.
El desglose boceto Sweep
Al comienzo de este bosquejo, se incluye una biblioteca. Esta es la biblioteca servo y le ayudará a obtener una gran cantidad de su servo con muy poco código complejo.
#include lt;Servo.h>
La siguiente línea hace que un objeto servo. La biblioteca sabe cómo usar servos pero usted tiene que dar a cada uno un nombre para que pueda hablar con cada servo. En este caso, el nuevo objeto Servo se llama myservo.
El uso de un nombre es similar al nombramiento de su variables-, es decir, que puede ser cualquier nombre, siempre y cuando sean compatibles a través de su código y que no utilizan los nombres que están reservados por el lenguaje Arduino, como int o retraso.
Servo myservo- // crea objeto servo para controlar un servo // un máximo de ocho objetos servo se puede crear
La última línea de las declaraciones es una variable para almacenar la posición del servo.
int pos = 0- // variable para almacenar la posición del servo
En la instalación, el único elemento que desea ajustar es el número de pin del pin de Arduino que se está comunicando con el servo. En este caso, se utiliza el pin 9, pero podría ser cualquier pin PWM.
void setup () {myservo.adjuntar(9) - // concede el servo en el pin 9 al objeto servo}
El bucle realiza dos acciones simples, y ambos son para bucles. El primero para bucle aumenta gradualmente la pos variable de 0 a 180. Debido a la biblioteca, se puede escribir valores en grados en lugar de la normal de 0 a 255 utilizado para el control PWM. Con cada bucle, el valor se incrementa en 1 y se envía al servo usando una función específica a la biblioteca servo,
Después de que el bucle actualiza el valor, de un breve retraso de 15 milisegundos se produce mientras que el servo alcanza su nueva ubicación. A diferencia de otros productos, después de que se actualiza un servo que comienza a moverse a su nueva posición en lugar de necesitar que se les diga constantemente.
void loop () {para(pos = 0- pos lt; 180- pos + = 1) // va de 0 grados a 180 grados {// en pasos de 1 degreemyservo.escribir(pos) - // decirle servo para ir a la posición en // 'pos' variablesretraso(15) - // espera 15 ms para el servo para llegar a la posición} //
El segundo para bucle hace lo mismo en la dirección opuesta, devolviendo el servo a su posición de inicio.
para(pos = 180- pos> = 1- posesión 1 =) // pasa de 180 grados a 0 grados {myservo.escribir(pos) - // decirle servo para ir a la posición en // 'pos' variablesretraso(15) - // espera 15 ms para el servo para llegar a la posición //}}
Este es el más sencillo ejemplo servo, y es una buena idea para comprobar si el servo está funcionando correctamente.