Arduino controla cabeza madera animatronic (lámpara) (13 / 27 paso)


En el bosquejo, hay código de inicialización para incluir la librería servo, declarar variables, definir qué pernos están en uso etc. y funciones que se llaman en servoCheck() para ejecutar el código que los servos se reposiciona.

La siguiente línea #include es la razonable.  Trae en el código de servo inteligente:

#include / / incluye arduino estándar servo clase (la biblioteca)

La siguiente línea define un retardo (5 milisegundos) para que el servo no se reajusta a menudo. Sin demora, los servos son ser reajustados constantemente y esto puede conducir a agotamiento. Si la demora es demasiado larga, aunque, los servos se convierten en desigual y lento para responder.

int delay_val = 5;  asigna el desfase del incremento del servo (retraso entre valores) para ambos servos

El servocontrol se basa en las señales de entrada analógicas en forma de voltajes de entrada variable, que el Arduino convierte a valores digitales (en otras palabras números!) y luego en el código siguiente se utiliza para manipular estos números y crear salidas digitales para posicionar los servos cuando las entradas son muy variadas. El código en la librería servo.h hace todo el trabajo sucio. El código que debes escribir realmente envía valores de datos muy simple a las funciones de la biblioteca para que todo suceda.

Los voltajes de entrada fueron creados mediante el uso de simples resistencias variables (potenciómetros), uno para cada servo. Potenciómetros (potes) son fáciles de reciclar viejos kit eléctricos, como radios antiguas.  El valor de la resistencia no es especialmente importante. Típicamente son 0-10 k ohmios. Para cada maceta, los polos de la dos fuente están conectados a tierra (tierra) y 5V respectivamente y la señal de salida está conectado a un pin analógico de Arduino.

Para el diagrama del circuito Consulte el paso 10. Es muy sencillo.

Este bit declara el primer servo...

SERVO 1
Servo myservo;  crear objeto servo para controlar un servo
const int potPin1 = 0;  declara que pin analógico se utiliza para conectar la salida de voltaje variable analógica del potenciómetro 1 (servo control 1)
int valPot1;    variable para leer el valor del pin analógico de servo 1

SERVO DE FINAL 1

Este bit declara el segundo servo...

SERVO 2
Servo myservo2; crear el segundo objeto servo para controlar un servo de segunda
const int potPin2 = 1;  declara que pin analógico se utiliza para conectar la salida de voltaje variable analógica del potenciómetro 2 (servo controles 2)
int valPot2;    variable para leer el valor del pin analógico de servo 2
FINAL SERVO 2

SERVOS

void setup() {}

Una vez que han sido declarados los servos (myservo, myservo2), se definen las conexiones de pines de Arduino:

Conecte los servos
myservo.Attach(5);  se fija el servo en el pin 5 al objeto servo
myservo2.Attach(9); segundo servo se conecta al pin 9 al segundo objeto servo
}

Una vez que se han definido los servos, el 'servoCheck()' función se definió . Esto se llama en la función estándar de Arduino 'Bucle ()' para varias ocasiones comprobar entradas y convertir estas salidas que controlan los servos y traducir esto para eyeball movimiento.

void servoCheck() {}
controles servo

Servo 1---
valPot1 = analogRead(potPin1);            Lee el valor del potenciómetro (valor entre 0 y 1023)

La variable valPot1 está tomando la señal de entrada de uno de los potentiomaters.

Para esto se utiliza el comando de analogRead(). Dice el Arduino para convertir el voltaje de entrada analógico crudo (dentro de la gama 0 a 5 voltios) en un valor digital entre 0 y 1023.

El código de servo necesita valores de entrada entre 0 y 179. Utilizará estos valores para establecer su posición. una entrada de 0 posiciones el eje del servo en grados-90 y 179 fijar a 90 grados.

Los rangos de número (0 - 1023 y 0-179) que deba ampliarse. Esto se hace usando la función de () mapa de Arduino. Toma los valores digitales (0 a 1023) entregados por la función analogRead() y escalas de ellos a un número entre 0 y un 179.

valPot1 = mapa (valPot1, 50, 1000, 0, 179);     la escala a utilizar con el servo (valor entre 0 y 180)
myservo.Write(valPot1);                  ajusta la posición del servo según el valor de escala
Delay(delay_val);

---final del servo 1

Esto es lo mismo para el segundo servo

// servo 2 ------------------------

valPot2 = analogRead(potPin2);            Lee el valor del potenciómetro (valor entre 0 y 1023)

digitalWrite (ledPinJoystick, HIGH);
valPot2 = mapa (valPot2, 50, 1000, 0, 179);     la escala a utilizar con el servo (valor entre 0 y 180)
myservo2.Write(valPot2);               ajusta la posición del servo según el valor de escala
Delay(delay_val);
---final del servo 2
acabar con controles servo * /
}

