- Tarvittavat komponentit
- EM18 RFID-lukijamoduuli
- MLX90614-infrapunalämpömittari
- Piirikaavio
- Koodin selitys
- Anturitietojen tallentaminen Arduino Controller -sovelluksen Excel-taulukkoon
Covid-19: n puhkeamisen jälkeen infrapunalämpömittareita käytetään seulontatyökaluna ihmisten skannaamiseen lentokentillä, rautatieasemilla ja muissa tungosta paikoissa. Näitä skannauksia käytetään potentiaalisten Covid-19-potilaiden tunnistamiseen. Hallitus teki pakolliseksi skannata kaikki ennen toimistoon, kouluun tai mihinkään muuhun paikkaan.
Joten tässä opetusohjelmassa aiomme rakentaa RFID-pohjaisen kontaktittoman lämpötilanvalvontajärjestelmän käyttämällä kontaktittomia lämpötila-antureita Arduinon kanssa. Kun työntekijät skannaavat RFID-kortin, se mittaa työntekijöiden ruumiinlämpötilan kosketuksettomalla infrapunalämpömittarilla ja kirjaa kyseisen työntekijän nimen ja lämpötilan suoraan Excel-arkkiin. Käytämme tämän projektin rakentamiseen Arduino Nanoa, MLX90614: ää, EM18 RFID-lukijaa ja ultraäänianturia. Ultraäänianturia käytetään lämpömittarin ja henkilön välisen etäisyyden laskemiseen. Lämpömittari mittaa lämpötilaa vain, kun etäisyys on alle 25 CM. Se on jotain RFID-pohjaista läsnäolojärjestelmää, joka tallentaa myös jokaisen ihmisen kehon lämpötilan.
Tarvittavat komponentit
- Arduino Nano
- EM-18 RFID-moduuli
- MLX90614 Kosketukseton lämpötila-anturi
- Ultraäänianturi
- Leipälauta
- Neulalangat
EM18 RFID-lukijamoduuli
Yksi laajasti käytetyistä RFID-lukijoista 125 kHz: n tunnisteiden lukemiseen on EM-18 RFID-lukija. Tässä edullisessa RFID-lukijamoduulissa on pieni virrankulutus, pieni muodonkerroin ja helppo käyttää. EM-18-lukijamoduuli voi tuottaa ulostulon kahden tiedonsiirtoliitännän eli RS232: n ja WEIGAND26: n kautta.
EM18 RFID Reader -laitteessa on lähetin-vastaanotin, joka lähettää radiosignaalia. Kun RFID-tunniste saapuu lähettimen signaalialueelle, tämä signaali osuu kortin sisällä olevaan transponderiin. Tunniste vetää virtaa lukumoduulin luomasta sähkömagneettikentästä. Transponderi muuntaa radiosignaalin käyttökelpoiseksi tehomuodoksi. Saatuaan virtaa transponderi siirtää kaikki tiedot, kuten tietyn tunnuksen, RF-signaalin muodossa RFID-moduuliin. Sitten nämä tiedot lähetettiin mikro-ohjaimelle UART-tiedonsiirron avulla.
Jos haluat lisätietoja RFID: stä ja tunnisteista, tarkista edelliset RFID-pohjaiset projektimme.
MLX90614-infrapunalämpömittari
Ennen kuin jatkat opetusohjelman kanssa, on tärkeää tietää, miten MLX90614-anturi toimii. Markkinoilla on monia lämpötila-antureita, ja olemme käyttäneet DHT11-anturia ja LM35: ää laajasti moniin sovelluksiin, joissa ilmankosteus tai lämpötila on mitattava.
Aikaisemmin käytimme tätä anturia IR-lämpöpistoolissa, joka voi havaita tietyn kohteen (ei ympäristön) lämpötilan joutumatta suoraan kosketukseen kohteen kanssa. Tässä käytetään jälleen samaa anturia kohteen lämpötilan laskemiseen. MLX90614 on yksi tällainen anturi, joka käyttää IR-energiaa kohteen lämpötilan havaitsemiseen. Saat lisätietoja infrapuna- ja IR-anturipiiristä seuraamalla linkkiä.
MLX90614- anturin valmistaa integroitu Melexis Microelectronics -järjestelmä, siihen on upotettu kaksi laitetta, yksi on infrapunalämpöilmaisinilmaisin (anturiyksikkö) ja toinen signaalinhoito-DSP-laite (laskennallinen yksikkö). Se toimii Stefan-Boltzmannin lain mukaan, jonka mukaan kaikki esineet lähettävät IR-energiaa ja tämän energian intensiteetti on suoraan verrannollinen kyseisen esineen lämpötilaan. Anturin anturiyksikkö mittaa kuinka paljon IR-energiaa kohdealue lähettää, ja laskentayksikkö muuntaa sen lämpötila-arvoksi käyttämällä 17-bittistä sisäänrakennettua ADC: tä ja antaa datan I2C-tietoliikenteen kautta protokolla. Anturi mittaa sekä kohteen lämpötilan että ympäristön lämpötilan kalibroidakseen kohteen lämpötila-arvon. MLX90614-anturin ominaisuudet on annettu alla, lisätietoja MLX90614-tietolomakkeesta.
Piirikaavio
Arduinoa käyttävän RFID-pohjaisen kosketuksettoman lämpötila-anturin piirikaavio on annettu alla:
Kuten piirikaaviosta käy ilmi, liitännät ovat hyvin yksinkertaisia, koska olemme käyttäneet niitä moduuleina, voimme rakentaa ne suoraan leipälaudalle. EM18 Reader -moduulin BUZ-nastaan kytketty LED palaa korkealla, kun joku skannaa tunnistetta. RFID-moduuli lähettää tietoja ohjaimelle sarjaan; täten RFID-moduulin lähetintappi on kytketty Arduinon vastaanottotappiin. Liitännät on luokiteltu tarkemmin alla olevaan taulukkoon:
Arduino Nano |
EM18 RFID-moduuli |
5 V |
Vcc |
GND |
GND |
5 V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5 V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ultraäänianturi (HCSR-04) |
5 V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Kaiku |
Koodin selitys
Meidän on kirjoitettava Arduino-koodi, joka voi lukea tietoja ultraäänianturista, MLX90614, EM18 RFID-lukijamoduulista ja lähettää henkilön nimen ja lämpötilan Excel-taulukolle. Tätä koodia varten sinun on ladattava Wire- ja MLX90614-kirjastot. Kun olet ladannut kirjastot, lisää ne Arduino IDE -laitteeseesi.
Tämän kontaktittoman kehon lämpötilan seurannan täydellinen koodi on annettu sivun lopussa. Tässä sama ohjelma selitetään pienissä katkelmissa.
Käynnistä koodi tavalliseen tapaan sisällyttämällä kaikki vaaditut kirjastot. Tässä Wire-kirjastoa käytetään viestintään I2C-protokollan avulla ja Adafruit_MLX90614.h- kirjastoa käytetään MLX90614-anturitietojen lukemiseen.
#sisältää
Määritämme sitten ultraäänianturin nastat, joihin olemme muodostaneet yhteyden
const int trigPin = 5; const int echoPin = 6;
Määritä sen jälkeen muuttujat RFID-moduulin, ultraäänianturin ja MLX90614-anturitietojen tallentamiseksi.
pitkä kesto; int etäisyys; Merkkijono RfidLukeminen; kellua TempReading;
Sisällä void setup () funktio, olemme alustaa sarja monitorin virheenkorjaus ja MLX90614 lämpötila-anturi. Aseta myös Trig- ja Echo-nastat lähtö- ja tulonastoiksi.
void setup () {Sarja.alku (9600); // Alusta sarjayhteys Serial Monitorin pinMode (trigPin, OUTPUT) kanssa; pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Sisällä void silmukka () funktio, laskea etäisyys henkilö ja anturin ja jos etäisyys on pienempi kuin tai yhtä suuri kuin 25 cm, soita lukija () funktio skannata tunnisteen.
void loop () {digitalWrite (trigPin, LOW); viive mikrosekuntia (2); digitalWrite (trigPin, HIGH); viive mikrosekuntia (10); digitalWrite (trigPin, LOW); kesto = pulssi (echoPin, HIGH); etäisyys = kesto * 0,0340 / 2; if (etäisyys <= 25) {lukija (); }
void reader () -toimintoa käytetään RFID-tag-kortin lukemiseen. Kun kortti on viety lähelle lukijamoduulia, lukijamoduuli lukee sarjatiedot ja tallentaa ne tulomuuttujaan.
void Reader () {if (Sarja.available ()) {count = 0; while (Sarja.käytettävissä () && määrä <12) {input = Sarja.lue (); laskea ++; viive (5);
Vertaa seuraavilla riveillä skannattuja korttitietoja ennalta määritettyyn tunnistetunnukseen. Jos tunnistetunnus vastaa skannattua korttia, lue sitten henkilön lämpötila ja lähetä henkilön lämpötila ja nimi Excel-taulukolle.
jos (input == tag) lippu = 1; muu lippu = 0; laskea ++; RfidReading = "Ashish"; }} if (lippu == 1) {temp_read (); Write_streamer (); }
Toiminnon temp_read () sisällä lue MLX90614-anturitiedot celsiusasteina ja tallenna ne TempReading- muuttujaan.
void temp_read () {TempReading = mlx.readObjectTempC ();}
Kun laitteisto ja ohjelmisto ovat valmiita, on aika ladata ohjelma Arduino Nano Board -laitteellesi. Heti kun ohjelmasi ladataan, ultraäänianturi alkaa laskea etäisyyttä. Kun laskettu etäisyys on alle 40 cm, se lukee lämpötilan ja kortin.
Anturitietojen tallentaminen Arduino Controller -sovelluksen Excel-taulukkoon
Lähetämme nyt tietoja Excel-arkkiin PLX-DAQ: ta. Se on Excel Plug-in -ohjelmisto, jonka avulla voit kirjoittaa arvoja Arduinosta suoraan kannettavan tietokoneen tai Excelin Excel-arkkiin. Käytä linkkiä tiedoston lataamiseen. Lataamisen jälkeen pura tiedosto ja asenna se napsauttamalla.exe-tiedostoa. Se luo työpöydällesi kansion nimeltä PLS-DAQ.
Avaa nyt PLX-DAQ-laskentataulukko-tiedosto työpöydän kansiosta. Jos makrot on poistettu käytöstä Excelissä, näet suojauslohkon kuvan alla esitetyllä tavalla:
Napsauta Asetukset-> Ota sisältö käyttöön -> Valmis -> OK, jotta makrot otetaan käyttöön. Tämän jälkeen saat seuraavan näytön:
Valitse nyt siirtonopeudeksi ”9600” ja portti, johon Arduino on kytketty, ja aloita sitten tiedonsiirto napsauttamalla Yhdistä. Arvojen tulisi alkaa kirjautua kuten alla olevassa kuvassa.
Näin voit rakentaa kontaktittoman lämpötilan seulontalaitteen ja tallentaa tiedot Excel-taulukkoon.
Toimiva video ja täydellinen koodi annetaan sivun lopussa.