- Componentes necessários
- Módulo Leitor RFID EM18
- Termômetro infravermelho MLX90614
- Diagrama de circuito
- Explicação do código
- Armazenamento de dados do sensor na planilha do Excel do controlador Arduino
Desde o surto da Covid-19, termômetros infravermelhos estão sendo usados como uma ferramenta de triagem para escanear pessoas em aeroportos, estações ferroviárias e outros estabelecimentos lotados. Essas varreduras estão sendo usadas para identificar pacientes potenciais de Covid-19. O governo tornou obrigatório fazer a varredura de todos antes de entrar no escritório, escola ou qualquer outro lugar lotado.
Portanto, neste tutorial, vamos construir um sistema de monitoramento de temperatura sem contato baseado em RFID usando um sensor de temperatura sem contato com Arduino. Quando os funcionários digitalizam o cartão RFID, ele mede a temperatura corporal dos funcionários com um termômetro infravermelho sem contato e registra o nome e a temperatura do funcionário diretamente na planilha do excel. Estaremos usando Arduino Nano, MLX90614, EM18 RFID Reader e Ultrasonic Sensor para construir este projeto. O sensor ultrassônico é usado para calcular a distância entre o termômetro e a pessoa. O termômetro só medirá a temperatura quando a distância for inferior a 25 CM. É algo como um sistema de atendimento baseado em RFID, que também registra a temperatura corporal de cada pessoa.
Componentes necessários
- Arduino Nano
- Módulo EM-18 RFID
- Sensor de temperatura sem contato MLX90614
- Sensor ultrasônico
- Tábua de pão
- Jumper Wires
Módulo Leitor RFID EM18
Um dos leitores RFID amplamente usados para ler tags de 125 kHz é o Leitor RFID EM-18. Este módulo de leitor RFID de baixo custo apresenta baixo consumo de energia, fator de forma reduzido e fácil de usar. O Módulo Leitor EM-18 pode fornecer saída por meio de duas interfaces de comunicação, ou seja, RS232 e WEIGAND26.
O EM18 RFID Reader possui um transceptor que transmite um sinal de rádio. Quando a etiqueta RFID chega na faixa do sinal do transmissor, este sinal atinge o transponder que está dentro do cartão. A etiqueta extrai energia do campo eletroímã gerado pelo módulo leitor. O transponder então transforma o sinal de rádio na forma utilizável de energia. Ao obter energia, o transponder transfere todas as informações, como um ID específico, na forma de um sinal RF para o Módulo RFID. Em seguida, esses dados são enviados para o microcontrolador usando a comunicação UART.
Para saber mais sobre RFID e tags, verifique nossos projetos anteriores baseados em RFID.
Termômetro infravermelho MLX90614
Antes de prosseguirmos com o tutorial, é importante saber como funciona o sensor MLX90614. Existem muitos sensores de temperatura disponíveis no mercado e temos usado o sensor DHT11 e o LM35 extensivamente para muitas aplicações em que a umidade atmosférica ou a temperatura precisam ser medidas.
Anteriormente, usamos esse sensor em uma pistola térmica infravermelha que pode detectar a temperatura de um objeto específico (não o ambiente) sem entrar em contato direto com o objeto. Aqui estamos novamente usando o mesmo sensor para calcular a temperatura de um objeto. O MLX90614 é um desses sensores que usa energia IV para detectar a temperatura de um objeto. Para saber mais sobre o circuito do sensor infravermelho e IR, siga o link.
O sensor MLX90614 é fabricado pelo sistema Melexis Microelectronics Integrado, possui dois dispositivos embutidos, um é o detector de termopilha infravermelho (unidade sensora) e o outro é um dispositivo DSP (unidade computacional) condicionador de sinal. Ele funciona com base na lei de Stefan-Boltzmann, que afirma que todos os objetos emitem energia IV e a intensidade dessa energia será diretamente proporcional à temperatura desse objeto. A unidade de detecção no sensor mede quanta energia IR é emitida por um objeto alvo e a unidade computacional a converte em valor de temperatura usando um ADC embutido de 17 bits e envia os dados por meio da comunicação I2C protocolo. O sensor mede a temperatura do objeto e a temperatura ambiente para calibrar o valor da temperatura do objeto. Os recursos do sensor MLX90614 são fornecidos abaixo; para mais detalhes, consulte a folha de dados MLX90614.
Diagrama de circuito
O diagrama de circuito para sensor de temperatura sem contato baseado em RFID usando Arduino é fornecido abaixo:
Conforme mostrado no diagrama de circuito, as conexões são muito simples, visto que as usamos como módulos, podemos construí-las diretamente em uma placa de ensaio. O LED conectado ao pino BUZ do módulo EM18 Reader fica alto quando alguém faz a varredura do tag. O módulo RFID envia dados para o controlador em série; portanto, o pino do transmissor do módulo RFID é conectado ao pino do receptor do Arduino. As conexões são ainda classificadas na tabela abaixo:
Arduino Nano |
Módulo RFID EM18 |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Sensor Ultrassônico (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Eco |
Explicação do código
Temos que escrever um código Arduino que possa ler os dados do sensor ultrassônico, MLX90614, Módulo Leitor RFID EM18, e enviar o nome e a temperatura de uma pessoa para uma planilha do Excel. Para este código, você deve baixar as bibliotecas Wire e MLX90614. Depois de baixar as bibliotecas, adicione-as ao seu Arduino IDE.
O código completo para esse monitoramento de temperatura corporal sem contato é fornecido no final da página. Aqui, o mesmo programa será explicado em pequenos trechos.
Como de costume, inicie o código incluindo todas as bibliotecas necessárias. Aqui, a biblioteca Wire é usada para se comunicar usando o protocolo I2C e a biblioteca Adafruit_MLX90614.h é usada para ler os dados do sensor MLX90614.
#incluir
Em seguida, definimos os pinos do sensor ultrassônico ao qual fizemos a conexão
const int trigPin = 5; const int echoPin = 6;
Depois disso, defina as variáveis para armazenar o módulo RFID, o sensor ultrassônico e os dados do sensor MLX90614.
longa duração; distância interna; String RfidReading; float TempReading;
Dentro da função void setup () , inicializamos o monitor serial para depuração e o sensor de temperatura MLX90614. Além disso, defina os pinos de Trig e Echo como pinos de entrada e saída.
void setup () {Serial.begin (9600); // Inicializar a comunicação serial com o monitor serial pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Dentro da função void loop () , calcule a distância entre a pessoa e o sensor e se a distância for menor ou igual a 25 cm, então chame a função reader () para escanear a tag.
loop vazio () {digitalWrite (trigPin, LOW); atrasoMicrosegundos (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duração = pulseIn (echoPin, HIGH); distância = duração * 0,0340 / 2; if (distância <= 25) {leitor (); }
A função void reader () é usada para ler o cartão de etiqueta RFID. Uma vez que o cartão é aproximado do módulo leitor, o módulo leitor lê os dados seriais e os armazena na variável de entrada.
void reader () {if (Serial.available ()) {count = 0; while (Serial.available () && count <12) {input = Serial.read (); contagem ++; atraso (5);
Nas próximas linhas, compare os dados do cartão digitalizado com o ID de tag predefinido. Se a identificação da etiqueta coincidir com o cartão digitalizado, leia a temperatura da pessoa e envie a temperatura e o nome da pessoa para a planilha do excel.
if (input == tag) flag = 1; senão sinalizador = 0; contagem ++; RfidReading = "Ashish"; }} if (sinalizar == 1) {temp_read (); Write_streamer (); }
Dentro da função temp_read () , leia os dados do sensor MLX90614 em Celsius e armazene-os na variável 'TempReading' .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Assim que o hardware e o software estiverem prontos, é hora de fazer o upload do programa para a placa Arduino Nano. Assim que seu programa é carregado, o sensor ultrassônico começa a calcular a distância. Quando a distância calculada é inferior a 40 cm, ele lê a temperatura e o cartão.
Armazenamento de dados do sensor na planilha do Excel do controlador Arduino
Agora, para enviar os dados para a planilha Excel, vamos usar o PLX-DAQ. É um software Excel Plug-in que ajuda você a escrever valores do Arduino diretamente em uma planilha Excel em seu laptop ou PC. Use o link para baixar o arquivo. Após o download, extraia o arquivo e clique no arquivo.exe para instalá-lo. Isso criará uma pasta chamada PLS-DAQ em sua área de trabalho.
Agora abra o arquivo 'planilha PLX-DAQ' na pasta da área de trabalho. Se as macros estiverem desabilitadas em seu Excel, você verá um bloqueio de segurança, conforme mostrado na imagem abaixo:
Clique em Opções-> Ativar o conteúdo -> Concluir -> OK para ativar as macros. Depois disso, você obterá a seguinte tela:
Agora selecione a taxa de transmissão como “9600” e a porta na qual seu Arduino está conectado e clique em Conectar para iniciar o streaming de dados. Seus valores devem começar a ser registrados como mostrado na imagem abaixo.
É assim que você pode construir um dispositivo de triagem de temperatura sem contato e armazenar os dados na planilha do Excel.
Um vídeo funcional e o código completo são fornecidos no final da página.