Como projetar uma pistola de medição de temperatura inteligente e sem contato

Como projetar uma pistola de medição de temperatura inteligente e sem contato

As pistolas de medição de temperatura sem contato tornaram-se populares durante a pandemia de Covid. Vários locais utilizaram este dispositivo para garantir protocolos de segurança. No entanto, uma das desvantagens das pistolas de medição de temperatura sem contato disponíveis atualmente é que elas medem a temperatura corporal – e não a distância do corpo (objeto) ao sensor.

A distância do corpo ao sensor é o fator mais importante na medição correta da temperatura. O sensor usado para medição de temperatura sem contato em tais armas só pode ler a temperatura da superfície de um objeto (neste caso, o corpo humano) com precisão se a distância do objeto for inferior a 5 cm. Se medirmos a temperatura corporal a 10 ou 15 cm de distância, existe a possibilidade de erro e leitura imprecisa.

Para garantir a leitura correta da temperatura, devemos manter o sensor da pistola a menos de 5 cm de distância do corpo. Neste projeto, criaremos uma pistola de temperatura inteligente sem contato com algumas modificações e melhorias no sensor e na parte de software para garantir sua precisão na medição da temperatura correta do corpo humano que considera a distância como parâmetro.

A arma medirá primeiro a distância do corpo e, quando o corpo estiver a menos de 5 cm de distância, medirá então sua temperatura. Não mede a temperatura diretamente, mas sim a distância. Se o corpo estiver longe do sensor da pistola, ele emite uma mensagem para se aproximar e, quando o corpo estiver dentro do alcance de 5 cm, mede a temperatura corporal. Isso fornece uma leitura precisa e corrige o problema de leitura da temperatura corporal errada.

Chamamos isso de “inteligente”Pistola de medição de temperatura sem contato porque mede a distância e faz a leitura da temperatura corporal várias vezes, fornecendo um valor médio preciso. Ele também lê a temperatura corporal além da faixa normal, fornecendo uma notificação de alerta.

Esta arma é construída usando sensor de medição de temperatura sem contato MLX90614 da Melexis, sensor UDM HC SR04, Arduino, NANO e OLED. A temperatura corporal medida com a pistola é comparada com um termômetro digital convencional.

Aqui está um instantâneo do modelo de protótipo.

Um protótipo da pistola inteligente de medição de temperatura sem contato.

Agora, vamos começar a construir esta arma. Primeiro, abordaremos o diagrama de blocos do sistema.

Diagrama de blocos do sistema
Os principais blocos de construção deste sistema incluem:

  • O sensor de medição de temperatura sem contato, MLX90614
  • O sensor de medição de distância ultrassônica (UDM), HC SR04
  • Uma tela OLED de duas cores de 1 polegada
  • A placa de desenvolvimento Arduino NANO
  • Alguns outros componentes, como LED, uma mini campainha, um botão, etc.

Um diagrama de blocos do protótipo completo.

O sensor MLX 90614: um sensor de temperatura sem contato que mede a temperatura da superfície em um curto intervalo de 5 cm e fornece uma saída de leitura de temperatura para o microcontrolador Arduino por meio de comunicação IIC.

O sensor HC SR04 UDM: um sensor ultrassônico de medição de distância que mede a distância de qualquer objeto à sua frente, fornecendo uma saída PWM (a largura do pulso varia de acordo com a distância de um objeto) para o microcontrolador Arduino.

Arduino NANO: que executa estas tarefas:

  • Lê e obtém a temperatura do corpo humano usando o sensor MLX
  • Mede a distância de um objeto (corpo humano) usando o sensor UDM
  • Exibe a temperatura corporal e a distância na tela OLED
  • Dá uma indicação audiovisual através do LED e da campainha
  • Recebe entradas do usuário dos botões

Uma tela OLED: esta mini tela OLED de duas cores (amarelo e azul) de 0,96 polegadas funciona no protocolo IIC. Ele exibe a distância do objeto, a temperatura da superfície do objeto e algumas mensagens.

Apertar botões: existe um para fazer uma leitura (temperatura corporal e distância) e outro para alterar a leitura da temperatura de óC para óF e vice-versa.

Um LED e uma campainha: LED piscando e um som de “bip” de campainha são usados ​​para indicação audiovisual da temperatura corporal. O LED pisca quando a temperatura corporal é medida e exibida em um OLED. Ao mesmo tempo, a campainha emite um sinal sonoro. O LED também pisca quando a leitura da temperatura muda de óC para óF e vice-versa.

Antes de construir o circuito, você precisará coletar os itens necessários.

Aqui está a lista…

Itens requeridos:

1. O sensor MLX90614

Sensor MLX90614

2. O sensor HC SR04

Sensor HC SR04

3. A tela OLED

Tela OLED

4. O botão (pequeno e micro)

O botão usado neste projeto.

5. Um LED

Um LED

6. Arduino NANO

