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.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!