- Komponenter kreves
- EM18 RFID-lesermodul
- MLX90614 Infrarødt termometer
- Kretsdiagram
- Kode Forklaring
- Lagring av sensordata i Excel-ark fra Arduino Controller
Siden utbruddet av Covid-19 brukes infrarøde termometre som et screeningverktøy for å skanne folket på flyplasser, jernbanestasjoner og andre overfylte virksomheter. Disse skanningene brukes til å identifisere potensielle pasienter med Covid-19. Regjeringen gjorde det obligatorisk å skanne alle før de kom inn på kontoret, skolen eller et annet overfylt sted.
Så i denne opplæringen skal vi bygge et RFID-basert kontaktløst temperaturovervåkingssystem ved hjelp av en kontaktløs temperaturføler med Arduino. Når ansatte skanner RFID-kortet, vil det måle kroppstemperaturen til de ansatte med et ikke-kontakt infrarødt termometer og logge navnet og temperaturen til den ansatte direkte til Excel-arket. Vi vil bruke Arduino Nano, MLX90614, EM18 RFID Reader og Ultrasonic Sensor til å bygge dette prosjektet. Ultralydssensoren brukes til å beregne avstanden mellom termometeret og personen. Termometeret måler bare temperaturen når avstanden er mindre enn 25 CM. Det er omtrent som et RFID-basert fremmøtesystem, som også registrerer kroppstemperaturen til hver person.
Komponenter kreves
- Arduino Nano
- EM-18 RFID-modul
- MLX90614 Kontaktløs temperaturføler
- Ultralydssensor
- Brettbrett
- Jumper Wires
EM18 RFID-lesermodul
En av de mye brukte RFID-leserne for å lese 125 kHz-koder er EM-18 RFID Reader. Denne rimelige RFID-lesermodulen har lavt strømforbruk, lav formfaktor og enkel å bruke. EM-18 Reader Module kan levere utgang gjennom to kommunikasjonsgrensesnitt, dvs. RS232 og WEIGAND26.
EM18 RFID Reader har en mottaker som sender et radiosignal. Når RFID-koden kommer i sendersignalområdet, treffer dette signalet transponderen som er inne i kortet. Merkelappen henter strøm fra det lesermodulgenererte elektromagnetfeltet. Transponderen forvandler deretter radiosignalet til den brukbare formen for kraft. Ved å få strøm overfører transponderen all informasjon, for eksempel en spesifikk ID, i form av et RF-signal til RFID-modulen. Deretter sendes disse dataene til mikrokontrolleren ved hjelp av UART-kommunikasjon.
For å lære mer om RFID og koder, sjekk våre tidligere RFID-baserte prosjekter.
MLX90614 Infrarødt termometer
Før vi fortsetter med opplæringen, er det viktig å vite hvordan MLX90614-sensoren fungerer. Det er mange temperatursensorer tilgjengelig i markedet, og vi har brukt DHT11-sensoren og LM35 mye for mange applikasjoner der luftfuktighet eller temperatur må måles.
Vi har tidligere brukt denne sensoren i IR-termopistol som kan registrere temperaturen til et bestemt objekt (ikke omgivende) uten å komme direkte i kontakt med objektet. Her bruker vi igjen den samme sensoren til å beregne temperaturen på et objekt. MLX90614 er en slik sensor som bruker IR-energi til å oppdage temperaturen på et objekt. For å lære mer om infrarød og IR-sensorkrets, følg lenken.
MLX90614- sensoren er produsert av Melexis Microelectronics Integrated system, den har to enheter innebygd i den, den ene er den infrarøde termopilen detektoren (sensing unit) og den andre er en signalbehandlings DSP-enhet (beregningsenhet). Det fungerer basert på Stefan-Boltzmann-loven som sier at alle objekter avgir IR-energi og intensiteten til denne energien vil være direkte proporsjonal med temperaturen til den gjenstanden. Sensorenheten i sensoren måler hvor mye IR-energi som sendes ut av et målobjekt, og beregningsenheten konverterer den til temperaturverdi ved hjelp av en 17-biters innebygd ADC og sender ut dataene gjennom I2C-kommunikasjonen protokoll. Sensoren måler både objekttemperaturen og omgivelsestemperaturen for å kalibrere objektets temperaturverdi. Funksjonene til MLX90614-sensoren er gitt nedenfor, for mer informasjon, se MLX90614-databladet.
Kretsdiagram
Kretsdiagram for RFID-basert berøringsfri temperatursensor ved bruk av Arduino er gitt nedenfor:
Som vist i kretsskjemaet, er tilkoblingene veldig enkle siden vi har brukt dem som moduler, vi kan bygge dem direkte på et brødbrett. LED-en som er koblet til BUZ-pinnen på EM18 Reader-modulen blir høy når noen skanner koden. RFID-modulen sender data til kontrolleren i serie; Derfor er senderpinnen til RFID-modulen koblet til mottakerpinnen til Arduino. Forbindelsene er ytterligere klassifisert i tabellen nedenfor:
Arduino Nano |
EM18 RFID-modul |
5V |
Vcc |
GND |
GND |
5V |
SELG |
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 må skrive en Arduino-kode som kan lese data fra ultralydssensoren, MLX90614, EM18 RFID Reader Module, og sende navn og temperatur til en person til et Excel-ark. For denne koden må du laste ned Wire- og MLX90614-bibliotekene. Etter at du har lastet ned bibliotekene, legger du dem til din Arduino IDE.
Den komplette koden for denne kontaktløse kroppstemperaturovervåkingen er gitt på slutten av siden. Her vil det samme programmet bli forklart i små utdrag.
Start som vanlig koden ved å inkludere alle nødvendige biblioteker. Her brukes Wire-biblioteket til å kommunisere ved hjelp av I2C-protokollen, og Adafruit_MLX90614.h- biblioteket brukes til å lese MLX90614-sensordataene.
#inkludere
Vi definerer deretter pinnene til ultralydssensoren som vi har koblet til
const int trigPin = 5; const int echoPin = 6;
Deretter definerer du variablene som skal lagre RFID-modulen, ultralydsensoren og MLX90614 sensordata.
lang varighet; int avstand; String RfidReading; flyte TempReading;
Inne i tomrumsoppsettet () -funksjonen initialiserer vi seriell skjerm for feilsøking og temperaturføleren MLX90614. Sett også Trig- og Echo-pins som utgangs- og input-pins.
ugyldig oppsett () {Serial.begin (9600); // Initialiser seriell kommunikasjon med Serial Monitor pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialiser_strømmer (); }
Inne i void loop () -funksjonen, beregne avstanden mellom personen og sensoren, og hvis avstanden er mindre enn eller lik 25 cm, så ring leseren () for å skanne taggen.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); varighet = pulseIn (echoPin, HIGH); avstand = varighet * 0,0340 / 2; hvis (avstand <= 25) {leser (); }
void reader () -funksjonen brukes til å lese RFID-tag-kortet. Når kortet er brakt nær lesermodulen, leser lesermodulen serielle data og lagrer den i inngangsvariabelen.
ugyldig leser () {if (Serial.available ()) {count = 0; mens (Serial.available () && count <12) {input = Serial.read (); telle ++; forsinkelse (5);
I de neste linjene sammenligner du de skannede kortdataene med den forhåndsdefinerte tag-ID-en. Hvis tag-ID-en samsvarer med det skannede kortet, må du lese temperaturen til personen og sende temperaturen og navnet på personen til excel-arket.
hvis (input == tag) flagg = 1; annet flagg = 0; telle ++; RfidReading = "Ashish"; }} hvis (flagg == 1) {temp_read (); Skriv_streamer (); }
Inne i temp_read () -funksjonen, les MLX90614-sensordataene i Celsius og lagre dem i 'TempReading' -variabelen.
ugyldig temp_read () {TempReading = mlx.readObjectTempC ();}
Når maskinvaren og programvaren er klar, er det på tide å laste opp programmet til Arduino Nano Board. Så snart programmet ditt blir lastet opp, begynner ultralydsensoren å beregne avstanden. Når den beregnede avstanden er mindre enn 40 cm, leser den temperaturen og kortet.
Lagring av sensordata i Excel-ark fra Arduino Controller
Nå for å sende data til Excel-ark, skal vi bruke PLX-DAQ. Det er en Excel Plug-in-programvare som hjelper deg med å skrive verdier fra Arduino til direkte i et Excel-ark på din bærbare PC eller PC. Bruk lenken til å laste ned filen. Etter at du har lastet ned, pakk ut filen og klikk på.exe-filen for å installere den. Det vil opprette en mappe som heter PLS-DAQ på skrivebordet ditt.
Åpne nå 'PLX-DAQ regneark' -filen fra skrivebordsmappen. Hvis makroer er deaktivert på Excel, vil du se en sikkerhetsblokk som vist i bildet nedenfor:
Klikk på Alternativer-> Aktiver innholdet -> Fullfør -> OK for å aktivere makroene. Etter dette får du følgende skjerm:
Velg nå overføringshastigheten som “9600” og porten som Arduino er koblet til, og klikk deretter på Koble til for å starte datastreamingen. Verdiene dine skal begynne å bli logget som vist på bildet nedenfor.
Slik kan du bygge en kontaktløs temperaturscreeningsenhet og lagre dataene i Excel-arket.
En arbeidsvideo og fullstendig kode er gitt på slutten av siden.