Paso 4: Hacer conexiones de motores, LEDs y transistores
Entradas y salidas
Ahora necesitamos conectar algunos dispositivos como servos, sensores y LEDs a nuestro controlador. El controlador dispone de entradas y salidas. Cosas como sensores y conmutadores son dispositivos de entrada, mientras que servos, LEDs y motores son dispositivos de salida. Las entradas y salidas son analógicas y digital-una entrada digital es como un interruptor, por lo que es ya sea encendido o apagado. Entradas analógicas son más variable-que es como un atenuador que le da un rango de valores.
Salidas digitales son similares si el pin de salida del controlador se encuentra alta es. Si se ha fijado bajo, entonces es. Esto es genial si quieres encender un motor o un LED. Si desea cambiar el brillo de un LED o hacer un servo motor mueve entonces desea que el controlador de salida pin una salida analógica. Esto se hace utilizando PWM (modulación de anchura de impulso). PWM simplemente permite al programador que fingir una salida analógica de voltaje por el pin de salida alta y luego el pin de salida baja dentro de unos pocos microsegundos o milisegundos de cada uno. Si pulso el pin alto para el mismo período de tiempo que pulso baja obtendrá un voltaje promedio de la mitad del voltaje total para el pin de salida le daría 1.6V en lugar de 3, 3V. La cantidad de tiempo que el perno mantiene alta se denomina anchura de impulso. La relación de tiempo para el pin pasar de baja a alta a la baja se denomina deber ciclo. Si reducir la cantidad de tiempo que el perno se mantiene alto en relación con la cantidad de tiempo que permanece bajo efectivamente bajará la tensión del pin de salida. Realmente suena más complicado que es, pero esto va a venir muy bien más tarde cuando quieras hace LEDs atenúan o mover un servo. Afortunadamente la mayor parte de este complejo material es hecho por ti en las bibliotecas de código de Arduino pero todavía es muy bueno saber.
Sensores de
Hay todo tipo de sensores sensores-curva, resistores sensibles de fuerza, acelerómetros, potenciómetros, joysticks, etc..
Estos sensores analógicos cambian su voltaje de salida según cómo utilizarlos. En los ejemplos, usaremos el botón interruptores para encender y apagar cosas y a usar joysticks (potenciómetros), sensores y acelerómetros para mover servos de la curva.
Al diseñar un sistema de animatronic para vestuario trato de coincidir con el tipo de sensor usado con un movimiento de cuerpo específico. Piense en cómo la persona que usa el traje se va a usar. Sensores de curva son grandes si usted quiere hacer un LED dim o servo mueve doblando el dedo. Para aún más control puedo poner un pequeño joystick en la yema del dedo y usarlo para mover un servo. Para una sistema que hace servos siga su movimiento de la cabeza la cabeza usar un acelerómetro (de un nunchuck de Wii) y usar interruptores de la yema del dedo para activar efectos de sonido. Verás cómo estos funcionan en los ejemplos.
Sparkfun tiene un interruptor de botón pulsador momentáneo de buen tamaño que es ambiente de protoboard-
http://www.Sparkfun.com/products/9190
Aquí está la versión más pequeña-
http://www.Sparkfun.com/products/97
Todos los vamos a usar los sensores están conectados a los pines de entrada de Arduino. Un potenciómetro es un dispositivo comúnmente usado en una aplicación como un perilla de volumen estéreo-it de un tipo de resistor variable. Si usted suministra el potenciómetro con 3.3V al girar la perilla de la tensión de salida que van de 0 a 3, 3V. Un joystick es simplemente dos potenciómetros en un común cubierta, uno para el eje X y para el eje Y.
Sparkfun tiene un potenciómetro de 10K-
http://www.Sparkfun.com/products/9939
También tienen un par de pequeñas palancas de mando-
http://www.Sparkfun.com/products/9032
http://www.Sparkfun.com/products/9426
Un sensor de curva es un resistor que cambia su valor de resistencia según cuánto de la curva. Agregando otra resistencia y crear un divisor de tensión, podemos cambiar el voltaje de salida del sensor de curva para que coincida con el grado de la curva. El único inconveniente para doblar los sensores es que no tienen la amplia gama que cuenta con un potenciómetro.
Sparkfun vende una curva sensor aquí-
http://www.Sparkfun.com/products/8606
Acelerómetros funcionan detectando un cambio en la aceleración y luego alteran su producción en relación con el cambio en la aceleración. Cuando usted incline un acelerómetro mide la aceleración debido a gravedad - más inclinación mayor será el cambio en salida. Acelerómetros se utilizan en dispositivos de juego de video y teléfonos celulares.
Un nunchuck de Wii cuenta con un acelerómetro de 3 ejes, joystick y dos pulsadores por $20.
Motores
Servos
Servos de manía son motorreductores pequeños que tienen una placa de circuito y un potenciómetro para controlar su rotación. Esto les permite ser capaces de moverse a una posición exacta con respecto a la señal de entrada del sensor. Más servos pueden mover casi 180 grados y algunos incluso pueden hacer múltiples rotaciones como rotación continua. Servos tienen tres cables de tierra, alimentación y señal. El cable de señal (generalmente amarillo o blanco) es conectado al pin de salida de Arduino. Los cables de corriente y tierra están conectados a una fuente de alimentación separada, generalmente desde cualquier lugar 4.8V a 6V. La razón para conectar los servos con su propia fuente de alimentación es que los motores generan un poco de ruido eléctrico, que puede causar fallos o un efecto en su movimiento.
Si usted tiene un sensor de entrada que genera un voltaje de entrada de 0-3.3V Arduino lleva a que la tensión analógica y asigna un valor de 0-1023 usando un convertidor analógico a digital (ADC). El código de Arduino entonces le dice el servo hasta qué punto seguir basándose en el valor convertido. Si su sensor de salidas 1. 65V entonces obtendrá una lectura de 511 y el servo movería la mitad de su rotación. Muchas placas Arduino funcionan con 5V por lo que el mismo sensor en la misma posición quedaría 2.5V y el servo todavía rotarían a mitad de camino. Un servo de rotación continua gire en una dirección, como el sensor dio un 1. 65V leyendo y luego invertir la dirección que causó al sensor para elevar el voltaje de entrada.
Control de un servo se realiza mediante PWM. Envías un enviar un pulso al servo en la señal de servo línea cada 20 milisegundos. La anchura de impulso dice el servo qué posición a. Más servos operan dentro de un rango de pulso de 1 a 2 milisegundos un 1 pulso de milisegundo dice el servo para mover a la posición de 0 grados y un pulso de milisegundo 2 dice el servo para mover a la posición de 180 grados. Dice que cualquier pulso entre 1 y 2 milisegundos el servo para mover a una posición que es proporcional entre 0 y 180 grados.
Tengo todos mis servos aquí-
http://www.servocity.com
Motores de corriente continua
A diferencia de la mayoría de los motores servo motores de corriente continua se utilizan mejor cuando usted necesita rotación continua, especialmente cuando se desea alta RPM. Puesto que los motores de la C.C. pueden dibujar una buena cantidad de energía que están conectados con el conector de salida de Arduino usando un transistor o un controlador de velocidad PWM.
Pololu vende una gran variedad de pequeños motores de DC-
http://www.Pololu.com/catalog/Category/22
Motores paso a paso
Normalmente no utilizo motores paso a paso en mis proyectos animatronic (al menos no todavía!) pero sentí que vale la pena mencionar. Motores paso a paso permiten un posicionamiento preciso y control de velocidad de rotación continua. La desventaja de ellos es que necesitan un poco de energía eléctrica y son generalmente perceptiblemente más grande y más pesado que un servo de clasificación par igual. Motores de pasos pequeños se pueden salvar de viejas impresoras y escáneres. A diferencia de los motores de corriente continua, motores paso a paso tienen bobinas individuales múltiples interior que deben activarse en una secuencia adecuada para conseguir que se mueva el motor. El controlador Arduino es capaz de motores paso a paso utilizando una matriz de chip o transistor de controlador específico que es capaz de energizar cada bobina individual en el motor. Para más información sobre steppers échale un vistazo a la sección de referencia.
LED
Pequeños LEDs están bastante simples conectar al Arduino-Recuerde utilizar una resistencia entre el pin de salida del Arduino y el cátodo de la resistencia para limitar el flujo de corriente. Usted puede poner una resistencia en el ánodo o el cátodo del LED-de cualquier manera va a funcionar. La mayoría de los pequeños 3.3v LED tendrá una corriente directa de alrededor de 20 mA por lo que un valor alrededor de 100 ohmios de resistencia funciona bastante bien. Valor de resistencia precisa cálculos tienen una mirada aquí,
http://LED.linear1.org/1LED.Wiz
Para mi Iron Man repulsor hice un pequeño de 2" diámetro placa de LED que tiene 24 LEDs PLCC-2. Usted puede conseguir el desnudo PCB aquí-
http://www.batchpcb.com/index.php/Products/41872
La Junta usa paquete de 24 1206 SMD 100 Ohm resistencias-
http://US.Element-14.com/Vishay-Dale/crcw1206100rjnea/resistor-Thick-Film-100ohm-250mW/DP/59M6948
Con frecuencia Compro PLCC-2 super brillante LED en eBay a buen precio-
http://Stores.eBay.com/bestshop2008hk
LEDs de Luxeon de alta potencia tienen un mucho mayor grado actual y va a funcionar mejor utilizando algún tipo de fuente de corriente constante para coche (hay varios instructables en esto). Un 1 Watt Luxeon LED tendrá una corriente delantera de 350mA por lo que se puede conectar directamente a un pin de salida del Arduino. Muy similar a un motor de la C.C. necesita conectarse a la patilla de salida utilizando un transistor.
Sparkfun vende Luxeon LEDs y un conductor actual constante-
http://www.Sparkfun.com/search/results?term=Luxeon&What=Products
http://www.Sparkfun.com/products/9642
Transistores de
Un transistor es básicamente sólo un interruptor electrónico. Cada pin de salida de Arduino está limitado a 40 mA corriente de salida por lo que utilizaremos un tipo particular conocido como un transistor Darlington NPN transistor para encender dispositivos de alta corriente. Estos transistores tienen tres pernos - el colector, emisor y base. El pin de la base está conectado al pin de salida de Arduino usando una resistencia de 1K Ohm. El pin del colector está conectado al dispositivo de alta potencia y el pin de emisor está conectado a tierra. Cuando el pin de salida del Arduino es alta el transistor se enciende y permite completar un circuito de electricidad.
Para aplicaciones que no tienen poder requisitos 1 Amp diseñé un tablero pequeño transistor que conecta con clavijas de salida digital 10-13 uso de la cinta de cable y dos ocho pines conectores IDC. Esto utiliza cuatro transistores SMD de paquete SOT-23 y cuatro 1206 paquete de resistencias de Ohm SMD de 1 k. El tablero es muy fácil de soldar.
Tablero de transistores PCB-
http://batchpcb.com/index.php/Products/41936
SOT-23 NPN Darlington transistores 4 ea-
http://US.Element-14.com/Fairchild-Semiconductor/mmbt6427/bipolar-Transistor-NPN-40V/DP/58K1891
1206 SMD 1K Ohm resistencias 4 ea -
http://US.Element-14.com/Yageo/rc1206jr-071kl/resistor-Thick-Film-1KOhm-250mW/DP/68R0298
conector IDC de 2 x 4 pin 2-
http://www.surplusgizmos.com/8-pin-2x4-IDC-Ribbon-cable-COnnector_p_1879.html
Para cargas hasta 5A uso un transistor TIP 120 el paquete TO-220. Estos son ideales para pequeños motores de DC y servos. Usar una resistencia de 1K Ohm para conectar la clavija base de transistor en el pin de salida del Arduino.
Generalmente Compro transistores TIP 120 de mi Shack de Radio local. Son muy fáciles de conseguir en línea también.
Fuente de alimentación
Para alimentar el servo Arduino Junta y servos necesita dos separan energía fuentes - una sola célula LiPo batería para el regulador y un pequeño 4.8V-6V batería (4AA pilas trabajo bien) servos de potencia. El tablero servo tiene un socket adicional que proporciona la corriente de la celda de LiPo para dispositivos de baja tensión de alimentación como LEDs.