Monitor de temperatura Bluetooth
Componentes e suprimentos
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Ferramentas e máquinas necessárias
![]() |
| |||
![]() |
|
Aplicativos e serviços online
![]() |
|
Sobre este projeto
Neste tutorial, vou mostrar como configurar um controlador de temperatura Arduino que envia valores para um aplicativo Android por conexão Bluetooth.
Vamos começar com o material de que você precisará para construir este projeto:
- Arduino nano.
- termistor NTC, verifique a resistência de 25 ° C, pois isso será necessário no código do arduino para avaliar corretamente a temperatura usando a fórmula beta.
- Resistores, 2k, 1k e um da mesma magnitude do termistor.
- Módulo bluetooth HC 06.
- Vários jumpers.
Em primeiro lugar, você precisará começar a montar o divisor de tensão usado para o termistor, a figura 1 mostra a conexão que você precisará fazer para calcular a resistência desconhecida do termistor como uma função de temperatura.

Figura 1 Divisor de tensão para avaliação da resistência do termistor.
Este circuito permite que o Arduino determine a queda de tensão após o resistor desconhecido. Usando o outro valor de resistência, podemos calcular o valor do resistor desconhecido usando a seguinte parte do código (figura 2).
raw =analogRead (analogPin); if (raw) {ratio =raw * Vin; Vout =(proporção) / 1024,0; proporção =(Vin / Vout) -1; R2 =R1 * proporção;
Figura 2 Código Arduino para avaliação da resistência do termistor.
A resistência obtida é então convertida em temperatura por meio da fórmula beta (figura 3).
NOTA:o valor beta do seu termistor e Ro a 25 ° C estão disponíveis na folha de dados do seu termistor! Verifique antes de executar o código!
Temp =Beta / log (R2 / (Ro * exp (-Beta / To))); Temp =Temp -273,15;
Figura 3 Código Arduino para conversão de temperatura.
Em seguida, você precisará configurar seu módulo Bluetooth; a figura 4 mostrará como conectar um módulo Bluetooth como o que usei neste projeto ao anterior. Um divisor de tensão é necessário para conectar o pino TX1 do Arduino ao pino RX do módulo, uma vez que este aceita 3,3 V online como entrada.

Figura 4 Esquemas do Arduino com módulo HC 06.
Os dados podem ser enviados através do módulo bluetooth inicializando a porta serial e imprimindo os valores desejados. Neste exemplo eu precisava do aparelho para medir a temperatura na faixa de 25 -75 ° C, para começar a contar cerca de 300 segundos em alta temperatura e depois mudar a mensagem impressa (figura 5).
void setup () {Serial.begin (9600); } void loop () {if (Temp>
=74) {for (int i =0; i <=30; i ++) {Serial.print ("Temperatura> =74 ° C"); atraso (10000); } Serial.print ("Aquecimento completo"); atraso (10000); } else if (Temp <=26) {Serial.print ("Temperatura <=25 ° C"); atraso (10000); } else {Serial.print ("Temperatura:"); Serial.println (Temp); atraso (10000); }}
Figura 5 Código Arduino por inicialização serial e impressão de valor.
O dispositivo final montado em uma placa de ensaio pode ser visto na figura 6.

Figura 6 Dispositivo completo em uma placa de ensaio.
A etapa final é a conexão do módulo Bluetooth a um telefone Android para visualização dos dados. Um aplicativo simples foi programado usando o MIT AppInventor 2. A Figura 7 e a Figura 8 mostram, respectivamente, a interface do usuário e os blocos de programação.

Figura 7 Interface do usuário feita com AppInventor2.

Figura 8 Blocos de programação do AppInventor2.
O aplicativo proposto está disponível na galeria do inventor do aplicativo no seguinte link:http://ai2.appinventor.mit.edu/#5876233188016128
De qualquer forma, usando o sistema de programação em bloco simples e intuitivo do inventor de aplicativos, muitos outros aplicativos podem ser construídos para cumprir qualquer propósito que você desejar. Por exemplo, eu precisava que o aplicativo me notificasse com um som se a temperatura caísse abaixo de 25 ° C para realizar alguma medição e notificasse após 5 minutos a 75 ° C que meu ciclo de aquecimento estava completo.
Opcional:Uma etapa final pode ser a soldagem dos componentes e a impressão 3D de uma caixa para manter as peças juntas. A Figura 9 mostra o resultado dessa abordagem.

Figura 9 Dispositivo completo pronto para ser usado.
Um orifício foi feito na lateral desta caixa para alimentar o Arduino com o cabo mini usb. O cabo longo vermelho e preto foi adicionado apenas para aumentar a distância entre o termistor e o resto do dispositivo (eu preciso do termistor para verificar a temperatura das soluções, então eu queria os componentes eletrônicos na medida do possível).
Espero que este projeto simples ajude você a entender os fundamentos da comunicação serial com o módulo bluetooth, a fim de aplicá-lo ao seu próprio projeto.
Se você encontrar alguns erros ou simplesmente quiser perguntar algo, por favor me avise.
EDIT:Eu encontrei um erro na fiação esquemática para a necessidade do divisor de tensão para o módulo bluetooth. Foi resolvido.
EDIT2:Se você tiver problemas para enviar seu código na placa, tente desconectar o módulo bluetooth.
Código
- Monitor de temperatura com módulo bluetooth
Monitor de temperatura com módulo bluetooth Arduino
Para calcular a resistência do termistor NTC, 5 V são aplicados a ele em série com um resistor conhecido de aproximadamente a mesma magnitude (neste exemplo 10kohm). Através do pino analógico A0, a tensão do divisor de tensão feito a partir da resistência em série é calculada e usando o valor conhecido de uma resistência, a resistência NTC é calculada. Esse valor é então convertido em temperatura usando a equação beta (altere o beta para o que você está usando) e enviado ao aplicativo Android usando o módulo Bluetooth.O código pode ser alterado para monitorar uma faixa específica de temperatura, neste exemplo eu precisei monitorar entre 25 e 75 ° C e esperar 5 minutos na temperatura mais alta.
// Monitor de temperatura com bluetooth moduleint analogPin =0; int raw =0; int Vin =5; flutuante Vout =0; flutuante R1 =10000; // mude para seu systemfloat Ro =10000; // mude para seu sistemafloat R2 =0; float ratio =0; float Temp =0; float Beta =3694; // mude para seu systemfloat To =298.15; // termistor vai de 10k a 25 ° C. Escolha a resistência de referência para evitar configuração () {Serial.begin (9600);} void loop () {raw =analogRead (analogPin); if (raw) {ratio =raw * Vin; Vout =(proporção) / 1024,0; proporção =(Vin / Vout) -1; R2 =R1 * proporção; Temp =Beta / log (R2 / (Ro * exp (-Beta / To))); Temp =Temp -273,15; if (Temp> =74) {for (int i =0; i <=30; i ++) {Serial.print ("Temperatura> =74 ° C"); // mude para o atraso do sistema (10000); } Serial.print ("Aquecimento completo"); atraso (10000); } else if (Temp <=26) {Serial.print ("Temperatura <=25 ° C"); // mude para o atraso do sistema (10000); } else {Serial.print ("Temperatura:"); // mude para seu sistema Serial.println (Temp); atraso (10000); }}}
Esquemas
A resistência R2 deve ser alterada de acordo com a resistência do termistor que você vai usar. O erro na leitura da temperatura aumenta com o bias (Runknow - R2).
Processo de manufatura
- Monitor de rede de temperatura e umidade Raspberry Pi
- Monitor de temperatura ThingSpeak com Raspberry Pi
- Monitore a temperatura de sua casa usando o Raspberry Pi
- Alarme de planta de alerta de sede
- Word Clock italiano
- Medidor Sigfox kWh
- Bloqueio controlado por gestos
- O Companion IC
- Uma entrada analógica isolada para Arduino
- Meça seu tempo de reação