Primeira versão
Dessa forma a minha primeira experiência foi utilizar um Arduíno para automatizar, porém foi muito trabalhoso, pois eu queria que as luzes ligassem e desligassem em horas exatas, foi uma experiência legal.
Essa montagem foi feita apenas em uma protoboard com os seguintes recursos:
- leitura de temperatura da água;
- acionamento da bomba de ar;
- acionamento da luz;
- acionamento do aquecedor;
- acionamento de um motor servo para liberar ração;
- um sensor de ultrassom para detectar quando alguém chegava perto do aquário;
- um visor de 16x2;
- um receptor e um transmissor de radio frequência de 433Mhz; e
- dois botões.
Encontrei algumas dificuldades desse projeto, a primeira foi uma montagem na protoboard é ruim e fica muito feio para utilizar definitivamente, isso deve ser feito apenas para sua finalizada: protótipo, a segunda foi problemas na programação, o código começou a ficar muito grande, tive que começar a me preocupar em otimizar o código, porém essa lógica de controlar os sensores e atuadores começou a ficar complexa, por último tinha problemas com o relógio, pois as vezes não sincronizava direito ou o relógio atrasava devido a não tem um shield específico para isso, além disso o visor também dava alguns erros.
Desenvolvimento da versão atual
Na versão atual eu preferi simplificar esse projeto, para isso irei utilizar um ESP8266 ESP-12 que já vem com WIFI, dessa forma não irei mais utilizar um Arduino nem será mais necessário o par de receptor/transmissor de rádio frequência de 433Mhz.
Logo, resolvi também remover, para que seja mais fácil de manter, o visor, os botões e o servo, que no lugar desse último será utilizado um aparelho de ração automática que será adaptado. Quanto ao sensor ultrassom, foi trocado por um Mine Sensor de Movimento PIR.
A luz foi substituída por um fita LED, dessa forma será possível controlar a cor da luz bem como seu brilho.
O módulo do aquário terá o mínimo de inteligência necessário, pois todo o controle será feito por um framework de automação Home Assistant rodando em um Raspberry Pi (RPI).
Hardware
O hardware do módulo terá os seguintes atuadores/sensores:
- 2 relés para acionar a bomba de ar e aquecedor);
- 3 Transistores para fita LED;
- 1 Transistor para acionar a ração;
- 1 Mine Sensor de Movimento PIR; e
- 1 Sensor de temperatura ds18b20.
Resolvi fazer o hardware em um placa em versão final, chega de protoboard para versão final, dessa forma segue abaixo o código fonte e o esquema de montagem da placa, bem como alguma imagens, no próximo post eu comento mais sobre seu funcionamento.
Placa do circuito: https://github.com/jonathasfujii/aquario_conectado_hw
Software
O código ainda ainda está sendo finalizando, porém até o momento já está implementado o acionamento da luz em fita LED sendo possível controlar a cor e o brilho. Também já está implementado a leitura do sensor de temperatura.
Código fonte do ESP8266: https://github.com/jonathasfujii/aquario_conectado
Interface (Central de Controle)
Toda a comunicação entre o módulo do aquário e Home Assistant no Raspberry PI está sendo realizado por WIFI utilizando o protocolo MQTT, em outros posts irei falar como esse protocolo e sua instalação.
Dessa forma o framework de automação Home Assistant, que é implementado em Python, está rodando no RPI com a distribuição Raspbian, que é um otimização do Debian. Juntamente no RPI está rodando um broaker MQTT - Mosquitto.
Dessa forma o framework de automação Home Assistant, que é implementado em Python, está rodando no RPI com a distribuição Raspbian, que é um otimização do Debian. Juntamente no RPI está rodando um broaker MQTT - Mosquitto.
Boa noite Gostei do seu Projeto, Como posso esta adquirindo a interface do App para o celular... quero montar um com essa Interface...
ResponderExcluirmeu e-mail e dariomenesesmg@gmail.com
Excluirme manda uma resposta vlw..
legal o seu projeto, mas não consigo compilar o fonte.
ResponderExcluirA mensdagem de erro é:
Arduino: 1.8.7 (Linux), Placa:"Generic ESP8266 Module, 80 MHz, Flash, ck, 26 MHz, 40MHz, QIO, 512K (no SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
/home/administrador/Área de Trabalho/Meu Aquário Conectado/aquario_conectado-master/aquario_conectado/sensor_pir.ino: In function 'void pir_loop()':
sensor_pir:6:46: error: 'TRUE' was not declared in this scope
client.publish(pir_state_topic, on_cmd,TRUE);
^
/home/administrador/Área de Trabalho/Meu Aquário Conectado/aquario_conectado-master/aquario_conectado/sensor_temperatura.ino: In function 'void temperatura_loop()':
sensor_temperatura:11:68: error: 'TRUE' was not declared in this scope
client.publish(temperatura_state_topic, String(temp).c_str(),TRUE);
^
exit status 1
'TRUE' was not declared in this scope
Este relatório teria mais informações com
"Mostrar a saida detalhada durante a compilação"
opção pode ser ativada em "Arquivo -> Preferências"
o que é que deu errado?
wilson souza
wilson-sn@bol.com.br