Una persiana motorizada con Arduino es viable, pero no se monta como una maqueta. Arduino trabaja a 5 V y solo da órdenes. La persiana eléctrica de casa gira con un motor tubular de 230 V con dos fases, una para subir y otra para bajar. Entre ambos mundos hacen falta relés con enclavamiento, protección frente a interferencias y un método para conocer la posición. Con eso resuelto, la misma placa atiende un sensor de luz, un horario o una orden por wifi.
En la misma guía: Domótica con Arduino: guía de referencia · Instalaciones domóticas y ahorro energético
Cómo funciona una persiana motorizada controlada por Arduino
El sistema tiene cuatro bloques. Móntelos en este orden:
- Potencia: relés que conmutan la fase de subida o la de bajada.
- Lógica: Arduino Uno para las pruebas y Arduino Nano para la instalación final, con el mismo cableado.
- Posición: tiempo de recorrido, encoder o finales de carrera.
- Entradas: pulsadores, sensor de luz, reloj, mando IR o wifi.
El Arduino nunca toca los 230 V. Lee entradas, decide y excita la bobina de un relé, que es quien alimenta el motor. En las obras que acompaño siempre dejo un interruptor de persiana convencional como respaldo: si la placa se cuelga, la persiana sigue funcionando. Para elegir placa y módulos, consulte la guía de placas, shields y relés.
Motor y electrónica de potencia
Para un motor tubular de 230 V, use dos relés con enclavamiento por hardware. El primero da o corta la fase. El segundo, conmutado (contactos NA y NC), envía esa fase al hilo de subida o al de bajada. Así es físicamente imposible alimentar los dos sentidos a la vez.
Esto importa porque el motor monofásico lleva un condensador entre sus devanados. Si recibe subida y bajada simultáneamente, ese condensador queda en cortocircuito y el motor se daña o salta la protección. El montaje habitual de un relé por sentido, vigilado solo por software, depende de que el programa no falle nunca. Añada además una pausa de unos cientos de milisegundos antes de invertir el giro y elija relés con margen para cargas inductivas.
El puente H sirve para motores de corriente continua, como los de maqueta o de 12 V: invierte la polaridad con transistores. Existen montajes con puentes H MOSFET de 50 A, pero ninguno vale para un tubular de alterna. El esquema completo está en control de persianas con Arduino: motores y relés.
Motor tubular de 230 V frente a servo o motor paso a paso
Un servo o un motor paso a paso, alimentados entre 5 y 12 V, mueven una maqueta o un estor ligero. Una persiana de lamas pesa kilos y necesita un tubular dentro del eje. El criterio es el par en newton metro (Nm), que depende del peso: superficie por peso por metro cuadrado.
| Material | Peso aproximado |
|---|---|
| PVC | unos 4 kg/m² |
| Aluminio térmico | 4,5 kg/m² |
| Aluminio extruido o blindado | 6 a 8 kg/m² |
| Madera | 11 kg/m² |
Una ventana de 1,30 × 1,50 m pesa unos 8 kg en PVC y unos 21 kg en madera; ambas caben en 10 Nm. Elija con margen: un motor justo se calienta antes. El eje más común en vivienda es de 60 mm; uno de 40 mm se queda corto en una balconera. El motor sin instalar cuesta entre 100 y 300 € según gama.
Conocer la posición: tiempo de recorrido, encoder y finales de carrera
Para abrir o cerrar del todo, confíe en los finales de carrera internos del tubular: se ajustan una vez y cortan el giro en los extremos. Para posiciones intermedias, cronometre la subida completa y calcule el porcentaje por tiempo activo, recalibrando en cada extremo. Si necesita precisión, un disco ranurado con sensor de haz interrumpido, sobre el eje o una correa GT2, cuenta vueltas reales. Guarde la posición en la EEPROM.
if (orden == SUBIR && estado != ABIERTA) { activarSubida(); inicio = millis(); } if (motorActivo && millis() - inicio >= T_RECORRIDO) { pararMotor(); estado = ABIERTA; } Use millis() y no delay(): con delay() la placa ignora pulsadores y mando mientras el motor gira.
Seguridad eléctrica al conectar un motor de persiana de 230 V
Antes de abrir la caja de registro, baje el magnetotérmico del circuito y compruebe ausencia de tensión con un comprobador en fase, subida, bajada y neutro. Los módulos de relés de aficionado tienen poca separación entre pistas: móntelos en caja cerrada, lejos del cableado de 5 V.
En España, la instalación debe cumplir el REBT (Real Decreto 842/2002); la ITC-BT-51 regula los sistemas de automatización en viviendas. Llevar 230 V al cajón o modificar la caja de registro corresponde a una empresa instaladora autorizada, que emite el certificado de instalación. Recurra a ella para esa parte y limite su trabajo a la electrónica de baja tensión.
Modos de control: luz, horario, mando IR y wifi
- Sensor de luz: LDR en entrada analógica con dos umbrales separados, para que la persiana no oscile al anochecer.
- Horario: módulo RTC con la librería TimeLib; mantiene la hora sin conexión.
- Mando IR: receptor VS1838 a 38 kHz y librería IRremote.
- Wifi: ESP8266.
Para integrarla en Home Assistant, el ESP8266 se conecta a un broker MQTT, se suscribe a un tema de órdenes (abrir, cerrar, parar, posición) y publica estado y porcentaje. Con MQTT discovery aparece como entidad de tipo persiana sin configuración manual. Un asistente de voz solo la controla si Home Assistant expone esa entidad: esa es la pieza que lo hace posible. Si llega una orden con el motor en marcha, pare primero y ejecute después.
FAQ
¿Se puede motorizar una persiana manual con Arduino?
Sí, pero primero hay que instalar un motor tubular en el eje o un kit que sustituya al recogedor de cinta. Arduino solo gobierna el motor mediante relés. Una persiana con lamas rotas o guías torcidas debe repararse antes: el motor no corrige problemas mecánicos.
¿Por qué se reinicia el Arduino al arrancar el motor de la persiana?
Por la chispa de los contactos al conmutar una carga inductiva o por compartir alimentación con los relés. Coloque un circuito RC en los contactos, use una fuente de alimentación externa separada para las bobinas y prefiera módulos de relés optoacoplados.

