automation arduino embedded

automation - Control de iluminación con el arduino.



embedded (5)

Me gustaría comenzar con el Arduino para hacer algo que (preferiblemente) atenúe las luces de mi habitación y encienda algunas luces empotradas para mi computadora cuando se activa un botón o interruptor.

En primer lugar, ¿es esto posible con el Arduino?

En segundo lugar, ¿cómo puedo encender y apagar las luces reales con él? ¿Algún tipo de relevo, tal vez?

¿Alguien sabe de un buen tutorial o algo donde se cubran al menos partes de esto? No tendré problemas con la programación, simplemente no sé por dónde empezar con el hardware.


Como inicio rápido, puedes conseguir uno de esos dimmerpacks (50-80 € por cuatro lámparas). luego construya la electrónica para que el arduino envíe controles DMX: Arduino DMX shield

Obtendrá tanto la experiencia arduino como una buena posibilidad de no freír su entorno con un voltaje más alto.


La mayoría de la gente lo hace usando triacs. Un triac es como dos diodos en antiparalelo (en paralelo, pero con su polaridad invertida) con un pin de disparo. Un triac conduce la corriente en cualquier dirección solo cuando se dispara. Una vez activado, actúa como un diodo regular, continúa conduciendo hasta que la corriente cae por debajo de su umbral.

Puede verlo como un interruptor bidireccional en una línea de CA y puede variar la corriente media activándola en diferentes momentos en relación con el momento en que la onda sinusoidal de CA cruza a cero.

A grandes rasgos, funciona así: en el cero de onda sinusoidal de CA, sus diodos se apagan y su lámpara no recibe energía. Si dispara los diodos, digamos, a mitad de la oscilación del seno, la lámpara obtendrá la mitad de la corriente normal que obtendría, por lo que se enciende con la mitad de su potencia, hasta que la onda sinusoidal vuelva a ser cero. En este punto empiezas de nuevo.

Si dispara el triac más pronto, su lámpara se activará durante un intervalo de tiempo más largo, más brillante. Si dispara su último triac, su lámpara brilla más débil.

Lo mismo se aplica a cualquier carga de CA.

Es casi el mismo principio de PWM para DC. Usted enciende y apaga su fuente actual más rápido de lo que su carga puede reaccionar. La cantidad de tiempo que se enciende es proporcional a la corriente que recibirá su carga.

¿Cómo haces eso con tu arduino?

En términos simples, primero debe encontrar el cruce por cero de la red eléctrica, luego configurar un temporizador / retardo y, al final, activar el triac.

Para detectar el cruce por cero, normalmente se utiliza un optoacoplador. Conecta el lado led del acoplador con la red eléctrica y el lado del transistor con el pin de interrupción de su arduino. Puede conectar sus pines IO arduino directamente a los disparadores de los triacs, pero yo usaría otro optoacoplador para estar seguro.

Cuando la onda sinusoidal se acerca a cero, recibe un pulso en su pin de interrupción. En esta interrupción configura un temporizador. cuanto más largo sea el temporizador, menos potencia obtendrá su carga. También restableces el estado de los pines de tus triacs. En esta interrupción de los temporizadores, establece sus pines IO para activar los triacs.

Por supuesto, debe comprender un poco el lado del hardware para no freír su tabla y quemar su casa. Y no hace falta decir que debe tener cuidado de no suicidarse cuando se trata de la red de alimentación AC =).

HERE está el proyecto que me inició hace un tiempo. Utiliza AVRs por lo que debería ser fácil de adaptar a un arduino. También es bastante completo, con esquemas. Su software es un poco complejo, por lo que debe comenzar con algo más simple.


Solo hay un montón de este tipo de cosas en el sitio de la revista Make . Creo que incluso puedes encontrar algunos ejemplos de hacks similares.


Una alternativa (y más segura que jugar con triacs: confía en mí, me sorprendió una vez y ¡ya es suficiente!) Es usar los dispositivos de domótica X-10 .

Hay un dispositivo PC (RS232) (CM12U UK o CM11 US) que puede controlar los demás. También puede obtener módulos de lámpara que se ajustan entre la lámpara y la toma de corriente de la pared, lo que le permite atenuar la lámpara mediante el envío de señales a través de la red y los módulos de interruptor que encienden y apagan las cargas.

El Arduino tiene un conector RS232 de nivel TTL (es básicamente lo que usa la conexión USB) - Los pines 0 y 1 en la Diecimila para que pueda usarlo, conéctelo a través de un convertidor de nivel que puede comprar o hacer y conéctelo al X-10. controlador, sus instrucciones en el sitio web de Arduino para hacer un puerto RS232 .

Alternativamente, puede usar algo como el FireCracker para X-10 que usa 310MHz (US) o 433MHz (UK) y hacer que su Arduino envíe señales de RF que el TM12U convierte en señales de red X-10 adecuadas para los reguladores, etc.

En los EE. UU., Los módulos X-10 también son muy baratos (lamentablemente no es el caso en el Reino Unido).


Utilizo MOSFET para atenuar las tiras de LED de 12V con Arduino. Elegí IRF3710 para mi proyecto con un disipador de calor para estar seguro, y funciona bien. Lo probé con una lámpara halógena de 12V, también funcionó.

Conecto el pin de salida PWM de Arduino directamente al pin de la puerta de mosfet, y uso un código de escritura analógica para controlar el brillo.

Con respecto a la segunda pregunta sobre el control de las luces, puede encender / apagar 220V usando relés, como se ve parcialmente en mi foto, hay muchas tablas para esto, elegí esto: