- Nepieciešamās sastāvdaļas
- EM18 RFID lasītāja modulis
- MLX90614 infrasarkanais termometrs
- Ķēdes shēma
- Kods Paskaidrojums
- Sensora datu glabāšana Excel lapā no Arduino Controller
Kopš Covid-19 uzliesmojuma infrasarkanie termometri tiek izmantoti kā skrīninga rīks, lai skenētu cilvēkus lidostās, dzelzceļa stacijās un citās pārpildītās iestādēs. Šie skenējumi tiek izmantoti, lai identificētu potenciālos Covid-19 pacientus. Valdība noteica par obligātu visu skenēšanu pirms ieiešanas birojā, skolā vai jebkurā citā pārpildītā vietā.
Tāpēc šajā apmācībā mēs izveidosim uz RFID balstītu bezkontakta temperatūras uzraudzības sistēmu, izmantojot bezkontakta temperatūras sensoru ar Arduino. Kad darbinieki skenē RFID karti, tā izmērīs darbinieku ķermeņa temperatūru ar bezkontakta infrasarkano staru termometru un reģistrēs šī darbinieka vārdu un temperatūru tieši Excel lapā. Lai izveidotu šo projektu, mēs izmantosim Arduino Nano, MLX90614, EM18 RFID lasītāju un ultraskaņas sensoru. Ultraskaņas sensoru izmanto, lai aprēķinātu attālumu starp termometru un personu. Termometrs temperatūru mēra tikai tad, ja attālums ir mazāks par 25 CM. Tas ir kaut kas līdzīgs RFID balstītai apmeklēšanas sistēmai, kas reģistrē arī katra cilvēka ķermeņa temperatūru.
Nepieciešamās sastāvdaļas
- Arduino Nano
- EM-18 RFID modulis
- MLX90614 Bezkontakta temperatūras sensors
- Ultraskaņas sensors
- Maizes dēlis
- Džemperu vadi
EM18 RFID lasītāja modulis
Viens no plaši izmantotajiem RFID lasītājiem 125 kHz tagu lasīšanai ir EM-18 RFID lasītājs. Šis zemo izmaksu RFID lasītāja modulis piedāvā zemu enerģijas patēriņu, zemu formas faktoru un viegli lietojamu. EM-18 lasītāja modulis var nodrošināt izvadi, izmantojot divas komunikācijas saskarnes, ti, RS232 un WEIGAND26.
EM18 RFID Reader ir uztvērējs, kas pārraida radio signālu. Kad RFID marķējums nonāk raidītāja signāla diapazonā, šis signāls trāpa karterā esošajā retranslatorā. Birkas enerģija tiek iegūta no lasītāja moduļa ģenerētā elektromagnēta lauka. Pēc tam retranslators pārveido radio signālu par izmantojamo enerģijas veidu. Saņemot strāvu, retranslators visu informāciju, piemēram, noteiktu ID, RF signāla veidā pārsūta uz RFID moduli. Tad šie dati, izmantojot UART komunikāciju, nosūtīti mikrokontrollerim.
Lai uzzinātu vairāk par RFID un tagiem, pārbaudiet mūsu iepriekšējos RFID balstītos projektus.
MLX90614 infrasarkanais termometrs
Pirms turpināt apmācību, ir svarīgi zināt, kā darbojas sensors MLX90614. Tirgū ir pieejami daudzi temperatūras sensori, un mēs daudz lietojām DHT11 sensoru un LM35 daudzās lietojumprogrammās, kur jāmēra atmosfēras mitrums vai temperatūra.
Iepriekš mēs izmantojām šo sensoru infrasarkano staru termopūtē, kas var noteikt konkrēta objekta (nevis apkārtējās vides) temperatūru, tieši nesaskaroties ar objektu. Šeit mēs atkal izmantojam to pašu sensoru, lai aprēķinātu objekta temperatūru. MLX90614 ir viens no šādiem sensoriem, kas izmanto IR enerģiju objekta temperatūras noteikšanai. Lai uzzinātu vairāk par infrasarkano un infrasarkano sensoru shēmu, sekojiet saitei.
MLX90614 sensoru ražo integrētā sistēma Melexis Microelectronics, tajā ir iestrādātas divas ierīces, viena ir infrasarkano staru termopile detektors (sensora bloks), bet otrs ir signālu kondicionējoša DSP ierīce (skaitļošanas vienība). Tas darbojas, pamatojoties uz Stefana-Boltmana likumu, kurā teikts, ka visi objekti izstaro IR enerģiju un šīs enerģijas intensitāte būs tieši proporcionāla šī objekta temperatūrai. Sensora sensora vienība mēra, cik daudz IR enerģijas izstaro mērķēts objekts, un skaitļošanas vienība to pārvērš temperatūras vērtībā, izmantojot 17 bitu iebūvētu ADC, un datus izplūst caur I2C komunikāciju protokols. Sensors mēra gan objekta temperatūru, gan apkārtējo temperatūru, lai kalibrētu objekta temperatūras vērtību. MLX90614 sensora funkcijas ir norādītas zemāk, lai iegūtu sīkāku informāciju, skatiet MLX90614 datu lapu.
Ķēdes shēma
Zemāk ir dota bezkontakta RFID bāzes sensora ar Arduino shēma:
Kā parādīts ķēdes shēmā, savienojumi ir ļoti vienkārši, jo mēs tos esam izmantojuši kā moduļus, mēs tos varam tieši veidot uz paneļa. Gaismas diode, kas savienota ar EM18 Reader moduļa BUZ tapu, iedegas augstu, kad kāds skenē tagu. RFID modulis datus kontrolierim nosūta sērijveidā; līdz ar to RFID moduļa raidītāja tapa ir savienota ar Arduino uztvērēja tapu. Savienojumi ir sīkāk klasificēti šajā tabulā:
Arduino Nano |
EM18 RFID modulis |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ultraskaņas sensors (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Atbalss |
Kods Paskaidrojums
Mums ir jāuzraksta Arduino kods, kas var nolasīt datus no ultraskaņas sensora, MLX90614, EM18 RFID lasītāja moduļa un nosūtīt personas vārdu un temperatūru uz Excel lapu. Šim kodam ir jālejupielādē Wire un MLX90614 bibliotēkas. Pēc bibliotēku lejupielādes pievienojiet tās savam Arduino IDE.
Pilns kods šim bezkontakta ķermeņa temperatūras monitoringam ir norādīts lapas beigās. Šeit tā pati programma tiks izskaidrota mazos fragmentos.
Kā parasti, sāciet kodu, iekļaujot visas nepieciešamās bibliotēkas. Šeit Wire bibliotēka tiek izmantota saziņai, izmantojot I2C protokolu, un Adafruit_MLX90614.h bibliotēka tiek izmantota MLX90614 sensora datu nolasīšanai.
# iekļaut
Pēc tam mēs definējam ultraskaņas sensora tapas, ar kurām mēs esam izveidojuši savienojumu
const int trigPin = 5; const int echoPin = 6;
Pēc tam definējiet mainīgos, lai saglabātu RFID moduli, ultraskaņas sensoru un MLX90614 sensora datus.
ilgs ilgums; int attālums; String RfidReading; pludiņš TempReading;
Funkcijas void setup () iekšpusē mēs inicializējam sērijveida monitoru atkļūdošanai un MLX90614 temperatūras sensoru. Kā izejas un ievades tapas iestatiet arī Trig un Echo tapas.
void setup () {Sērijas.sākt (9600); // Sākt sērijveida saziņu ar seriālo monitoru pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Funkcijas void loop () iekšpusē aprēķiniet attālumu starp personu un sensoru un, ja attālums ir mazāks vai vienāds ar 25 cm, pēc tam izsauciet funkciju lasītājs (), lai skenētu tagu.
void loop () {digitalWrite (trigPin, LOW); kavēšanāsMikrosekundes (2); digitalWrite (trigPin, HIGH); kavēšanāsMikrosekundes (10); digitalWrite (trigPin, LOW); ilgums = pulseIn (echoPin, HIGH); attālums = ilgums * 0,0340 / 2; ja (attālums <= 25) {lasītājs (); }
funkcija void reader () tiek izmantota RFID tagu kartes nolasīšanai. Kad karte ir nonākusi lasītāja moduļa tuvumā, lasītāja modulis nolasa sērijas datus un saglabā tos ievades mainīgajā.
void reader () {if (Seriāls.pieejams ()) {count = 0; while (Seriālais.pieejamais () && skaits <12) {ievade = Seriālais. ((); skaits ++; kavēšanās (5);
Nākamajās rindās salīdziniet skenēto karšu datus ar iepriekš definēto taga ID. Ja taga ID atbilst skenētajai kartei, nolasiet personas temperatūru un nosūtiet personas temperatūru un vārdu uz Excel lapu.
if (ievade == tags) karogs = 1; cits karogs = 0; skaits ++; RfidReading = "Ašīšs"; }} if (karogs == 1) {temp_read (); Write_streamer (); }
Funkcijas temp_read () iekšpusē nolasiet sensora MLX90614 datus pēc Celsija un saglabājiet tos mainīgajā “TempReading” .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Kad aparatūra un programmatūra ir gatava, ir pienācis laiks programmu augšupielādēt savā Arduino Nano dēlī. Tiklīdz jūsu programma tiek augšupielādēta, ultraskaņas sensors sāk aprēķināt attālumu. Kad aprēķinātais attālums ir mazāks par 40 cm, tas nolasa temperatūru un karti.
Sensora datu glabāšana Excel lapā no Arduino Controller
Tagad, lai nosūtītu datus uz Excel lapu, mēs izmantosim PLX-DAQ. Tā ir Excel plug-in programmatūra, kas palīdz jums ierakstīt vērtības no Arduino tieši Excel lapā jūsu klēpjdatorā vai personālajā datorā. Izmantojiet saiti, lai lejupielādētu failu. Pēc lejupielādes izvelciet failu un noklikšķiniet uz.exe, lai to instalētu. Tas darbvirsmā izveidos mapi ar nosaukumu PLS-DAQ.
Tagad no darbvirsmas mapes atveriet failu “PLX-DAQ izklājlapa”. Ja jūsu Excel ir atspējoti makro, redzēsit drošības bloku, kā parādīts zemāk esošajā attēlā:
Noklikšķiniet uz Opcijas-> Iespējot saturu -> Pabeigt -> Labi, lai iespējotu makro. Pēc tam jūs saņemsit šādu ekrānu:
Tagad izvēlieties datu pārraides ātrumu kā “9600” un portu, ar kuru savienots jūsu Arduino, un pēc tam noklikšķiniet uz Savienot, lai sāktu datu straumēšanu. Jūsu vērtības jāsāk reģistrēt, kā parādīts zemāk esošajā attēlā.
Tādā veidā jūs varat izveidot bezkontakta temperatūras pārbaudes ierīci un saglabāt datus Excel lapā.
Darba video un pilns kods ir norādīts lapas beigās.