Y eso es todo lo que es

Artículos Relacionados

Arduino controla el temporizador de cocina

Arduino controla el temporizador de cocina

Todos ustedes deben han experimentado esto que tienes algo cocinan sobre su cocina por el otro lado conseguir ocupado viendo la televisión o conseguir una conversación profunda que te das cuenta en la detección de un olor que completamente fue estrop
Idea - cabeza de la lámpara de iluminación

Idea - cabeza de la lámpara de iluminación

¿Quieres crear a un Einstein brillante cabeza de la lámpara que el idiota lo menos técnicamente educado puede hacer?En unos pocos pasos les mostraré cómo crear este objeto, usando principalmente un cortador del laser y una impresora 3D.Paso 1: Materi
Arduino controla el faro

Arduino controla el faro

Resumen:A menudo he pensado que un faro de un gran proyecto para un Arduino, y decidí probar con uno de los faros locales aquí en Erie, Pennsylvania como inspiración. Elegí el Norte Pierhead Faro que custodia la entrada a la bahía de la isla de Presq
Hackeado Hexbug araña Arduino Control

Hackeado Hexbug araña Arduino Control

Este proyecto tiene hexbug araña basada en Arduino robot comprobaré. El sistema de control completa nuestro proyecto proporcionando tanto por teléfono y la computadora.http://make.robimek.com/Arduino-control-Hexbug-Spider/Paso 1: materiales:Hexbug ar
La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

La introducción de Climaduino - el termostato basado en Arduino controlas desde tu teléfono!

Actualización:Hay una nueva versión de la Climaduino y el Climaduino con algunos cambios muy significativos.Soporta múltiples zonasUtiliza el Arduino YúnTrabaja con aire acondicionado CentralSe comunica mediante el protocolo MQTT (se puede integrar c
Arduino controla la tira RGB LED para el salón

Arduino controla la tira RGB LED para el salón

La idea detrás de este pequeño proyecto fue que alguna luz indirecta bastante humor en la sala de estar. Es controlado por el servidor de openHAB (que el proyecto todavía está en la lista que se añade a este sitio) instalado en un Raspberry Pi. Por s
¿Arduino controla ATX fuente de alimentación

¿Arduino controla ATX fuente de alimentación

un microcontrolador controlar su propio poder?  Bueno casi!Una alimentación de ATX de la fuente, ya sea nueva o de una PC vieja, es una gran manera para alimentar el Arduino y otros proyectos de microcontrolador.  Que se cubre en varios ' ibles como
Arduino Control remoto luces con mando a distancia Universal

Arduino Control remoto luces con mando a distancia Universal

ha estado buscando en automatización del hogar por algún tiempo, pero no comprometidos con él todavía principalmente por el precio. El año pasado (2010) me compré estas salida de control remoto, interruptores de encendido/apagado por lo que podría da
Arduino controla puede trituradora con lectura LCD.

Arduino controla puede trituradora con lectura LCD.

Siempre he querido hacer un instructable, pero nunca tuve una idea algo original que no ha sido hecha millones de veces, o algo que no tenía medios de construcción. Tengo algunos amigos que reciclan aluminio y después de ver las grandes bolsas de una
Arduino controla carillones de viento

Arduino controla carillones de viento

Los efectos calmantes de campanadas normalmente dependen del viento, pero este carillón de viento es Arduino powered.En lugar de esperar a que el viento a soplar, es posible excitar a una serie de tubos afinadas mediante solenoides controlados por un
Arduino controla colmena fumigador / ambientador de aire

Arduino controla colmena fumigador / ambientador de aire

Dentro del caos relativo de mi arreglos domésticos, tengo un pequeño oasis de orden perfecto. Una cosa que puedo llamar 'organizado' y totalmente funcional. Una cosa que puedo tocar y saber que es confiable y listo para la acción en un aviso de momen
Barato Arduino control tomas de luz - ingeniería RF inversa

Barato Arduino control tomas de luz - ingeniería RF inversa

Costo de bombillas Smart su primogénito Hijo. Que es una lástima, porque luces inteligentes abre un enorme potencial para domótica, ahorro de energíay todo tipo de proyectos interesantes.Si sólo había una manera de controlar sus luces sin romper el B
Arduino controla perro alimentos/dispensador

Arduino controla perro alimentos/dispensador

En este Instructables describe cómo construir un dispensador de tratar alimentos de perro automático utilizando un Arduino Duemilanove (el Uno es la versión más reciente de la misma Junta). El intervalo de temporizador se puede ajustar mediante un po
Arduino Steve - un Minecraft Animatronic

Arduino Steve - un Minecraft Animatronic

ResumenCon frecuencia hago Introducción a la electrónica para grupos - y después de la teoría del camino - esto es divertido proyecto para ver la teoría en la práctica. Con una poca preparación (pre impreso documentos) se puede completar en menos de