Tabla de contenido:

Controle las luces fluorescentes con un puntero láser y un Arduino: 4 pasos
Controle las luces fluorescentes con un puntero láser y un Arduino: 4 pasos

Video: Controle las luces fluorescentes con un puntero láser y un Arduino: 4 pasos

Video: Controle las luces fluorescentes con un puntero láser y un Arduino: 4 pasos
Video: ⚡Alarma Láser - Proyecto Fácil de Electrónica⚠️ 2024, Noviembre
Anonim
Controle las luces fluorescentes con un puntero láser y un Arduino
Controle las luces fluorescentes con un puntero láser y un Arduino
Controle las luces fluorescentes con un puntero láser y un Arduino
Controle las luces fluorescentes con un puntero láser y un Arduino

A algunos miembros del Hackerspace de Alpha One Labs no les gusta la luz intensa que emiten los dispositivos fluorescentes. ¿Querían una forma de poder controlar fácilmente los dispositivos individuales, tal vez con un puntero láser? Desenterré un montón de relés de estado sólido y los llevé al laboratorio. Compré un Arduino Duemilenova y demostré el uso del boceto de ejemplo de LED Blink para hacer parpadear una lámpara halógena. Encontré información sobre el uso de LED como sensores de luz [1] y un boceto de Arduino que demuestra la técnica [2]. Descubrí que los LED no eran lo suficientemente sensibles: el láser tenía que apuntar directamente a la parte emisora de luz, o al LED no se registraría. Así que cambié a fototransistores. Son mucho más sensibles y se encuentran en un rango más amplio de frecuencias. Con el filtro adecuado sobre el transistor, podría hacerlo más sensible a la luz roja, y desde un rango mucho más amplio de ángulos al sensor. RENUNCIA Y ADVERTENCIA: Este instructivo trata con voltaje de línea (red) a 120 o 240 voltios. Use el sentido común si construye este circuito; si tiene alguna duda sobre algo, pregúntele a alguien que sepa. Usted es responsable de su seguridad (y la de los demás) y del cumplimiento de los códigos eléctricos locales.

Paso 1: el bosquejo y algo de teoría

Asumiré que sabe cómo alimentar su Arduino y obtener un boceto compilado y cargado. Para cada lámpara, uso un cable telefónico, ya que es barato, tiene cuatro conductores, y de todos modos tenía un montón por ahí. Usé rojo para común +, negro para tierra, verde para el colector de fototransistor y amarillo para el control de relé +. Un fototransistor pasa una cantidad de corriente que varía con la cantidad de luz que cae sobre él. El convertidor analógico a digital (ADC) en el arduino mide el voltaje en el pin relativo a tierra. Miré la hoja de datos del fototransistor y verifiqué con un multímetro que los transistores pasan 10 mA a plena luz. Usando la ley de Ohm, eso es aproximadamente 500 ohmios a 5V. Para controlar las lámparas utilicé un módulo de relé de estado sólido. Estos son relativamente baratos con la calificación actual que necesitábamos, alrededor de $ 4 por hasta 4A. Asegúrese de comprar módulos de relé con un detector de cruce por cero, especialmente si controla algo inductivo, como una luz fluorescente, un motor o un transformador de pared. Encenderlos o apagarlos en cualquier lugar que no sea el punto cero podría causar picos de voltaje que, en el mejor de los casos, reducirán la vida útil de su electrodoméstico y, en el peor de los casos, provocarán un incendio.

Paso 2: cableado de las luces

Cableado de las luces
Cableado de las luces
Cableado de las luces
Cableado de las luces
Cableado de las luces
Cableado de las luces