Arduino UNO

Diagrama de circuito

O diagrama de circuito com Arduino e o display OLED.

O circuito é construído com poucos componentes e pode ser construído rapidamente em PCB de uso geral (ou também em placa de ensaio).

  • O sensor MLX90614 possui quatro pinos (1) VIN (2) GND (3) SCL e (4) SDA. O sensor opera em 5V, então o pino VIN é conectado ao pino de saída de 5V do Arduino, e o pino GND é conectado ao circuito e ao aterramento da placa Arduino. Os pinos SCL e SDA são relógios seriais e pinos de dados seriais para comunicação IIC. Eles estão conectados aos pinos A4-SDA e A5-SCL da placa Arduino, respectivamente.
  • O sensor HC SR04 possui quatro pinos (1) Vcc (2) Gnd (3) Trig e (4) Echo. O sensor requer 5V, então seu pino Vcc está conectado ao pino de saída de 5V da placa Arduino e o pino GND está conectado ao terra do circuito. O pino trigger (entrada) é conectado ao pino digital D2, e o pino echo (saída) é conectado ao pino D3 da placa Arduino.
  • Novamente, a tela OLED possui quatro pinos (1) Vcc (2) Gnd (3) SCL e (4) SDA. Sua tensão operacional necessária é de 5V, então o pino Vcc é conectado ao pino de saída de 5V do Arduino, e o pino GND é conectado ao circuito e ao aterramento da placa Arduino. Ele também funciona no protocolo IIC, portanto seus pinos SCL e SDA são conectados aos pinos A4-SDA e A5-SCL da placa Arduino, respectivamente.
  • Um pequeno botão está conectado ao pino A2* e um micro botão está conectado ao pino D11, conforme mostrado.
  • A campainha está conectada ao pino A1* e o LED está conectado ao pino A0* conforme mostrado.
  • Uma bateria de 9 V (não mostrada na figura) fornece energia para todo o circuito. Ele está conectado ao pino Vin da placa Arduino. A placa Arduino recebe entrada de 9 V da bateria e fornece saída de 5 V usando um regulador de tensão integrado. Esta saída de 5V é fornecida a todos os outros componentes do circuito.

