
Aqui está o diagrama geral do sistema inteiro.

Página de resumo do projeto final
O que você projetou?
O meu projeto final é um controlador de sistema de irrigação. Ele me deixa programar as irrigações por zona e horário, e também mostra a umidade e a temperatura. A placa tem pinos extras para expansão.
Existem várias empresas que vendem sistemas controladores de irrigação.
No site do Alibaba dá para ver muitas opções, com uma faixa de preço quase infinita, e de recursos também.

JOGIN FRANCIS fez uma válvula automática muito legal para automação de irrigação, que com certeza poderia somar ao meu projeto, mas por enquanto vou me concentrar mais na interface e no controlador e usar válvulas comerciais.

João Milheiro também fez um sistema de irrigação. Ele usa o sistema para controlar o ambiente de um kit de cultivo de cogumelos.

Projetei a placa, que tem no centro um ESP32, relés para acionar vários equipamentos, como válvulas solenoides e uma bomba, e um sensor.
Também projetei a caixa à prova d'água e uma vedação.
Por fim, projetei a interface web para permitir a conectividade e a operação do sistema.
Não projetei válvulas, sensores, atuadores nem fontes de alimentação. Esses foram itens comerciais que integrei ao meu projeto final.
Para responder às perguntas acima, fiz uma planilha.
| Materiais e componentes | Finalidade | Origem | Links | Quantidade | Preço unitário | Custo total |
|---|---|---|---|---|---|---|
| MDF Forescolor | para a caixa | Estoque do Fablab | forescolor.com | 90000mm2 (30 × 30 cm) | $0.000027/mm2 | $2.43 |
| Silicone | para a vedação | Estoque do Fablab | amazon.es | 50g | $0.05/gram | $2.39 |
| Resina epóxi | para impermeabilizar ainda mais o interior da caixa e ajudar na difusão da luz dos LEDs | Estoque do Fablab | amazon.es | 50ml | $0.01/ml | $0.60 |
| Total | $5.42 |
Placa eletrônica
| Valor | Encapsulamento | Descrição | Links de compra | Quantidade | Preço unitário | Custo total |
|---|---|---|---|---|---|---|
| Placa virgem | Proto Board Copper Clad FR1, Single Sided, 1 oz. 5.00" x 4.00" (127.0mm x 101.6mm) | digikey.com | 1 | $2.44 | $2.44 | |
| FTDI-SMD-HEADER | 1X06SMD | CONN HEADER R/A 6POS 2.54MM | digikey.com | 1 | $0.18 | $0.18 |
| 22-23-2021 | 22-23-2021 | CONN HEADER VERT 2POS 2.54MM | digikey.com | 1 | $0.17 | $0.17 |
| header2x6 | 2X03 | CONN HEADER VERT 6POS 2.54MM | digikey.com | 2 | $0.48 | $0.96 |
| SWITCH | SWITCH TACTILE SPST-NO 50MA 12V | SWITCH TACTILE SPST-NO 50MA 12V | digikey.com | 2 | $0.20 | $0.40 |
| 0.1uF | C1206FAB | CAP CER 0.1UF 50V X7R 1206 | digikey.com | 2 | $0.11 | $0.22 |
| 100uF | C1206FAB | CAP CER 100UF 10V X5R 1206 | digikey.com | 1 | $1.49 | $1.49 |
| 15pf | C1206FAB | CAP CER 15PF 50V 1206 | digikey.com | 2 | $0.19 | $0.38 |
| 1nF | C1206FAB | CAP CER 1206 1NF 250V X7R 10% | digikey.com | 1 | $0.27 | $0.27 |
| ESP32-WROOM-32 (16MB) | ESP-WROOM-32 | WIFI MODULE 128MBITS SPI FLASH | digikey.com | 1 | $4.50 | $4.50 |
| LED | LED1206 | Standard LEDs - SMD 1206 Blue | eu.mouser.com | 7 | $1.45 | $10.15 |
| 100ohm | R1206 | RES SMD 100 OHM 1% 1/4W 1206 | digikey.com | 5 | $0.57 | $2.85 |
| 10k | R1206 | RES SMD 10K OHM 1% 1/4W 1206 | digikey.com | 3 | $0.57 | $1.71 |
| 1.2Mohm | R1206 | RES SMD 1.2M OHM 5% 1/4W 1206 | digikey.com | 1 | $0.10 | $0.10 |
| 1.5Mohm | R1206 | RES SMD 1.5M OHM 1% 1/4W 1206 | digikey.com | 1 | $0.18 | $0.18 |
| 150ohm | R1206 | RES SMD 150 OHM 5% 1/4W 1206 | digikey.com | 2 | $0.10 | $0.20 |
| 1K | R1206 | RES SMD 1K OHM 1% 1/4W 1206 | digikey.com | 4 | $0.57 | $2.28 |
| 220ohm | R1206 | RES SMD 220 OHM 1% 1/4W 1206 | digikey.com | 4 | $0.10 | $0.40 |
| SRD-05VDC-SL-C | RELAY_SRD-05VDC-SL-C | SRD-5VDC-SL-C 5 Pin PCB Type | banggood.com | 4 | $1.99 | $7.96 |
| ACS712 | SO08 | SENSOR CURRENT HALL 20A AC/DC | digikey.com | 1 | $2.32 | $2.32 |
| Diode | SOD123 | DIODE GEN PURP 100V 200MA SOD123 | digikey.com | 4 | $0.13 | $0.52 |
| EL817(S)(D)(TU)-V | SOIC254P1030X460-4N | OPTOISOLTR 5KV TRANSISTOR 4-DIP | digikey.com | 4 | $0.18 | $0.72 |
| BCX70SMD | SOT23 | TRANS NPN 45V 0.1A SOT23 | digikey.com | 4 | $0.19 | $0.76 |
| MCP1700T-3302E/TT | SOT95P237X112-3N | IC REG LINEAR 3.3V 250MA SOT23-3 | digikey.com | 1 | $0.37 | $0.37 |
| TEMP-HUM-SENSOR-DHT22 | TEMP-HUM-SENSOR-DHT22 | SENSOR HUMID/TEMP 5V DTL 5% MOD | digikey.com | 1 | $5.00 | $5.00 |
| Screw Clamp | W237-102 | WAGO SCREW CLAMP | aliexpress.com | 4 | $0.10 | $0.40 |
| ECS-.327-12.5-13X | XTAL_ECS-.327-12.5-13X | CRYSTAL 32.7680KHZ 12.5PF TH | digikey.com | 1 | $0.24 | $0.24 |
| Total | $47.17 |
Como fazer uma interface web que se comunique bem com o C++? Usei a biblioteca ArduinoJson, que serializava e desserializava a comunicação entre o HTML, o JavaScript e o C++.
Como acertar a hora e não perdê-la quando falta energia? Isso ainda é um desafio a resolver, porque não estou totalmente satisfeito com o jeito como o sistema marca a hora. Hoje ele depende muito da bateria em caso de falta de energia.
O firmware já está funcionando há 3 meses, irrigando as minhas plantas. O que não me deixa muito satisfeito é que, se a bateria acabar, como ele fica num lugar remoto, a gente precisa levar um hotspot para ele se conectar automaticamente à Internet e pegar a hora da Internet.
Não tive tempo de criar uma rotina de segurança para verificar a corrente da bomba. A placa tem os componentes, mas o software ainda não foi desenvolvido.
Os meus objetivos com o projeto final eram ter um controlador de irrigação na minha Fab Farm e, ao mesmo tempo, aprender programação e eletrônica.
Vamos ver as minhas perguntas de avaliação:
Sim
Sim
Sim
Sim
Sim
Sim e não. Não acredito que uma pessoa sem conhecimento técnico consiga instalar, mas qualquer um consegue operar.
Sim! Melhorou a minha! A gente não precisa mais ir regar as plantas como antes, tendo que abrir e fechar válvulas umas 8 vezes por dia.
Sim, agora tenho muito mais confiança programando em C++.
Sim, sinto que posso partir para muitos outros projetos de eletrônica.
O regulador MCP1700 fornece até 250 mA, e o ESP32 pode puxar uns 500 mA em picos curtos quando o Wi-Fi transmite, o que pode reiniciar a placa. Da próxima vez eu usaria um regulador de 500 mA ou mais, como o AP2112 ou o AMS1117.
Programação de Interfaces e Aplicações
Atribuição-NãoComercial-CompartilhaIgual (Attribution-NonCommercial-ShareAlike).
arquivo da licençaQuero agradecer ao meu instrutor local, Luis Carvão, por todas as dicas e pelo tempo dedicado a me ajudar a terminar este projeto e o curso da Fab Academy.
Também quero agradecer ao meu amigo Jeff Knight pelas aulas de C++ durante um dia e uma madrugada que ele passou me ajudando a implementar a biblioteca ArduinoJson no meu projeto.
O Jeff também contribuiu com os seguintes commits no firmware, aqui: