- Požadované komponenty
- Čtecí modul RFID EM18
- Infračervený teploměr MLX90614
- Kruhový diagram
- Vysvětlení kódu
- Ukládání dat senzorů do listu aplikace Excel z řadiče Arduino
Od vypuknutí Covid-19 se infračervené teploměry používají jako screeningový nástroj ke skenování lidí na letištích, železničních stanicích a dalších přeplněných zařízeních. Tyto skeny se používají k identifikaci potenciálních pacientů s Covid-19. Vláda stanovila povinnost každého před vstupem do kanceláře, školy nebo na jakékoli jiné přeplněné místo prohledat.
V tomto tutoriálu tedy postavíme bezkontaktní teplotní monitorovací systém založený na RFID pomocí bezkontaktního teplotního senzoru s Arduinem. Když zaměstnanci naskenují RFID kartu, bude měřit tělesnou teplotu zaměstnanců pomocí bezkontaktního infračerveného teploměru a zaznamenávat jméno a teplotu daného zaměstnance přímo do listu aplikace Excel. K sestavení tohoto projektu budeme používat Arduino Nano, MLX90614, čtečku RFID EM18 a ultrazvukový senzor. Ultrazvukový senzor se používá k výpočtu vzdálenosti mezi teploměrem a osobou. Teploměr měří teplotu pouze tehdy, když je vzdálenost menší než 25 CM. Je to něco jako docházkový systém založený na RFID, který také zaznamenává tělesnou teplotu každého člověka.
Požadované komponenty
- Arduino Nano
- EM-18 RFID modul
- MLX90614 Bezkontaktní snímač teploty
- Ultrazvukový senzor
- Nepájivá deska
- Propojovací dráty
Čtecí modul RFID EM18
Jednou z široce používaných čteček RFID pro čtení tagů 125 kHz je čtečka RFID EM-18. Tento levný modul čtečky RFID se vyznačuje nízkou spotřebou energie, nízkým tvarovým faktorem a snadným použitím. Čtecí modul EM-18 může poskytovat výstup prostřednictvím dvou komunikačních rozhraní, tj. RS232 a WEIGAND26.
Čtečka RFID EM18 je vybavena vysílačem a přijímačem, který vysílá rádiový signál. Když se značka RFID dostane do rozsahu signálu vysílače, tento signál zasáhne transpondér, který je uvnitř karty. Štítek odebírá energii z elektromagnetického pole generovaného modulem čtečky. Transpondér poté transformuje rádiový signál na použitelnou formu energie. Po získání energie transpondér přenáší všechny informace, například konkrétní ID, ve formě RF signálu do modulu RFID. Poté byla tato data odeslána do mikrokontroléru pomocí komunikace UART.
Chcete-li se dozvědět více o RFID a značkách, podívejte se na naše předchozí projekty založené na RFID.
Infračervený teploměr MLX90614
Než budeme pokračovat v tutoriálu, je důležité vědět, jak senzor MLX90614 funguje. Na trhu je k dispozici mnoho teplotních senzorů a senzory DHT11 a LM35 používáme značně pro mnoho aplikací, kde je třeba měřit vzdušnou vlhkost nebo teplotu.
Tento senzor jsme dříve používali v IR termální pistoli, která dokáže snímat teplotu konkrétního objektu (nikoli okolí), aniž by s ním přímo přišla do styku. Zde opět používáme stejný senzor k výpočtu teploty objektu. MLX90614 je jeden takový senzor, který využívá infračervenou energii k detekci teploty objektu. Chcete-li se dozvědět více o obvodu infračerveného a infračerveného senzoru, klikněte na odkaz.
Senzor MLX90614 je vyráběn integrovaným systémem Melexis Microelectronics, má v sobě zabudovaná dvě zařízení, jedno je infračervený termopilní detektor (snímací jednotka) a druhé je zařízení pro úpravu signálu DSP (výpočetní jednotka). Funguje na základě zákona Stefana-Boltzmanna, který uvádí, že všechny objekty vyzařují infračervenou energii a intenzita této energie bude přímo úměrná teplotě daného objektu. Senzorová jednotka v senzoru měří, kolik IR energie vyzařuje cílený objekt, a výpočetní jednotka ji převádí na hodnotu teploty pomocí 17bitového vestavěného ADC a vydává data prostřednictvím komunikace I2C protokol. Senzor měří jak teplotu objektu, tak teplotu okolí ke kalibraci hodnoty teploty objektu. Vlastnosti senzoru MLX90614 jsou uvedeny níže, další podrobnosti naleznete v datovém listu MLX90614.
Kruhový diagram
Schéma zapojení pro bezkontaktní teplotní senzor založený na RFID pomocí Arduina je uvedeno níže:
Jak je znázorněno na schématu zapojení, připojení je velmi jednoduché, protože jsme je použili jako moduly, můžeme je přímo postavit na prkénko. LED dioda připojená k pinu BUZ modulu čtečky EM18 se rozsvítí vysoko, když někdo naskenuje značku. Modul RFID odesílá data do řadiče sériově; proto je pin vysílače modulu RFID připojen k pinu přijímače Arduino. Připojení jsou dále klasifikována v následující tabulce:
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 |
Ultrazvukový senzor (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Echo |
Vysvětlení kódu
Musíme napsat Arduino kód, který umí číst data z ultrazvukového senzoru, MLX90614, EM18 RFID čtecího modulu, a odesílat jméno a teplotu osoby do listu Excel. U tohoto kódu si musíte stáhnout knihovny Wire a MLX90614. Po stažení knihoven je přidejte do svého Arduino IDE.
Úplný kód pro toto bezkontaktní monitorování tělesné teploty je uveden na konci stránky. Zde bude stejný program vysvětlen v malých úryvcích.
Jako obvykle spusťte kód zahrnutím všech požadovaných knihoven. Zde se knihovna Wire používá ke komunikaci pomocí protokolu I2C a knihovna Adafruit_MLX90614.h se používá ke čtení dat senzoru MLX90614.
#zahrnout
Poté definujeme piny ultrazvukového senzoru, ke kterému jsme připojili
const int trigPin = 5; const int echoPin = 6;
Poté definujte proměnné pro uložení dat RFID modulu, ultrazvukového senzoru a senzoru MLX90614.
dlouhé trvání; vzdálenost int; Řetězec RfidReading; float TempReading;
Uvnitř funkce void setup () inicializujeme sériové monitorování pro ladění a teplotní senzor MLX90614. Také nastavte piny Trig a Echo jako výstupní a vstupní piny.
void setup () {Serial.begin (9600); // Inicializace sériové komunikace se sériovým monitorem pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Uvnitř funkce void loop () vypočítejte vzdálenost mezi osobou a senzorem a pokud je vzdálenost menší nebo rovna 25 cm, zavolejte funkci reader () a naskenujte značku.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); vzdálenost = doba trvání * 0,0340 / 2; if (vzdálenost <= 25) {reader (); }
Funkce čtečky void () se používá ke čtení karty štítku RFID. Jakmile se karta přiblíží ke čtecímu modulu, čtecí modul načte sériová data a uloží je do vstupní proměnné.
void reader () {if (Serial.available ()) {count = 0; while (Serial.available () && count <12) {input = Serial.read (); count ++; zpoždění (5);
V následujících řádcích porovnejte naskenovaná data karty s předdefinovaným ID tagu. Pokud ID štítku odpovídá naskenované kartě, přečtěte si teplotu osoby a odešlete teplotu a jméno osoby do listu aplikace Excel.
if (input == tag) flag = 1; else flag = 0; count ++; RfidReading = "Ashish"; }} if (flag == 1) {temp_read (); Write_streamer (); }
Ve funkci temp_read () načtěte data senzoru MLX90614 ve stupních Celsia a uložte je do proměnné 'TempReading' .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Jakmile je hardware a software připraven, je čas nahrát program do vaší desky Arduino Nano. Jakmile se váš program nahraje, ultrazvukový senzor začne počítat vzdálenost. Pokud je vypočítaná vzdálenost menší než 40 cm, přečte se teplota a karta.
Ukládání dat senzorů do listu aplikace Excel z řadiče Arduino
Nyní k odesílání dat do listu aplikace Excel použijeme PLX-DAQ. Jedná se o software Excel Plug-in, který vám pomůže zapisovat hodnoty z Arduina přímo do listu aplikace Excel na vašem notebooku nebo PC. Pomocí odkazu stáhněte soubor. Po stažení soubor rozbalte a nainstalujte jej kliknutím na soubor.exe. Na ploše vytvoří složku s názvem PLS-DAQ.
Nyní otevřete soubor 'PLX-DAQ spreadsheet' ze složky na ploše. Pokud jsou ve vašem Excelu deaktivována makra, uvidíte bezpečnostní blok, jak je znázorněno na následujícím obrázku:
Kliknutím na Možnosti-> Povolit obsah -> Dokončit -> OK povolíte makra. Poté se zobrazí následující obrazovka:
Nyní vyberte přenosovou rychlost jako „9600“ a port, ke kterému je vaše Arduino připojeno, a poté kliknutím na Připojit spusťte streamování dat. Vaše hodnoty by se měly začít protokolovat, jak je znázorněno na obrázku níže.
Tímto způsobem můžete vytvořit bezkontaktní zařízení pro screening teploty a ukládat data do listu aplikace Excel.
Pracovní video a kompletní kód jsou uvedeny na konci stránky.