Módulos e sensores
O Snooper utiliza os seguintes módulos e sensores:
NodeMCU: A plataforma de desenvolvimento NodeMCU é baseada no módulo WiFi ESP-12, que por sua vez é baseado no chip ESP8266, da Espressif. Esta plataforma permite o desenvolvimento de dispositivos conectados à Internet com um baixo consumo de energia, requisitos básicos em dispositivos para Internet das Coisas (IoT).
Para desenvolver aplicações com esta plataforma podem ser utilizadas a Arduino IDE, em C++, ou a ESPlorer IDE, em LUA. Neste projeto, a Arduino IDE foi utilizada devido à praticidade que esta proporciona e também por esta IDE gerar códigos binários, uma vez que a ESPlorer IDE tranfere o script LUA para o ESP-12, necessitando de um interpretador embarcado na NodeMCU.
Display oLED 0.96: Este é um display gráfico cor azul que se comunica com o NodeMCU através de comunicação SPI, possui resolução de 64x128 pixels, por ser gráfico consegue-se escrever ou exibir imagens nele.
DHT22: O DHT22 é um sensor de temperatura e umidade que permite fazer leituras de temperaturas entre -40°C a 80°C e umidade relativa do ar entre 0 e 100%. Relativamente barato, é uma maneira eficiente de monitorar temperatura e umidade em ambientes internos.
MQ-2: Este é um sensor de gases inflamáveis e fumaça barato e eficiente. Pode operar entre 3,3V e 5V e possui tanto saída analógica quanto saída digital de sinal.
Termopar tipo K e MAX31855: O termopar do tipo K é utilizado para medir temperaturas na faixa de -200°C a 1300°C. Sua interface com a NodeMCU é feita através do módulo MAX31855 da Adafruit, que faz a conversão analógico-digital do sinal do termopar e o envia via comunicação SPI.
Prototipação na Protoboard
- O desenvolvimento, como é com a maioria dos projetos, se iniciou na protoboard, onde se pode fazer alterações no circuito conforme a necessidade.
- Esta etapa é crucial para detecção de possíveis erros de conexão, falhas no firmware que podem afetar o hardware de alguma maneira, além de ajustes no firmware e na conexão dos componentes afim de melhorar o layout da placa de circuito impresso.
- Abaixo, o circuito do Snooper na protoboard:
Projeto da Placa de Circuito Impresso
-
Software para projeto: O software escolhido para o projeto foi o Kicad, em sua versão 4.0.6, por ser um software livre e ter uma comunidade já bem consolidada. Vale observar que alguns símbolos, utilizados no esquemático, e footprints, utilizados no projeto da PCI, não estão nativamente na biblioteca do Kicad. Felizmente, existem fóruns e sites especializados onde se pode encontrar componentes. O site SnapEDA, por exemplo, possui uma vasta gama de componentes à disposição para download, além de tutoriais para integração dos componentes baixados a um projeto. Caso não encontre o componente desejado, o Kicad dispõe da ferramenta “PCB footprint editor”, onde se pode desenhar o componente desejado.
-
Considerações sobre manutenção: A princípio, a placa projetada utilizaria apenas o módulo ESP-12, sem a NodeMCU, o que tornaria a placa menor. Porém, isto exigiria soldagem SMD, que pode ser complicada, além de complicar a manutenção tanto do firmware quanto do hardware. Levando isto em conta, preferiu-se projetar a PCI utilizando a NodeMCU, que pode ser removida facilmente para manutenção.
-
Posicionamento dos componentes: Ao projetar uma PCI, o projetista deve levar em conta diversos fatores, sendo que evitar cruzamentos entre trilhas ou que estas fiquem muito próximas (menos de 15 mils para fabricação caseira ou 6 mils para fabricação industrial) são os principais. Além disso, quando a PCI servirá de suporte para alguns componentes, o posicionamento destes de torna fator importante. No caso do Snooper, o MQ-2, a NodeMCU e o MAX31855 ficam fixados à placa, enquanto o DHT22, o display OLED e os botões de reset e configuração ficam fixados à carcaça. Outro fator a ser levado em consideração no posicionamento dos componentes é que o MQ-2 aquece um semicondutor para funcionar, logo, não pode ficar próximo do DHT22 por motivos óbvios.
Abaixo, a primeira PCI (sem os botões a serem fixados na carcaça):
A confecção da PCI é descrita aqui.
Projeto e Impressão 3D da Carcaça
-
Software para projeto: O software escolhido para o projeto foi o SketchUp 2017, que possui versão grátis, o SketchUp Make 2017, para uso não comercial. Com ele é possível, de maneira fácil e intuitiva, criar modelos em 3D. Pode-se baixar uma extensão para gerar arquivos STL para impressão 3D. Após a geração do arquivo STL, se deve utilizar algum slicer para “compilar” o modelo a ser impresso. No caso do Snooper, foi utilizada a impressora 3D CubeX e o slicer utilizado foi o CubeX Software.
-
Considerações sobre o design: Foram projetados uma caixa e uma tampa para a carcaça do Snooper, sendo o projeto da tampa bastante simples, uma vez que esta se resume a uma “chapa” com quatro furos nos cantos para parafusos, um buraco retangular para o display OLED e um buraco circular para o sensor MQ-2. Já a caixa tem suportes para fixação na parede, furos nas laterais para os botões, DHT22, MAX31855 e NodeMCU, que dever ser bem alinhados com a placa, além de suportes de fixação para o display OLED, que atravessam a PCI, o que forçou um reprojeto da mesma.
-
Impressão 3D: O modelo pode ser compilado com diversas configurações de forma a priorizar a qualidade ou a velocidade de impressão. Em alta qualidade, a impressão é lenta, e alta velocidade, a qualidade é prejudicada. A impressão em alta qualidade da carcaça levaria mais de 12 horas, assim, para ter um protótipo da carcaça, preferiu-se a impressão no modo rápido, que levou apenas 4 horas. A tampa e a caixa são apresentadas abaixo:
Montado o Snooper fica como na imagem abaixo (os botões de reset e configuração ainda não haviam chegado no momento da foto):