Persianas Inteligentes: Controle Automático de Luz com Arduino e Energia Solar
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| SparkFun Arduino Pro Mini 328 – 5V/16MHz | 1 |
| Arduino UNO (para programar o Pro Mini) | 1 |
| Sensor de Temperatura LM35DZ | 1 |
| Transistor PNP PN2907A | 1 |
| LDR (Resistor Dependente de Luz) | 1 |
| Resistor 10k Ω | 1 |
| Resistor 1k Ω | 1 |
| Painel Solar 5V 1.5W | 1 |
| Boost DC-DC 5V | 1 |
| Módulo Carregador de Bateria LiPo | 1 |
| Conectores JST | 1 kit |
| Suporte 4xAA (para bateria LiPo 18650) | 1 |
| Servomotor Tower Pro MG996R | 1 |
| Bateria LiPo Recarregável 3.6V | 1 |
| Acoplamento para Servo | 1 |
| Capacitor 100 nF | 1 |
| PCB Personalizada (OSH Park) | 1 |
| Fios sortidos | 1 kit |
Ferramentas Necessárias
- Ferro de Solda
- Furadeira
- Solda
- Alicate de Corte
- Descascador de Fios
- Multímetro
- Dremel ou ferramenta rotativa
- Protoboard / Placa de Circuito
- Tubo Termorretrátil
Aplicativos e Serviços
- Arduino IDE
Sobre o Projeto
Este projeto aprimora o design original de Persianas Horizontais Automatizadas com Energia Solar. O objetivo: abrir/fechar as persianas conforme a luminosidade e a temperatura, sem fiação externa, com autonomia energética e custo acessível (~US$ 50).
Funcionalidades
- Abrir (rotacionar para 85°) pela manhã para entrada de luz.
- Fechar (0° – lâminas para baixo) à noite para privacidade.
- Fechar (165° – lâminas para cima, contra o sol) se a temperatura exceder 30 °C (ajustável).
- Operação totalmente autônoma, sem caixas ou fios visíveis (Wife Acceptance Factor).
- Sustentável: bateria dura meses sem recarga.
Problemas do Design Original e Soluções
- Posição do painel solar: A casa não fica voltada exatamente para o sul; no verão o sol passa por cima do telhado, sombreando o painel. Solução: reposicionar o painel para maximizar exposição anual.
- Consumo do servo em standby: O servomotor consumia 13 mA continuamente. Solução: chaveamento high-side com transistor PNP (PN2907A) para cortar alimentação do servo quando inativo.
- Painel solar 6V incompatível: O módulo carregador LiPo aceita 4.5–5.5V; painel de 6V fazia o carregador desligar. Solução: usar painel 5V adequado.
- Falta de logs: Dificultava diagnóstico. Solução: implementar logging em EEPROM.
- Conexões fixas: Impossibilitava desconectar bateria/painel para manutenção. Solução: conectores JST entre bateria-circuito e painel-circuito.
- Referência de tensão instável: Leituras de temperatura/luz usavam a saída não regulada do boost. Solução: usar o pino VCC regulado (5V) do Arduino Pro Mini como referência.
Passo a Passo
1. Lista de Materiais
Veja a tabela acima. Links de compra sugeridos: SparkFun, Banggood, Tayda Electronics, Amazon.
2. Ferramentas
Conforme lista de ferramentas.
3. Prototipagem
- Teste o boost DC-DC com a bateria LiPo (deve sair ~5.04V).
- Monte todo o circuito em protoboard sem solda para desenvolver código e medir correntes.
- Conecte: módulo carregador ↔ bateria + painel solar; fio do painel → A0 (log tensão painel); fio da bateria → A1 (log tensão bateria); saída 5V do boost → pino RAW do Arduino; GND comum; pino VCC do Arduino → todos os componentes que precisam de 5V regulado; servo → coletor do transistor PNP; emissor do PNP → 5V do boost; base do PNP → resistor 1k → pino 11 (controle); LDR + resistor 10k → GND, junção → A3; LM35DZ: VCC → 5V regulado, GND → GND, saída → A2; servo: sinal → pino 10, GND → GND, alimentação → coletor do PNP.
- Meça corrente em repouso sem servo e depois com servo. O transistor PNP em configuração high-side elimina o consumo parasitário do servo.
4. Programação
Programe o Pro Mini usando um Arduino UNO como programador (remova o ATmega328P do UNO, conecte 5V, GND, TX→TX0, RX→RXI, RESET→RST). No Arduino IDE, selecione "Arduino Pro or Pro Mini". O sketch completo está no GitHub (SmartBlinds) e usa a biblioteca EEPROMLog para registro de eventos.
5. Montagem Final
- Solde fios de núcleo sólido nos conectores JST (alongando-os ~60 cm para o painel solar).
- Recorte a PCB no tamanho necessário, organize os componentes de forma compacta.
- Remova o LED indicador do boost DC-DC (raspe a trilha) para economizar ~1 mA.
6. Última Programação e Teste
- Reative o logging EEPROM (comentado durante prototipagem).
- Meça consumo final: ~1.5 mA em sleep (LowPower library), ~25 mA ativo, 200–500 mA movendo persianas. Com bateria 900 mAh, estima-se ~600h sem carga solar.
7. Instalação nas Persianas
- Remova o mecanismo de corda (corkscrew) que oferece resistência excessiva.
- Fure a lateral da persiana para o LDR.
- Corte abertura para o servomotor (lado externo) com Dremel; lixe/bordas com fita.
- Insira a PCB, passe o LDR pelo furo.
- Fixe o servo no eixo da persiana (aperte o parafuso). Inicie o código: o servo vai a 90°, aguarde 10s, desligue a bateria, posicione manualmente as lâminas a 90° e recoloque o servo.
- Instale a persiana na janela.
- Posicione o painel solar no terço superior do vidro central, fixe fios com fita.
- Conecte painel solar → circuito, conecte bateria, encaixe a persiana. O sistema moverá para centro, aguardará 10s e posicionará conforme lógica.
- Recoloque o acabamento decorativo.
8. Aproveite!
As persianas operam suavemente. Após meses de uso, comportam-se exatamente como planejado. Curiosidade: se luzes do corredor e hall estiverem acesas, as persianas permanecem abertas após o anoitecer – ótimo para demonstrar o funcionamento.
Código
Repositórios no GitHub:
Esquemático
Arquivo Fritzing: SmartBlinds.fzz
Processo de manufatura
- Bartender Inteligente: Construa sua Própria Estação de Coquetéis com Raspberry Pi
- Persianas Inteligentes: Controle Automático de Luz com Arduino e Energia Solar
- Construa um Sensor de Obstáculos Simples com Arduino – Tutorial Fácil com LED IR e Fotodiodo
- Tênis Inteligentes com Auto-Ajuste e Colheita de Energia Integrada
- Rastreador Solar IoT: Gestão Inteligente de Energia com Arduino
- Braço Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
- Sistema Inteligente de Monitoramento de Temperatura para Escolas: Preciso, Tempo Real e Seguro
- Luva Inteligente de Gestos para Texto – Linguagem de Sinais
- Carregador Inteligente Avançado de Baterias com Multiplexação e Display Digital
- Circuito de Entrada Analógica Isolada para Arduino