Cómo crear movimientos de barrido con el arduino

Puede crear movimientos de barrido en un servomotor con el Arduino. A barridos de motor servo de 0º a 179º y luego de vuelta otra vez, de una manera similar al movimiento de un reloj viejo rotatorio.

El boceto de barrido

Necesitas:

  • Un Arduino Uno

  • Un servo

  • cables de salto

El cableado para un servo es muy sencilla, ya que viene con un zócalo ordenada, de tres clavijas. Para conectarlo a la placa Arduino, basta con utilizar cables de salto entre los pines de Arduino y las tomas de servo directamente o utilizar un conjunto de pines del conector para conectar la toma a su placa. El servo tiene un conjunto de tres zócalos con cables conectados a ellos, por lo general rojo, negro y blanco.

Video: Tutorial LCD 16 x 2 - Arduino - Auto Scroll - Desplazamiento Mensajes de Texto - Parte3

Todos los cálculos y las lecturas para mover el motor se realizan en el sistema de circuitos dentro de la propia servo, por lo que todo lo que se necesita es poder y una señal desde el Arduino. Red está conectado a 5V en el Arduino para alimentar el motor y el sistema de circuitos dentro de negro IT está conectado a GND a tierra el servo y el blanco se conecta a la clavija 9 para controlar el movimiento servos.

Los colores de estos cables pueden variar, así que siempre consulte la hoja de datos o cualquier documentación disponible para su motor específico. Otros colores comunes son el rojo (5V), marrón (GND) y amarillo (señal).

Completar el circuito como se describe y abrir el boceto del barrido mediante Archivo → Ejemplos → → Servo barrido. El boceto de barrido es como sigue:

// // barrido por BARRAGAN // Este código de ejemplo está en el dominio público. # Include lt;servo.HGT;servo myservo- // crear objeto servo para controlar un servo // un máximo de ocho objetos servo se pueden crearint pos = 0- // variable para almacenar la configuración del servo positionvoid () {myservo.adjuntar(9) - // une 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) - // indicar servo para ir a la posición en // `pos` variablesretrasar(15) - // espera 15 ms para el servo para llegar a la posición} //para(Pos = 180- posgt; = 1- posi- = 1) // va desde 180 grados a 0 grados {myservo.escribir(Pos) - // indicar servo para ir a la posición en // `pos` variablesretrasar(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, poner de relieve los errores gramaticales en rojo en el Área de mensajes cuando son descubiertos.

Video: ✅ Letrero LED Programable

Si el boceto se compila correctamente, haga clic en Cargar para cargar el boceto de su tablero. Cuando el boceto ha terminado de cargar, el motor debe empezar a girar hacia atrás y adelante a través de 180 Degress, haciendo un baile en la mesa.

Si no ocurre nada, se debe a revisar su cableado:

Asegúrese de que está utilizando el pin 9 para los datos de línea (blanco / amarillo).

  • Compruebe que tiene los otros hilos del servo conectado a los pines correctos.

  • El desglose boceto de barrido

    Al inicio de este esquema, se incluye una biblioteca. Esta es la biblioteca de servo y le ayudará a obtener una gran cantidad de su servo con muy poco código complejo.

    #incluir lt;servo.HGT;

    La siguiente línea hace que un objeto de servo. La biblioteca sabe cómo usar servos, pero que necesita para dar a cada uno un nombre para que pueda hablar con cada servo. En este caso, el nuevo objeto Servo se llama myservo.

    Video: Como medir el viento muy fácil. Anemometro simple y con ARDUINO

    El uso de un nombre es similar al nombrar a su variables- es decir, que puede ser cualquier nombre, siempre y cuando sean consistentes a través de su código y que no utilizan los nombres que están reservados por el lenguaje Arduino, como int o retrasar.

    Servo myservo- // crear el objeto servo para controlar un servo // un máximo de ocho objetos servo puede ser creado

    La línea final en las declaraciones es una variable para almacenar la posición de la servo.

    Video: Luz Nocturna Automatica con Arduino - Facil de realizar Programacion paso a paso

    int pos = 0- // variable para almacenar la posición del servo

    En la configuración, el único elemento que desea ajustar es el número PIN de la espiga 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) - // une 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 los 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, .escribir().

    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 otras salidas, después de un servo se actualiza comienza a moverse a su nueva posición en lugar de tener que contar 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) - // indicar servo para ir a la posición en // `pos` variablesretrasar(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, volviendo el servo a su posición de inicio.

     para(Pos = 180- posgt; = 1- posi- = 1) // va desde 180 grados a 0 grados {myservo.escribir(Pos) - // indicar servo para ir a la posición en // `pos` variablesretrasar(15) - // espera 15 ms para el servo para llegar a la posición //}}

    Este es el ejemplo más sencillo servo, y es una buena idea para comprobar si el servo está funcionando correctamente.

    Artículos Relacionados