- Components necessaris
- Mòdul lector RFID EM18
- MLX90614 Termòmetre d'infrarojos
- Esquema de connexions
- Explicació del codi
- Emmagatzematge de dades del sensor al full Excel des del controlador Arduino
Des de l’esclat del Covid-19, els termòmetres infrarojos s’utilitzen com a eina de detecció per escanejar la gent dels aeroports, estacions de ferrocarril i altres establiments concorreguts. Aquestes exploracions s’utilitzen per identificar pacients potencials de Covid-19. El govern va obligar a escanejar tothom abans d’entrar a l’oficina, a l’escola o a qualsevol altre lloc amb molta gent.
Així doncs, en aquest tutorial, crearem un sistema de control de temperatura sense contacte basat en RFID mitjançant un sensor de temperatura sense contacte amb Arduino. Quan els empleats analitzin la targeta RFID, mesurarà la temperatura corporal dels empleats amb un termòmetre infraroig sense contacte i registrarà el nom i la temperatura d’aquest empleat directament al full Excel. Utilitzarem Arduino Nano, MLX90614, lector RFID EM18 i sensor d’ultrasons per construir aquest projecte. El sensor d'ultrasons s'utilitza per calcular la distància entre el termòmetre i la persona. El termòmetre només mesurarà la temperatura quan la distància sigui inferior a 25 CM. És com un sistema d’assistència basat en RFID, que també registra la temperatura corporal de cada persona.
Components necessaris
- Arduino Nano
- Mòdul RFID EM-18
- MLX90614 Sensor de temperatura sense contacte
- Sensor d'ultrasons
- Taula de pa
- Jumper Wires
Mòdul lector RFID EM18
Un dels lectors RFID àmpliament utilitzats per llegir etiquetes de 125 kHz és el lector RFID EM-18. Aquest mòdul lector RFID de baix cost presenta un baix consum d'energia, un factor de forma baix i fàcil d'utilitzar. El mòdul Reader EM-18 pot proporcionar sortida mitjançant dues interfícies de comunicació, és a dir, RS232 i WEIGAND26.


El lector RFID EM18 inclou un transceptor que transmet un senyal de ràdio. Quan l’etiqueta RFID arriba al rang de senyals del transmissor, aquest senyal arriba al transpondedor que hi ha a la targeta. L’etiqueta pren energia del camp d’electroimant generat pel mòdul lector. A continuació, el transpondedor transforma el senyal de ràdio en la forma d’energia útil. En obtenir energia, el transpondedor transfereix tota la informació, com ara un identificador específic, en forma de senyal RF al mòdul RFID. A continuació, aquestes dades s’envien al microcontrolador mitjançant la comunicació UART.
Per obtenir més informació sobre RFID i etiquetes, consulteu els nostres projectes anteriors basats en RFID.
MLX90614 Termòmetre d'infrarojos
Abans de continuar amb el tutorial, és important saber com funciona el sensor MLX90614. Hi ha molts sensors de temperatura disponibles al mercat i hem estat utilitzant el sensor DHT11 i el LM35 de manera àmplia per a moltes aplicacions on s’ha de mesurar la temperatura o la humitat atmosfèrica.
Anteriorment, hem utilitzat aquest sensor amb pistola tèrmica IR que pot detectar la temperatura d’un objecte concret (no ambient) sense entrar directament en contacte amb l’objecte. Aquí tornem a utilitzar el mateix sensor per calcular la temperatura d’un objecte. El MLX90614 és un sensor d’aquest tipus que utilitza energia IR per detectar la temperatura d’un objecte. Per obtenir més informació sobre el circuit de sensors infrarojos i IR, seguiu l'enllaç.

El sensor MLX90614 està fabricat pel sistema integrat Melexis Microelectronics, té dos dispositius incrustats, un és el detector de termopiletes infrarojos (unitat de detecció) i l’altre és un dispositiu DSP de condicionament del senyal (unitat computacional). Funciona basant-se en la llei de Stefan-Boltzmann que estableix que tots els objectes emeten energia IR i la intensitat d’aquesta energia serà directament proporcional a la temperatura d’aquest objecte. La unitat de detecció del sensor mesura la quantitat d’energia IR emesa per un objecte objectiu i la unitat computacional la converteix en valor de temperatura mitjançant un ADC integrat de 17 bits i emet les dades a través de la comunicació I2C protocol. El sensor mesura tant la temperatura de l’objecte com la temperatura ambient per calibrar el valor de la temperatura de l’objecte. A continuació es detallen les característiques del sensor MLX90614; per obtenir més informació, consulteu el full de dades MLX90614.
Esquema de connexions
A continuació es mostra el diagrama de circuits del sensor de temperatura sense contacte basat en RFID que utilitza Arduino:

