- Szükséges alkatrészek
- EM18 RFID olvasó modul
- MLX90614 infravörös hőmérő
- Kördiagramm
- Kód Magyarázat
- Az érzékelő adatainak tárolása az Arduino Controller Excel lapjára
A Covid-19 kitörése óta az infravörös hőmérőket szűrőeszközként használják az emberek átvizsgálására a repülőtereken, a vasútállomásokon és más zsúfolt létesítményekben. Ezeket a vizsgálatokat a Covid-19 potenciális betegeinek azonosítására használják. A kormány kötelezővé tette, hogy mindenkit átvizsgáljon, mielőtt belépne az irodába, az iskolába vagy bármely más zsúfolt helyre.
Tehát ebben az oktatóanyagban egy RFID alapú érintés nélküli hőmérséklet-figyelő rendszert fogunk építeni egy Arduino-val ellátott érintés nélküli hőmérséklet-érzékelő segítségével. Amikor az alkalmazottak beolvassák az RFID-kártyát, az érintés nélküli infravörös hőmérővel méri az alkalmazottak testhőmérsékletét, és naplózza az alkalmazott nevét és hőmérsékletét közvetlenül az excel lapra. A projekt felépítéséhez az Arduino Nano, az MLX90614, az EM18 RFID olvasót és az ultrahangos érzékelőt fogjuk használni. Az ultrahangos érzékelő segítségével kiszámítható a hőmérő és az ember közötti távolság. A hőmérő csak akkor méri a hőmérsékletet, ha a távolság kisebb, mint 25 CM. Olyan, mint egy RFID-alapú jelenléti rendszer, amely minden ember testhőmérsékletét is rögzíti.
Szükséges alkatrészek
- Arduino Nano
- EM-18 RFID modul
- MLX90614 Érintés nélküli hőmérséklet-érzékelő
- Ultrahangos érzékelő
- Kenyérlemez
- Jumper huzalok
EM18 RFID olvasó modul
A 125 kHz-es címkék olvasásához az egyik széles körben használt RFID-olvasó az EM-18 RFID-olvasó. Ez az olcsó RFID-olvasó modul alacsony energiafogyasztással, alacsony formai tényezővel és könnyen használható. Az EM-18 Reader modul két kommunikációs interfészen keresztül képes kimenetet biztosítani, azaz RS232 és WEIGAND26.
Az EM18 RFID Reader rádiójelet továbbító adó-vevővel rendelkezik. Amikor az RFID címke az adó jeltartományába esik, ez a jel eltalálja a kártya belsejében lévő transzpondert. A címke energiát merít az olvasó modul által létrehozott elektromágneses mezőből. Ezután a transzponder átalakítja a rádiójelet a teljesítmény használható formájává. Tápellátás után a transzponder az összes információt, például egy adott azonosítót, RF jel formájában továbbítja az RFID modulnak. Ezután ezeket az adatokat az UART kommunikáció segítségével elküldtük a mikrovezérlőnek.
Ha többet szeretne megtudni az RFID-ről és a címkékről, ellenőrizze korábbi RFID-alapú projektjeinket.
MLX90614 infravörös hőmérő
Mielőtt folytatnánk az oktatóanyagot, fontos tudni, hogy működik az MLX90614 érzékelő. Számos hőmérséklet-érzékelő kapható a piacon, és a DHT11 érzékelőt és az LM35-et széles körben alkalmaztuk számos olyan alkalmazáshoz, ahol a légköri páratartalmat vagy hőmérsékletet kell mérni.
Korábban használtuk ezt az érzékelőt infravörös hőpisztolyban, amely érzékeli egy adott tárgy hőmérsékletét (nem környezeti), anélkül, hogy közvetlenül érintkezne az objektummal. Itt ismét ugyanazt az érzékelőt használjuk az objektum hőmérsékletének kiszámításához. Az MLX90614 egy olyan érzékelő, amely IR energiát használ egy tárgy hőmérsékletének érzékeléséhez. Ha többet szeretne megtudni az infravörös és az infravörös érzékelő áramköréről, kövesse a linket.
Az MLX90614 érzékelőt a Melexis Microelectronics Integrated rendszer gyártja, két eszköz van beágyazva, az egyik az infravörös hőelem detektor (érzékelő egység), a másik pedig egy jel kondicionáló DSP eszköz (számítási egység). Stefan-Boltzmann-törvény alapján működik, amely kimondja, hogy minden tárgy IR energiát bocsát ki, és ennek az energiának az intenzitása egyenesen arányos lesz a tárgy hőmérsékletével. Az érzékelő érzékelő egysége méri, hogy mennyi IR energiát bocsát ki egy megcélzott objektum, és a számítási egység egy 17 bites beépített ADC segítségével hőmérsékleti értékké alakítja, és az adatokat az I2C kommunikáción keresztül adja ki. jegyzőkönyv. Az érzékelő az objektum hőmérsékletét és a környezeti hőmérsékletet is méri az objektum hőmérsékletének kalibrálásához. Az MLX90614 érzékelő jellemzői az alábbiakban találhatók, további részletekért olvassa el az MLX90614 adatlapját.
Kördiagramm
Az Arduino-t használó RFID-alapú érintés nélküli hőmérséklet-érzékelő áramköri diagramja az alábbiakban látható:
Amint az a kapcsolási rajzon látható, a csatlakozások nagyon egyszerűek, mivel modulként használtuk őket, közvetlenül felépíthetjük őket egy kenyérlemezre. Az EM18 Reader modul BUZ csatlakozójához csatlakoztatott LED magasra vált, ha valaki beolvassa a címkét. Az RFID modul sorosan küldi az adatokat a vezérlőnek; ezért az RFID modul adó-tűje csatlakozik az Arduino vevőcsapjához. A csatlakozásokat az alábbi táblázat tovább osztályozza:
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 |
Ultrahangos érzékelő (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Kerékkötő |
D6 |
Visszhang |
Kód Magyarázat
Írnunk kell egy Arduino kódot, amely képes az ultrahangos érzékelő, az MLX90614, az EM18 RFID olvasó modul adatainak kiolvasására, és egy személy nevét és hőmérsékletét elküldi egy Excel lapra. Ehhez a kódhoz le kell töltenie a Wire és az MLX90614 könyvtárakat. A könyvtárak letöltése után adja hozzá Arduino IDE-jéhez.
Az érintés nélküli testhőmérséklet-ellenőrzés teljes kódja az oldal végén található. Itt ugyanazt a programot apró részletekben magyarázzák el.
Szokás szerint indítsa el a kódot az összes szükséges könyvtár beillesztésével. Itt a Wire könyvtárat használják az I2C protokollal történő kommunikációra, az Adafruit_MLX90614.h könyvtár pedig az MLX90614 érzékelő adatainak kiolvasására.
#include
Ezután meghatározzuk az ultrahangos érzékelő csapjait, amelyekhez csatlakoztattuk a kapcsolatot
const int trigPin = 5; const int echoPin = 6;
Ezt követően határozza meg az RFID modul, az ultrahangos érzékelő és az MLX90614 érzékelő adatainak tárolására szolgáló változókat.
hosszú időtartam; int távolság; String RfidReading; úszó TempReading;
A void setup () funkción belül inicializáljuk a soros monitort a hibakereséshez és az MLX90614 hőmérséklet-érzékelőt. Ezenkívül állítsa be a Trig és Echo csapokat kimeneti és bemeneti csapokként.
void setup () {Soros.kezdés (9600); // Soros kommunikáció inicializálása a soros monitor pinMode-jával (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
A void loop () függvényen belül számítsa ki a személy és az érzékelő közötti távolságot, és ha a távolság kisebb vagy egyenlő 25 cm-rel, akkor hívja meg az olvasó () függvényt a címke beolvasásához.
void loop () {digitalWrite (trigPin, LOW); késleltetés mikroszekundum (2); digitalWrite (trigPin, HIGH); késleltetés mikroszekundum (10); digitalWrite (trigPin, LOW); időtartam = pulseIn (echoPin, HIGH); távolság = időtartam * 0,0340 / 2; if (távolság <= 25) {olvasó (); }
void reader () függvény az RFID tag kártya olvasására szolgál. Miután a kártya az olvasó modul közelébe került, az olvasó modul elolvassa a soros adatokat és eltárolja azokat a bemeneti változóban.
void reader () {if (Soros.elérhető ()) {count = 0; while (Soros.elérhető () && szám <12) {input = Soros.olvas (); szám ++; késleltetés (5);
A következő sorokban hasonlítsa össze a beolvasott kártya adatait az előre definiált címkeazonosítóval. Ha a címke azonosítója megegyezik a beolvasott kártyával, akkor olvassa el a személy hőmérsékletét, és küldje el a személy hőmérsékletét és nevét az Excel lapra.
if (input == tag) flag = 1; else flag = 0; szám ++; RfidReading = "Ashish"; }} if (zászló == 1) {temp_read (); Write_streamer (); }
A temp_read () függvényben olvassa el az MLX90614 érzékelő adatait Celsius-ban, és tárolja a 'TempReading' változóban.
void temp_read () {TempReading = mlx.readObjectTempC ();}
Miután a hardver és a szoftver készen áll, itt az ideje feltölteni a programot Arduino Nano táblájára. Amint a program feltöltődik, az ultrahangos érzékelő megkezdi a távolság kiszámítását. Ha a számított távolság kevesebb, mint 40 cm, leolvassa a hőmérsékletet és a kártyát.
Az érzékelő adatainak tárolása az Arduino Controller Excel lapjára
Most, hogy adatokat küldjünk Excel lapra, a PLX-DAQ-t fogjuk használni. Ez egy Excel Plug-in szoftver, amely segít értékeket írni az Arduino-ból közvetlenül a Laptop vagy PC Excel-lapjába. A link használatával töltse le a fájlt. A letöltés után bontsa ki a fájlt, és kattintson az.exe fájlra a telepítéshez. Létrehoz egy PLS-DAQ nevű mappát az asztalon.
Most nyissa meg a 'PLX-DAQ táblázatkezelő' fájlt az asztali mappából. Ha a makrók le vannak tiltva az Excel programban, akkor az alábbi képen látható biztonsági blokkot látja:
Kattintson a Beállítások-> Tartalom engedélyezése -> Befejezés -> OK gombra a makrók engedélyezéséhez. Ezután a következő képernyőt kapja:
Most válassza ki az adatátviteli sebességet „9600” értékként, és azt a portot, amelyhez Arduino csatlakozik, majd kattintson a Csatlakozás gombra az adatfolyam indításához. Értékeinek el kell kezdenie naplózni, ahogy az az alábbi képen látható.
Így készíthet kontaktus nélküli hőmérséklet-ellenőrző eszközt és tárolhatja az adatokat az Excel lapban.
Működő videó és teljes kód az oldal végén található.