*Observação: os dispositivos de E/S digital (botão, LED e campainha) são conectados com pinos de entrada analógica porque não estamos usando nenhum pino de entrada analógica neste projeto. Então, estamos usando esses pinos de entrada analógica como pinos de E/S digitais. Mas você pode conectar esses dispositivos a qualquer pino digital (D0 – D13, dependendo da conveniência.

A operação do circuito
Antes de explicar o funcionamento e operação de um circuito completo, é necessário conhecer o funcionamento dos diferentes blocos – como o sensor MLX, sensor UDM, display OLED, etc. o OLED, por favor, vá até Este artigo

A operação do sensor MLX90614
O MLX90614 é um termômetro infravermelho para medições de temperatura sem contato. Um amplificador de baixo ruído, ADC de 17 bits e uma poderosa unidade DSP estão integrados ao MLX90614, permitindo alta precisão e resolução do termômetro. O chip detector de termopilha sensível ao IR e o ASIC de condicionamento de sinal estão integrados na mesma lata TO-39.

O termômetro vem calibrado de fábrica com uma saída digital de barramento IIC (SMBus), dando acesso total à temperatura medida em toda a(s) faixa(s) de temperatura — com resolução de 0,02° C. O usuário pode configurar a saída digital para ser pulsada. -modulação de largura (PWM). Como padrão, o PWM de 10 bits é configurado para transmitir continuamente a temperatura medida na faixa de -20 a 120° C, com resolução de saída de 0,14° C.

O sensor MLX90614 pode medir a temperatura de um objeto sem qualquer contato físico. Isto é possível através do Lei Stefan-Boltzmann, que afirma que todos os objetos e seres vivos emitem energia infravermelha. A intensidade da energia IR será diretamente proporcional à temperatura desse objeto ou ser vivo. Assim, o sensor MLX90614 calcula a temperatura de um objeto medindo a quantidade de energia infravermelha emitida por ele.

O MLX90614 consiste em dois dispositivos incorporados como um único sensor; um dispositivo atua como unidade de detecção e o outro atua como unidade de processamento. A unidade sensora é um Detector de termopilha infravermelho chamado MLX81101, que sente a temperatura. A unidade de processamento é um ASSP de condicionamento único chamado MLX90302, que converte o sinal do sensor em valor digital e se comunica usando o protocolo I2C. O MLX90302 possui um amplificador de baixo ruído, ADC de 17 bits e um DSP, que ajuda o sensor a obter precisão e resolução.

O sensor não requer componentes externos e pode ter interface direta com qualquer microcontrolador. Os pinos de alimentação (Vdd e Gnd) podem ser usados ​​diretamente para alimentar o sensor. Os pinos de sinal SCL e SDA são utilizados para comunicação I2C e podem ser conectados diretamente ao microcontrolador operando em lógica de 5V.

Os pinos e funções

Conforme visto no diagrama do circuito, esses quatro pinos estão conectados diretamente à placa Arduino. O microcontrolador Arduino obterá o valor digital direto da temperatura corporal deste sensor. No entanto, o valor digital fornecido pelo sensor deve ser calibrado posteriormente com um termômetro digital médico padrão para medição precisa da temperatura corporal.

Para fazer a interface do sensor MLX com o Arduino e ler a temperatura do objeto, temos que usar sua biblioteca Arduino prontamente disponível no Adafruit:
Adafruit_MLX90614.h

Temos que instalar esta biblioteca no software Arduino IDE.

Teste e calibração de sensores
Para testar e calibrar o sensor MLX faça o procedimento passo a passo

1. Conecte o sensor ao Arduino. Conecte seus quatro pinos ao Arduino conforme mostrado no diagrama de circuito
2. Abra o exemplo “mlxtest” desta biblioteca (arquivo-> exemplo-> biblioteca adafruit MLX90614 -> mlxtest)
3. Carregue este programa na placa Arduino
4. O sensor irá ler a temperatura do objeto e exibi-la no monitor serial
5. Meça a temperatura do corpo humano usando um sensor e anote as leituras
6. Meça a temperatura corporal usando um termômetro médico convencional (digital) para calibrá-la. Compare os dois valores. Se ambos não forem iguais, adicione algum valor limite nas leituras de temperatura do sensor MLX.

Por exemplo, o sensor MLX lê a temperatura corporal como 91,0óF, e o termômetro indica a temperatura como 95,5óF, então adicione um limite de 4,5 na leitura do sensor MLX no programa como:
mlx.readObjectTempF + 4,5

  1. Agora leia a temperatura corporal da outra pessoa usando o sensor. Meça novamente a temperatura usando o termômetro e compare as duas leituras de temperatura. Se eles corresponderem, é perfeito, caso contrário, ajuste o valor limite. Repita este procedimento cinco a seis vezes e ajuste o valor limite. Você obterá leituras precisas da temperatura do corpo humano com o sensor MLX.

Depois de entender agora o funcionamento dos diferentes blocos, vamos ver o funcionamento do circuito completo.

  • Quando a energia da bateria é fornecida ao circuito, a mensagem inicial é exibida no OLED como “pistola de medição de temperatura sem contato
  • O botão (botão pequeno) é pressionado para medir a temperatura corporal.
  • Assim que o botão for pressionado, o sensor UDM começará a medir a distância do corpo humano, que é exibida na tela OLED.
  • Se o corpo estiver muito distante do sensor, será exibida a mensagem: “chegar mais perto.
  • Quando o corpo atinge 5 cm ou menos, o sensor MLX começa a ler a temperatura do corpo.
  • Faz leituras cinco vezes consecutivas, calcula a média das cinco leituras e exibe o valor final da temperatura no OLED. Este processo levará de dois a três segundos. A mensagem é exibida no OLED como “Segure por 2-3 segundos de temperatura de leitura
  • O LED pisca várias vezes e quando o processo é concluído, a campainha emite um sinal sonoro. A temperatura corporal final é exibida na tela OLED.
  • A leitura final da temperatura corporal é exibida no OLED como óPara óC. Pode ser alterado pressionando o micro botão.
  • Alternativamente, pressionar este botão alterará a leitura da temperatura de óC para óF e vice-versa. O LED pisca e a campainha emite um sinal sonoro sempre que é alterada.
  • Por último, se a temperatura corporal exceder a faixa normal de temperatura do corpo humano, como 100 óF (ou 40 óC), dá indicação de alerta piscando o LED. A campainha também soará três vezes.

O circuito é construído em uma PCB de uso geral. Além disso, ele exibe os resultados de saída do circuito como exibição de medição de temperatura e distância em uma tela OLED.

Aqui estão alguns instantâneos de arranjos de componentes e montagem de circuitos…

A disposição dos componentes e montagem do circuito com a saída.

A disposição dos componentes e montagem do circuito com saída no OLED.

Este funcionamento e operação do circuito são baseados no programa baixado na memória FLASH interna do microcontrolador Arduino (ATmega328). Em seguida, é hora de passar pelo programa de software.

Programa de software
O programa é responsável por realizar todas as seguintes tarefas

  • Mede a distância do objeto (corpo) usando o sensor UDM
  • Mede a temperatura corporal usando o sensor MLX
  • Ele exibe a distância e a temperatura corporal em um OLED
  • Dá uma indicação de alerta através de um LED e uma campainha se a temperatura do corpo estiver alta

O programa é escrito em linguagem de programação C usando Arduino IDE, e é compilado e carregado no FLASH interno do microcontrolador Arduino.

Aqui está o código completo do programa.

Retour au blog

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.