Com es mostra a l'esquema de circuits, les connexions són molt senzilles, ja que les hem utilitzat com a mòduls, les podem construir directament sobre una placa de control. El LED connectat al pin BUZ del mòdul EM18 Reader s’alça quan algú escaneja l’etiqueta. El mòdul RFID envia dades al controlador en sèrie; per tant, el pin transmissor del mòdul RFID està connectat al pin receptor d'Arduino. Les connexions es classifiquen a la taula següent:
|
Arduino Nano |
Mòdul RFID EM18 |
|
5V |
Vcc |
|
GND |
GND |
|
5V |
SEL |
|
Rx |
Tx |
|
Arduino Nano |
MLX90614 |
|
5V |
Vcc |
|
GND |
GND |
|
A5 |
SCL |
|
A4 |
SDA |
|
Arduino Nano |
Sensor d'ultrasons (HCSR-04) |
|
5V |
Vcc |
|
GND |
GND |
|
D5 |
Trig |
|
D6 |
Ressò |

Explicació del codi
Hem d’escriure un codi Arduino que pugui llegir les dades del sensor d’ultrasons, MLX90614, el mòdul lector RFID EM18 i enviar el nom i la temperatura d’una persona a un full Excel. Per obtenir aquest codi, heu de descarregar les biblioteques Wire i MLX90614. Després de descarregar les biblioteques, afegiu-les al vostre IDE Arduino.
El codi complet d’aquest seguiment de la temperatura corporal sense contacte es dóna al final de la pàgina. Aquí el mateix programa s'explicarà en petits fragments.
Com és habitual, inicieu el codi incloent totes les biblioteques necessàries. Aquí s’utilitza la biblioteca Wire per comunicar-se mitjançant el protocol I2C i la biblioteca Adafruit_MLX90614.h s’utilitza per llegir les dades del sensor MLX90614.
#incloure
A continuació, definim els pins del sensor d'ultrasons al qual hem fet la connexió
const int trigPin = 5; const int echoPin = 6;
Després, definiu les variables per emmagatzemar les dades del mòdul RFID, del sensor d'ultrasons i del sensor MLX90614.
llarga durada; int distància; Cadena RfidReading; flotació de TempReading;
Dins de la funció void setup () , inicialitzem el monitor sèrie per a la depuració i el sensor de temperatura MLX90614. A més, configureu els pins Trig i Echo com a pins de sortida i d’entrada.
configuració nul·la () {Serial.begin (9600); // Inicialitzar la comunicació en sèrie amb el pinMode del monitor de sèrie (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Dins de la funció void loop () , calculeu la distància entre la persona i el sensor i, si la distància és inferior o igual a 25 cm, truqueu a la funció reader () per escanejar l’etiqueta.
bucle buit () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); durada = pulseIn (echoPin, HIGH); distància = durada * 0,0340 / 2; if (distància <= 25) {lector (); }
La funció void reader () s’utilitza per llegir la targeta d’etiquetes RFID. Un cop la targeta s’acosta al mòdul lector, el mòdul lector llegeix les dades de sèrie i les emmagatzema a la variable d’entrada.
void reader () {if (Serial.available ()) {count = 0; while (Serial.available () && count <12) {input = Serial.read (); comptar ++; retard (5);
A les línies següents, compareu les dades de la targeta escanejada amb l’identificador d’etiqueta predefinit. Si l'identificador de l'etiqueta coincideix amb la targeta escanejada, llegiu la temperatura de la persona i envieu la temperatura i el nom de la persona al full Excel.
if (input == tag) flag = 1; else flag = 0; comptar ++; RfidReading = "Ashish"; }} if (flag == 1) {temp_read (); Write_streamer (); }
Dins de la funció temp_read () , llegiu les dades del sensor MLX90614 en centígrads i deseu-les a la variable 'TempReading' .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Un cop el maquinari i el programari estiguin preparats, és hora de penjar el programa a la vostra placa Arduino Nano. Tan bon punt es carrega el programa, el sensor d'ultrasons comença a calcular la distància. Quan la distància calculada és inferior a 40 cm, es llegeix la temperatura i la targeta.
Emmagatzematge de dades del sensor al full Excel des del controlador Arduino
Ara per enviar dades al full d'Excel, utilitzarem PLX-DAQ. És un programari de complement d'Excel que us ajuda a escriure valors des d'Arduino fins a directament en un full d'Excel al vostre ordinador portàtil o PC. Utilitzeu l'enllaç per descarregar el fitxer. Després de descarregar-lo, extreu el fitxer i feu clic al fitxer.exe per instal·lar-lo. Es crearà una carpeta anomenada PLS-DAQ al vostre escriptori.
Ara obriu el fitxer "Full de càlcul PLX-DAQ" des de la carpeta de l'escriptori. Si les macros estan desactivades a l'Excel, veureu un bloc de seguretat com es mostra a la imatge següent:

Feu clic a Opcions-> Activa el contingut -> Finalitza -> D'acord per habilitar les macros. Després d'això obtindreu la següent pantalla:

Ara seleccioneu la velocitat de transmissió com a "9600" i el port al qual està connectat el vostre Arduino i, a continuació, feu clic a Connecta per iniciar la transmissió de dades. Els vostres valors haurien de començar a registrar-se com es mostra a la imatge següent.

Així és com podeu crear un dispositiu de detecció de temperatura sense contacte i emmagatzemar les dades al full Excel.
Al final de la pàgina es dóna un vídeo de treball i un codi complet.
