- Komponenter, der kræves
- EM18 RFID-læsermodul
- MLX90614 Infrarødt termometer
- Kredsløbsdiagram
- Kode Forklaring
- Lagring af sensordata i Excel-ark fra Arduino Controller
Siden udbruddet af Covid-19 bruges infrarøde termometre som et screeningsværktøj til at scanne folk på lufthavne, jernbanestationer og andre overfyldte virksomheder. Disse scanninger bruges til at identificere potentielle patienter med Covid-19. Regeringen gjorde det obligatorisk at scanne alle, inden de kom ind på kontoret, skolen eller et andet overfyldt sted.
Så i denne vejledning skal vi bygge et RFID-baseret kontaktløst temperaturovervågningssystem ved hjælp af en kontaktløs temperaturføler med Arduino. Når medarbejdere scanner RFID-kortet, måler det medarbejdernes kropstemperatur med et ikke-kontakt infrarødt termometer og logger navn og temperatur på den ansattes direkte på excel-arket. Vi bruger Arduino Nano, MLX90614, EM18 RFID Reader og Ultralydssensor til at opbygge dette projekt. Ultralydssensoren bruges til at beregne afstanden mellem termometeret og personen. Termometeret måler kun temperaturen, når afstanden er mindre end 25 CM. Det er noget i retning af et RFID-baseret tilstedeværelsessystem, som også registrerer kroppens temperatur for hver person.
Komponenter, der kræves
- Arduino Nano
- EM-18 RFID-modul
- MLX90614 Kontaktløs temperaturføler
- Ultralydssensor
- Brødbræt
- Jumper Wires
EM18 RFID-læsermodul
En af de meget anvendte RFID-læsere til læsning af 125 kHz-tags er EM-18 RFID Reader. Dette billige RFID Reader-modul har lavt strømforbrug, lav formfaktor og nem at bruge. EM-18 Reader Module kan levere output gennem to kommunikationsgrænseflader, dvs. RS232 og WEIGAND26.
EM18 RFID Reader har en transceiver, der sender et radiosignal. Når RFID-mærket kommer inden for senderens signalområde, rammer dette signal transponderen, der er inde i kortet. Mærket trækker strøm fra det læsermodul-genererede elektromagnetfelt. Transponder omdanner derefter radiosignalet til den anvendelige form for magt. Efter at have fået strøm overfører transponderen al information, såsom et specifikt ID, i form af et RF-signal til RFID-modulet. Derefter sendes disse data til mikrokontrolleren ved hjælp af UART-kommunikation.
For at lære mere om RFID og tags, se vores tidligere RFID-baserede projekter.
MLX90614 Infrarødt termometer
Før vi fortsætter med vejledningen, er det vigtigt at vide, hvordan MLX90614-sensoren fungerer. Der er mange temperaturfølere tilgængelige på markedet, og vi har brugt DHT11-sensoren og LM35 i vid udstrækning til mange applikationer, hvor luftfugtighed eller temperatur skal måles.
Vi har tidligere brugt denne sensor i IR-termisk pistol, som kan registrere temperaturen på et bestemt objekt (ikke omgivende) uden direkte at komme i kontakt med objektet. Her bruger vi igen den samme sensor til at beregne temperaturen på et objekt. MLX90614 er en sådan sensor, der bruger IR-energi til at registrere en genstands temperatur. Hvis du vil lære mere om infrarødt og IR-sensorkredsløb, skal du følge linket.
MLX90614- sensoren er fremstillet af Melexis Microelectronics Integrated-system, den har to enheder integreret i den, den ene er den infrarøde termopiledetektor (sensorenhed) og den anden er en signalbehandlings-DSP-enhed (beregningsenhed). Det fungerer baseret på Stefan-Boltzmann-loven, der siger, at alle objekter udsender IR-energi, og intensiteten af denne energi vil være direkte proportional med temperaturen på objektet. Sensorenheden i sensoren måler, hvor meget IR-energi der udsendes af et målobjekt, og beregningsenheden konverterer den til temperaturværdi ved hjælp af en 17-bit indbygget ADC og sender dataene gennem I2C-kommunikationen protokol. Sensoren måler både objekttemperaturen og omgivelsestemperaturen for at kalibrere objektets temperaturværdi. Funktionerne i MLX90614-sensoren er angivet nedenfor. For flere detaljer henvises til MLX90614 databladet.
Kredsløbsdiagram
Kredsløbsdiagram for RFID-baseret berøringsfri temperaturføler ved hjælp af Arduino er angivet nedenfor:
Som vist i kredsløbsdiagrammet er forbindelserne meget enkle, da vi har brugt dem som moduler, og vi kan bygge dem direkte på et brødbræt. LED'en, der er tilsluttet BUZ-stiften på EM18 Reader-modulet, bliver høj, når nogen scanner mærket. RFID-modulet sender data til controlleren i serie; derfor er sendestiften på RFID-modulet tilsluttet modtagerstiften på Arduino. Forbindelserne er yderligere klassificeret i nedenstående tabel:
Arduino Nano |
EM18 RFID-modul |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ultralydssensor (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Ekko |
Kode Forklaring
Vi er nødt til at skrive en Arduino-kode, der kan læse data fra ultralydssensoren, MLX90614, EM18 RFID Reader Module og sende en persons navn og temperatur til et Excel-ark. For denne kode skal du downloade Wire- og MLX90614-bibliotekerne. Efter download af bibliotekerne skal du føje dem til din Arduino IDE.
Den komplette kode til denne kontaktløse kropstemperaturovervågning findes i slutningen af siden. Her vil det samme program blive forklaret i små uddrag.
Som sædvanlig skal du starte koden ved at inkludere alle de nødvendige biblioteker. Her bruges Wire-biblioteket til at kommunikere ved hjælp af I2C-protokollen, og Adafruit_MLX90614.h- biblioteket bruges til at læse MLX90614-sensordataene.
#omfatte
Vi definerer derefter stifterne på den ultralydssensor, som vi har oprettet forbindelse til
const int trigPin = 5; const int echoPin = 6;
Derefter defineres variablerne til lagring af RFID-modulet, ultralydssensoren og MLX90614-sensordataene.
lang varighed int afstand; String RfidReading; flyde TempReading;
Inde i tomrumsopsætning () -funktionen initialiserer vi seriel skærm til fejlfinding og MLX90614 temperaturføler. Indstil også Trig og Echo pins som output og input pins.
ugyldig opsætning () {Serial.begin (9600); // Initialiser seriel kommunikation med den serielle monitor pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialiser_strømmer (); }
Inde i funktionen tomrumsløjfe () skal du beregne afstanden mellem personen og sensoren, og hvis afstanden er mindre end eller lig med 25 cm, skal du ringe til læseren () for at scanne mærket.
ugyldig sløjfe () {digitalWrite (trigPin, LOW); forsinkelseMikrosekunder (2); digitalWrite (trigPin, HIGH); forsinkelseMikrosekunder (10); digitalWrite (trigPin, LOW); varighed = pulseIn (echoPin, HIGH); afstand = varighed * 0,0340 / 2; hvis (afstand <= 25) {læser (); }
void reader () -funktionen bruges til at læse RFID-tagkortet. Når kortet er bragt nær læsermodulet, læser læsermodulet serielle data og gemmer det i inputvariablen.
ugyldig læser () {if (Serial.available ()) {count = 0; mens (Serial.available () && count <12) {input = Serial.read (); tælle ++; forsinkelse (5);
Sammenlign de scannede kortdata med de foruddefinerede tag-ID'er i de næste linjer. Hvis tag-ID'et matcher det scannede kort, skal du læse personens temperatur og sende personens temperatur og navn til excel-arket.
hvis (input == tag) flag = 1; ellers flag = 0; tælle ++; RfidReading = "Ashish"; }} hvis (flag == 1) {temp_read (); Skriv_streamer (); }
Inde i funktionen temp_read () skal du læse sensordataene MLX90614 i Celsius og gemme dem i variablen 'TempReading' .
ugyldigt temp_read () {TempReading = mlx.readObjectTempC ();}
Når hardwaren og softwaren er klar, er det tid til at uploade programmet til dit Arduino Nano Board. Så snart dit program uploades, begynder ultralydssensoren at beregne afstanden. Når den beregnede afstand er mindre end 40 cm, læser den temperaturen og kortet.
Lagring af sensordata i Excel-ark fra Arduino Controller
Nu for at sende data til Excel-ark skal vi bruge PLX-DAQ. Det er en Excel Plug-in-software, der hjælper dig med at skrive værdier fra Arduino til direkte i et Excel-ark på din bærbare computer eller pc. Brug linket til at downloade filen. Efter download har du hentet filen, og klik på.exe-filen for at installere den. Det opretter en mappe med navnet PLS-DAQ på dit skrivebord.
Åbn nu 'PLX-DAQ regneark'-filen fra skrivebordsmappen. Hvis makroer er deaktiveret på din Excel, vil du se en sikkerhedsblok som vist i billedet nedenfor:
Klik på Indstillinger-> Aktivér indholdet -> Udfør -> OK for at aktivere makroerne. Herefter får du følgende skærmbillede:
Vælg nu baudhastigheden som “9600” og den port, som din Arduino er tilsluttet, og klik derefter på Opret forbindelse for at starte datastreamingen. Dine værdier skal begynde at blive logget som vist på billedet nedenfor.
Sådan kan du oprette en kontaktløs temperaturscreeningsenhed og gemme dataene i Excel-arket.
En arbejdsvideo og en komplet kode findes i slutningen af siden.