Eche un vistazo al techo y decida dónde va a montar el controlador Arduino. Recuerde que necesitará un suministro de energía de 7-12v. Corte trozos de cable telefónico (o cat5 o lo que sea) aproximadamente dos pies más largos que la distancia desde el Arduino a cada luz que desea controlar. Observe la conexión de las líneas eléctricas desde el interruptor hasta el balasto. Es posible que pueda solicitar conectores (Newark Electronics vende la serie Wago 930, que es lo que teníamos). Entonces no necesitará cortar los cables existentes y puede quitar el sistema si algo sale mal. Suelde el suelo (negro) a la entrada de relé - y el control (amarillo) a la entrada de relé + (el código de color en la imagen es diferente de lo que puse en la portada, ya que cambié de opinión sobre lo que tendría sentido). Suelde o atornille (según su relé) el cable negro (vivo) a través del relé. ¡Asegúrese de usar cinta aislante y termocontraíble! Empuje los cables negros en sus conectores y el blanco (neutro) y tierra (verde) son directamente de conector a conector. El otro extremo de los cables va al Arduino de la siguiente manera: Todos los cables rojos (cátodo común o colector) vaya a Analógico 0 (puerto C0), y todo el negro a tierra. Cada verde (ánodo o emisor) va a los pines 8-13 (puerto B 0-5) y los cables amarillos van a los pines 2-7 (puerto D 2-7). ¡Asegúrese de que los cables verde y amarillo coincidan, ya que el sensor necesita controlar el relé adecuado! Si pones el amarillo en el pin 2, el verde del mismo dispositivo va al pin 8.

Paso 3: probar el boceto y las notas de diseño

En este paso, hablaré sobre algunas de las pruebas y tribulaciones que encontré en el camino, y cómo las supere, con la esperanza de que sea útil. Siéntase libre de pasar al siguiente paso si el contenido científico no es lo suyo:-) El primer paso fue decidir si utilizar la detección capacitiva o la detección resistiva. La detección resistiva consiste en conectar el sensor a través de una resistencia a uno de los pines analógicos y realizar una lectura analógica y comparar con un umbral. Esto es más simple de implementar, pero requiere mucha calibración. La teoría de la detección capacitiva es que cuando se polariza inversamente (- al cable + y viceversa), un LED no permitirá que fluya la corriente, pero los electrones se acumularán en un lado y dejar el otro lado, cargando efectivamente un condensador. La luz que cae sobre el LED a la frecuencia que normalmente emite en realidad hará que fluya una pequeña corriente, que descarga este condensador. Entonces, si cargamos el 'capacitor' del LED y contamos cuánto tiempo se tarda en descargar a través de una resistencia, obtenemos una idea aproximada de cuánta luz cae sobre el LED. En realidad, esto resultó ser más confiable en diferentes dispositivos, ¡e incluso funciona para fototransistores! Dado que no estamos haciendo una medición de lumen precisa, y el puntero láser debería aparecer mucho más brillante que el ambiente, solo buscamos un tiempo de descarga umbral. La otra parte importante de esta aventura es la depuración. Para aquellos familiarizados con la programación de sistemas no integrados, un método popular es agregar declaraciones de impresión en puntos críticos del código. Esto también se aplica a los sistemas integrados, pero cuando cada microsegundo cuenta, la cantidad de tiempo para Serial.write ("x es"); Serial.writeln (x); en realidad es bastante importante y es posible que se pierda muchos eventos en el proceso. Por lo tanto, recuerde colocar siempre sus declaraciones impresas fuera de los bucles críticos o en cualquier momento que espere un evento. A veces, el parpadeo de un LED es suficiente para hacerle saber que llegó a cierto punto del código.

Paso 4: agregar control web

Agregar control web
Agregar control web

Si miró a través del boceto, notó que también leo el puerto serie y actúo con algunos comandos de un solo carácter. El carácter 'n' enciende todas las luces y la 'f' las apaga. Los números '0' - '5' alternan el estado de la luz conectada a esa salida digital, por lo que puede armar fácilmente un script CGI (o servlet, o cualquier tecnología web que haga flotar su barco) para controlar sus luces de forma remota. El Serial.writes también genera cada vez que se cambia una luz desde la entrada del usuario, por lo que la página puede tener actualizaciones de Ajax para mostrar el estado actual. Otra cosa con la que voy a experimentar es detectar movimiento en una habitación. Las personas reflejan la luz y, a medida que se mueven, esa luz cambiará. Esa es la parte 'delta' de las declaraciones de escritura que tengo.

Recomendado: