Uma das coisas que mais é explorada na automação residencial é o monitoramento da temperatura. Muitas pessoas compram termômetros para medí-la, porém, de um ponto de vista Maker, eles são bem limitados.
Por isso, se aproveitando de uma das vastas oportunidades que o Arduino nos proporciona, vamos criar um sistema que além de medir a temperatura, nos permitirá verificar os dados coletados via Bluetooth de outro cômodo de nossa casa.
Para isso, no sistema, os dados serão coletados por um sensor de umidade e temperatura, DHT11. Para transmitir os dados, utilizaremos um módulo Bluetooth HC-06. Toda esta parte do hardware do sistema será controlada por um Arduino Nano, mantendo um aspecto compacto no projeto, permitindo a sua montagem em apenas uma protoboard de 400 pontos.
Para transmitir os dados, utilizaremos um módulo Bluetooth HC-06. Iremos receber nossos dados pelo app “Bluetooth SPP”, ótimo aplicativo para testes. Mas, se você quiser, poderá desenvolver um aplicativo bem simples no MIT App Inventor para aprimorar o seu projeto, já que na parte do sistema e do código do Arduino nada será alterado.
Sensor DHT11
Sensor de temperatura DHT11
Este é um dos melhores sensores para se trabalhar com o Arduino. Isso decorre do fato de ser bastante simples e de baixo custo. Os dados são processados por um microcontrolador em seu interior e são transmitidos no formato digital através de um pino de saída. Se quiser saber mais sobre este sensor, leia este artigo.
Especificações:
Pinout do sensor:
Módulo Bluetooth HC-06
Módulo Bluetooth HC-06
Dentro da automação residencial, a necessidade de módulos que possam se comunicar via wireless é grande, por isso, este é um dos módulos mais utilizados. Ele é versátil e bem simples, podendo ser utilizado sem ao menos alterar o código, já que, conectados aos pinos RX e TX do Arduino, funciona como um Monitor Serial.
Ao trabalhar com este módulo deve-se ter cuidado ao energizar o pino RX do módulo. Este pino necessita de cerca de 3,3V para funcionar, e não os 5V das portas digitais do Arduino. Por isso, devemos utilizar um divisor de tensão com dois resistores de 330Ω para resolver o problema.
Se quiser saber mais, leia este artigo.
Pinagem do módulo:
Bluetooth SPP
Ícone do Bluetooth SPP
O “Bluetooth SPP” é um ótimo aplicativo para testes de projetos que envolvem Bluetooth, já que além de um terminal, com linhas e um teclado, ainda existe, dentro do app, um modo de controle remoto e um modo de interruptor, muito bom para aplicações da automação residencial.
Como teremos que ver as informações impressas no Monitor Serial, iremos utilizar o modo do terminal. O aplicativo apenas possui a língua espanhola, mas isso não atrapalhará o nosso projeto. Infelizmente o aplicativo só está disponível para o sistema Android, e seu download pode ser realizado neste link.
Para desenvolvermos o projeto, iremos dividir o processo em três partes. Primeiramente, iremos desenvolver a parte do circuito, depois, iremos desenvolver o código, e por último, vamos configurar nosso dispositivo móvel para o correto funcionamento do app com o módulo Bluetooth.
Vamos seguir o esquemático abaixo para montarmos o nosso circuito. Fique atento ao divisor de tensão para o pino RXD do módulo Bluetooth.
Pinos a serem conectados no Arduino Nano:
Esquemático do circuito
O código foi desenvolvido com base no próprio exemplo da biblioteca utilizada, a DHT.h, da Adafruit. Esta é uma versão bem simples, porém atende a necessidade.
Para instalar as bibliotecas, vá na sua Arduino IDE, clique em Sketch > Incluir Biblioteca > Gerenciar Bibliotecas. Após isso, digite “dht sensor” na barra de pesquisa. Caso necessário, reinicie a IDE. Você também pode instalar a biblioteca por aqui.
Se quiser, poderá aprimorar o sketch adicionando verificação dos dados, medição da umidade e adicionando outras funções disponíveis na biblioteca, como margem de erro, valores máximo e mínimo, nome e resolução do sensor. Outro aprimoramento pode ser a inclusão da biblioteca SoftwareSerial para simular outras portas RX/TX do Arduino.
Código:
/* * Eletrogate - Monitoramento da Temperatura via Bluetooth * Autor: Miguel Sena * Blog da Eletrogate: blog.eletrogate.com */ #include <Adafruit_Sensor.h> //Inclusão das bibliotecas utilizadas #include <DHT.h> #include <DHT_U.h> #define pin 2 //Define do pino em que o sensor está conectado #define type DHT11 //Define o tipo do sensor (se for utilizado o DHT22, devemos trocar o tipo do sensor) DHT_Unified dht(pin, type); //Cria o objeto do sensor void setup() { Serial.begin(9600); //Inicia o Monitor Serial dht.begin(); //Inicia o sensor } void loop() { if (Serial.available()) { //Checa se tem alguma entrada Serial disponível char cmd = Serial.read(); //Cria uma variável cmd, do tipo char, que receberá os dados enviados no Monitor Serial if (cmd == 't') { //Verifica se o comando inserido é igual a 't' sensors_event_t event; //Cria um objeto event dht.temperature().getEvent(&event); //Mede os dados do sensor e os atribui ao objeto event Serial.println("------------------------------"); Serial.print("Temperatura: "); Serial.print(event.temperature); //Acessa a temperatura e imprime no Monitor Serial Serial.println("*"); Serial.println("------------------------------"); Serial.println(); } } }
Com o estado atual do desenvolvimento do projeto, se você desconectar o módulo Bluetooth do Arduino, vai perceber que o nosso sistema já está funcionando no próprio Monitor Serial da IDE do Arduino, como você pode ver no vídeo abaixo.
Antes de começarmos a configuração, você deve instalar o aplicativo “Bluetooth SPP” nesse link. Após a instalação, o primeiro passo é ir nas configurações do Bluetooth do seu aparelho, já como o módulo conectado a energia (se tudo estiver correto, haverá uma luz vermelha piscando rapidamente).
Passo 1
Se seu Bluetooth não estiver ativado, ative-o.
Passo 2
Após ativado, busque por dispositivos disponíveis e selecione o “HC-06”. Se uma senha for pedida, tente “1234” ou “0000”.
Passo 3
Ao término do processo nas configurações, os seu módulo já estará pronto para uso. Porém, para conectá-lo, precisaremos do aplicativo.
Passo 4
Agora, devemos conectar o nosso módulo ao app, por isso, clique nos três traços do canto superior esquerdo.
Passo 5
Clique em “Buscar dispositivos”.
Passo 6
Feito isso, o aplicativo abrirá uma tela com os dispositivos Bluetooth pareados em seu aparelho, portanto, escolha o HC-06.
Passo 7
O aplicativo, agora, está configurado. Para se conectar ao módulo basta clicar no ícone do Bluetooth no canto superior direito. Após isso, o modo Terminal já aparecerá ao usuário.
Passo 8
Aplicativo pronto para uso
Agora, com tudo pronto, basta apenas enviar os comandos no terminal para receber os dados de temperatura.
Ao combinar tudo que fizemos até agora, podemos concluir o projeto e iniciar o nosso monitoramento de temperatura via Bluetooth.
Claro que há limitações, como utilizamos o bluetooth, o alcance não é muito alto, mas, você pode aumentar esse alcance com algum módulo Ethernet ou então com um ESP-32 via Wifi, porém, se feito isso, devemos fazer alterações no circuito e no código. Além disso, podem ser feitos as melhorias já citadas anteriormente.
Se tiver alguma dúvida, deixe nos comentários!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!