- Komponenter krävs
- EM18 RFID-läsarmodul
- MLX90614 Infraröd termometer
- Kretsschema
- Kodförklaring
- Lagring av sensordata i Excel-ark från Arduino Controller
Sedan utbrottet av Covid-19 används infraröda termometrar som ett screeningverktyg för att skanna folket på flygplatser, järnvägsstationer och andra trånga anläggningar. Dessa skanningar används för att identifiera potentiella patienter med Covid-19. Regeringen gjorde det obligatoriskt att skanna alla innan de kom in på kontoret, skolan eller någon annan trång plats.
Så i den här handledningen ska vi bygga ett RFID-baserat kontaktlöst temperaturövervakningssystem med en kontaktlös temperaturgivare med Arduino. När anställda skannar RFID-kortet kommer det att mäta anställdas kroppstemperatur med en kontaktfri infraröd termometer och logga den anställdas namn och temperatur direkt till excelbladet. Vi kommer att använda Arduino Nano, MLX90614, EM18 RFID Reader och Ultrasonic Sensor för att bygga detta projekt. Ultraljudsgivaren används för att beräkna avståndet mellan termometern och personen. Termometern mäter bara temperaturen när avståndet är mindre än 25 CM. Det är ungefär som ett RFID-baserat närvarosystem som också registrerar kroppstemperaturen för varje person.
Komponenter krävs
- Arduino Nano
- EM-18 RFID-modul
- MLX90614 Kontaktlös temperatursensor
- Ultraljudssensor
- Bakbord
- Bygeltrådar
EM18 RFID-läsarmodul
En av de allmänt använda RFID-läsarna för läsning av 125 kHz-taggar är EM-18 RFID Reader. Denna billiga RFID-läsarmodul har låg strömförbrukning, låg formfaktor och enkel att använda. EM-18 Reader Module kan ge utdata genom två kommunikationsgränssnitt, dvs RS232 och WEIGAND26.
EM18 RFID Reader har en sändtagare som sänder en radiosignal. När RFID-taggen kommer inom sändarens signalområde, träffar denna signal transpondern som är inne i kortet. Taggen hämtar kraft från det läsarmodulgenererade elektromagnetfältet. Transpondern förvandlar sedan radiosignalen till den användbara formen av kraft. Efter att ha fått ström överför transpondern all information, såsom ett specifikt ID, i form av en RF-signal till RFID-modulen. Sedan skickas dessa data till mikrokontrollern med UART-kommunikation.
För att lära dig mer om RFID och taggar, kolla in våra tidigare RFID-baserade projekt.
MLX90614 Infraröd termometer
Innan vi fortsätter med handledningen är det viktigt att veta hur sensorn MLX90614 fungerar. Det finns många temperatursensorer tillgängliga på marknaden och vi har använt DHT11-sensorn och LM35 i stor utsträckning för många applikationer där luftfuktighet eller temperatur måste mätas.
Vi har tidigare använt den här sensorn i IR-termopistol som kan känna av temperaturen på ett visst objekt (inte omgivande) utan att direkt komma i kontakt med objektet. Här använder vi återigen samma sensor för att beräkna temperaturen på ett objekt. MLX90614 är en sådan sensor som använder IR-energi för att detektera ett objekts temperatur. För att lära dig mer om IR-sensorkretsen, följ länken.
MLX90614- sensorn är tillverkad av Melexis Microelectronics Integrated-system, den har två enheter inbäddade, den ena är den infraröda termopil-detektorn (avkänningsenhet) och den andra är en signalbehandlings-DSP-enhet (beräkningsenhet). Det fungerar baserat på Stefan-Boltzmann-lagen som säger att alla objekt avger IR-energi och intensiteten hos denna energi kommer att vara direkt proportionell mot det objektets temperatur. Avkänningsenheten i sensorn mäter hur mycket IR-energi som sänds ut av ett riktat objekt och beräkningsenheten omvandlar den till temperaturvärde med hjälp av en 17-bitars inbyggd ADC och matar ut data via I2C-kommunikationen protokoll. Sensorn mäter både objekttemperaturen och omgivningstemperaturen för att kalibrera objektets temperaturvärde. Funktioner för MLX90614-sensorn ges nedan, för mer information se MLX90614-databladet.
Kretsschema
Kretsschema för RFID-baserad beröringsfri temperaturgivare med Arduino ges nedan:
Som visas i kretsschemat är anslutningarna väldigt enkla eftersom vi har använt dem som moduler, vi kan direkt bygga dem på en bräda. Lysdioden som är ansluten till BUZ-stiftet på EM18 Reader-modulen blir hög när någon skannar taggen. RFID-modulen skickar data till styrenheten i serie; Därför är sändarstiftet på RFID-modulen ansluten till Arduinos mottagarstift. Anslutningarna klassificeras ytterligare i tabellen nedan:
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 |
Ultraljudsensor (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Eko |
Kodförklaring
Vi måste skriva en Arduino-kod som kan läsa data från ultraljudssensorn, MLX90614, EM18 RFID-läsarmodulen och skicka namn och temperatur på en person till ett Excel-ark. För den här koden måste du ladda ner biblioteken Wire och MLX90614. När du har laddat ner biblioteken lägger du till dem i din Arduino IDE.
Den fullständiga koden för denna kontaktlösa kroppstemperaturövervakning ges i slutet av sidan. Här kommer samma program att förklaras i små utdrag.
Starta koden som vanligt med alla nödvändiga bibliotek. Här används Wire-biblioteket för att kommunicera med I2C-protokollet och Adafruit_MLX90614.h- biblioteket används för att läsa sensordata för MLX90614.
#omfatta
Vi definierar sedan stiften på ultraljudssensorn som vi har anslutit till
const int trigPin = 5; const int echoPin = 6;
Därefter definierar du variablerna för att lagra RFID-modulen, ultraljudssensorn och MLX90614-sensordata.
lång varaktighet; int avstånd; String RfidReading; float TempReading;
Inuti funktionen tomrumsinställning () initierar vi seriell bildskärm för felsökning och temperaturgivaren MLX90614. Ställ också in Trig- och Echo-stiften som ut- och ingångsstift.
ogiltig installation () {Serial.begin (9600); // Initiera seriekommunikation med pinMode för Serial Monitor (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initiera_streamer (); }
Inuti funktionen tomrumsslinga () , beräkna avståndet mellan personen och sensorn och om avståndet är mindre än eller lika med 25 cm, ring sedan läsaren () för att skanna taggen.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); varaktighet = pulseIn (echoPin, HIGH); avstånd = varaktighet * 0,0340 / 2; om (avstånd <= 25) {läsare (); }
void reader () -funktionen används för att läsa RFID-taggkortet. När kortet har kommit nära läsarmodulen läser läsarmodulen seriell data och lagrar den i inmatningsvariabeln.
ogiltig läsare () {if (Serial.available ()) {count = 0; medan (Serial.available () && count <12) {input = Serial.read (); räkna ++; fördröjning (5);
Jämför skannade kortdata med det fördefinierade tagg-ID på nästa rader. Om tagg-ID: t matchar det skannade kortet läser du personens temperatur och skickar personens temperatur och namn till excel-arket.
om (input == tag) flagga = 1; annars flagga = 0; räkna ++; RfidReading = "Ashish"; }} if (flagga == 1) {temp_read (); Write_streamer (); }
Inuti temp_read () -funktionen, läs sensordata MLX90614 i Celsius och lagra den i variabeln 'TempReading' .
ogiltigt temp_read () {TempReading = mlx.readObjectTempC ();}
När hårdvaran och programvaran är redo är det dags att ladda upp programmet till ditt Arduino Nano Board. Så snart ditt program laddas upp börjar ultraljudssensorn att beräkna avståndet. När det beräknade avståndet är mindre än 40 cm avläses temperaturen och kortet.
Lagring av sensordata i Excel-ark från Arduino Controller
Nu för att skicka data till Excel-ark ska vi använda PLX-DAQ. Det är en Excel Plug-in-programvara som hjälper dig att skriva värden från Arduino till direkt i ett Excel-ark på din bärbara dator eller PC. Använd länken för att ladda ner filen. Efter nedladdningen extraherar du filen och klickar på.exe-filen för att installera den. Det skapar en mapp med namnet PLS-DAQ på skrivbordet.
Öppna nu filen 'PLX-DAQ-kalkylark' från skrivbordsmappen. Om makron är inaktiverade i din Excel kommer du att se ett säkerhetsblock som visas i bilden nedan:
Klicka på Alternativ-> Aktivera innehållet -> Slutför -> OK för att aktivera makron. Efter detta får du följande skärm:
Välj nu baudhastigheten som “9600” och porten som din Arduino är ansluten till och klicka sedan på Anslut för att starta dataströmningen. Dina värden bör börja loggas som visas på bilden nedan.
Så här kan du bygga en kontaktlös temperaturscreeningsenhet och lagra data i Excel-arket.
En arbetsvideo och fullständig kod ges i slutet av sidan.