Controlador GrowBox com Arduino – Firmware e Hardware Open-Source
Componentes e Materiais
- Arduino Mega 2560
- Arduino Ethernet Shield 2
- Sensor de Temperatura DHT22 – 2 unidades
- Sensor de Temperatura Digital à Prova d'Água DS18B20 Adafruit – 2 unidades
- Shield 4 Relés Arduino
- Seeed Grove RTC
Ferramentas Necessárias
- Ferro de Solda (genérico)
Aplicativos e Serviços Online
- EmonCMS
Sobre o Projeto
O Arduino GrowBox Controller está disponível no GitHub. Compartilhei, sob licença GPL3, o firmware desenvolvido ao longo de anos para minha GrowBox.
No meu site, já compartilhei a construção da GrowBox, modificações ao longo do tempo e fotos do cultivo.
Graças ao Arduino Mega 2560 Rev.3, este firmware open-source oferece:
- Pequeno servidor web para configuração
- Transmissão de dados para instância EmonCMS
- Logging de dados em cartão SD (arquivos CSV baixáveis pela página web)
Sensores Utilizados
- DHT22: temperatura e umidade, dentro e fora da box
- DS18B20: temperatura de vaso amostra e solo/terra
O Ethernet Shield permite configuração remota, visualização de dados e download de logs. Torna display LCD 20x4 redundante, mas útil quando não quer usar celular/tablet.
Integração com EmonCMS mantém histórico e monitora tendências de qualquer lugar. Se já usa EmonCMS para monitoramento energético, pode integrar este dispositivo também.
No último ano cultivo apenas pimentas, mas em 2018 cultivei tomates, abobrinhas, pimentas (não picantes), berinjelas, melancias e melões para horta. Início antecipado pois onde moro o verão é curto. Comer tomates em junho é incrível!
Funções Implementadas
Controle de Parâmetros Ambientais
Controle de Temperatura da GrowBox
- Temp. Mínima: Abaixo deste limiar, aquecedor é ativado
- Temp. Máxima: Acima deste limiar, aquecedor é desativado
Limiares de Umidade
- Umidade Mínima (%UR): Abaixo, umidificador ativado
- Umidade Máxima (%UR): Acima, umidificador desativado
Temperatura do Solo/Areia
- Temp. Mín. Solo: Ativa aquecimento se temp. solo abaixo disto (e temp. interna também abaixo do mínimo)
- Temp. Máx. Solo: Desativa aquecimento mesmo se temp. interna exigir. Evita danos ao vaso e raízes
Controle de Iluminação
- Hora Início / Minuto Início: quando ligar luzes
- Hora Fim / Minuto Fim: quando desligar luzes
Exemplo: ligar 6:30, desligar 22:30 → Início: 6h30, Fim: 22h30.
Rede
- Endereço IP: IP estático
- Máscara de Sub-rede
- Gateway: IP do gateway
- DHCP: Marque se necessário (configurações acima ignoradas)
Ventiladores
Algumas lâmpadas esquentam muito; programas diferentes para "dia" e "noite".
Ventiladores – Luz LIGADA
- Duração: minutos
- Intervalo: horas entre ativações
Ventiladores – Luz DESLIGADA
- Duração: minutos
- Intervalo: horas entre ativações
Relógio de Tempo Real (RTC)
Defina hora local para logs precisos e reinício automático após queda de energia.
Frequência de Aquisição e Logging
Separados pois controlador pode reagir rápido (aquisição rápida) mas não precisamos de todos os dados. Logging rápido = arquivos CSV maiores, mais transmissão para EmonCMS, download mais lento.
- Taxa de Amostragem: segundos. Controlador reage mais rápido
- Taxa de Transmissão e Log: minutos entre atualização CSV e envio ao EmonCMS
PCB para Arduino GrowBox Controller
Iniciei design de "shield" para Arduino Mega, facilitando conexão de Ethernet shield, relés e sensores. Usei Eagle, fontes no GitHub.
Próximos Passos
- PID para aquecimento, usando relé de estado sólido (SSR) para controlar elemento aquecedor, aumentando eficiência energética e controle de temperatura
- MQTT para integração em automação residencial ou plataformas IoT como ThingsBoard.io
- NTP para ajustar RTC e evitar erros
- Pré-aquecimento: iniciar aquecimento antes de apagar luzes para maior estabilidade térmica
- Irrigação com sonda em vaso amostra
Aproveite o projeto! Compartilhe seu cultivo!
Código
Arduino GrowBox Controller
Firmware Arduino para Controlador GrowBox: GitHub Repository
Esquemáticos
Arduino GrowBox Shield
Esquemático e PCB Eagle para o shield (ainda não fabricado): GitHub
Processo de manufatura
- Guia Profissional de Animação de Bitmap no Shield TFT Touchscreen ILI9341 2,4″ com Arduino
- Sistema de Iluminação DMX Controlado via Web – Controlador Mestre Arduino
- Construa um Spybot Controlado por Bluetooth com Arduino
- Controle USB para Jogos DIY com Arduino – Construa Seu Próprio Gamepad de Alto Desempenho
- Unopad: Controlador MIDI Arduino Perfeito para Ableton Live
- Veículo Remoto Controlado por Android com Raspberry Pi e Motor Shield
- Kit Controlador de Display Fluorescente a Vácuo (VFD) Baseado em Arduino
- Controlador Residencial Arduino com Alexa: Automação Inteligente Simplificada
- Shield de Programação Wireless Arduino com HC-05 Bluetooth – Sem Cabo USB
- Crie um Battle Bot Controlado Remotamente com um Controle PS2