- Kinakailangan ang Mga Bahagi
- EM18 RFID Reader Module
- MLX90614 Infrared Thermometer
- Diagram ng Circuit
- Paliwanag sa Code
- Pag-iimbak ng Data ng Sensor sa Excel Sheet mula sa Arduino Controller
Mula nang sumiklab ang Covid-19, ginagamit ang infrared thermometers bilang isang tool sa pag-scan upang ma-scan ang mga tao sa Mga Paliparan, Railway Stations, at iba pang masikip na mga pamayanan. Ang mga pag-scan na ito ay ginagamit upang makilala ang mga potensyal na pasyente ng Covid-19. Pinilit ng gobyerno na i-scan ang lahat bago pumasok sa opisina, paaralan, o anumang iba pang masikip na lugar.
Kaya sa tutorial na ito, magtatayo kami ng isang batay sa RFID na contactless Temperature Monitoring System na gumagamit ng isang contactless temperatura sensor na may Arduino. Kapag na-scan ng mga empleyado ang RFID card, susukatin nito ang temperatura ng katawan ng mga empleyado gamit ang isang non-contact infrared thermometer at i-log ang Pangalan at Temperatura ng empleyado na iyon nang direkta sa excel sheet. Gagamitin namin ang Arduino Nano, MLX90614, EM18 RFID Reader, at Ultrasonic Sensor upang mabuo ang proyektong ito. Ginagamit ang sensor ng ultrasonic upang makalkula ang distansya sa pagitan ng thermometer at ng tao. Susukat lamang ng thermometer ang temperatura kapag ang distansya ay mas mababa sa 25 CM. Ito ay isang bagay tulad ng isang sistema ng pagdalo batay sa RFID, na nagtatala rin ng temperatura ng katawan ng bawat tao.
Kinakailangan ang Mga Bahagi
- Arduino Nano
- EM-18 RFID Module
- MLX90614 Sensor ng Temperatura na Walang Pakikipag-ugnay
- Ultrasonic Sensor
- Breadboard
- Jumper Wires
EM18 RFID Reader Module
Ang isa sa malawakang ginamit na mga mambabasa ng RFID para sa pagbabasa ng 125 kHz na mga tag ay ang EM-18 RFID Reader. Ang modyul na RFID Reader na may mababang gastos na ito ay nagtatampok ng mababang paggamit ng kuryente, mababang form factor, at madaling gamitin. Ang EM-18 Reader Module ay maaaring magbigay ng output sa pamamagitan ng dalawang mga interface ng komunikasyon ie RS232 at WEIGAND26.
Nagtatampok ang EM18 RFID Reader ng isang transceiver na nagpapadala ng isang signal sa radyo. Kapag ang tag ng RFID ay dumating sa saklaw ng signal ng transmiter, ang signal na ito ay tumama sa transponder na nasa loob ng card. Ang tag ay kumukuha ng lakas mula sa nabuo na module na electromagnet na patlang na nabuo ng module. Pagkatapos ay binago ng transponder ang signal ng radyo sa magagamit na anyo ng lakas. Sa pagkuha ng lakas, inililipat ng transponder ang lahat ng impormasyon, tulad ng isang tukoy na ID, sa anyo ng isang senyas ng RF sa RFID Module. Pagkatapos ang data na ito ay ipinadala sa microcontroller gamit ang komunikasyon ng UART.
Upang matuto nang higit pa tungkol sa RFID at mga tag, suriin ang aming nakaraang mga proyekto batay sa RFID.
MLX90614 Infrared Thermometer
Bago kami magpatuloy sa tutorial, mahalagang malaman kung paano gumagana ang sensor ng MLX90614. Mayroong maraming mga sensor ng temperatura na magagamit sa merkado at ginagamit namin ang DHT11 Sensor at LM35 nang malawakan para sa maraming mga application kung saan dapat sukatin ang kahalumigmigan o temperatura.
Ginamit namin dati ang sensor na ito sa IR thermal gun na maaaring maunawaan ang temperatura ng isang partikular na bagay (hindi nakapaligid) nang hindi direktang makipag-ugnay sa object. Narito muli kaming gumagamit ng parehong sensor upang makalkula ang temperatura ng isang bagay. Ang MLX90614 ay tulad ng sensor na gumagamit ng lakas ng IR upang makita ang temperatura ng isang bagay. Upang matuto nang higit pa tungkol sa Infrared at IR sensor circuit, sundin ang link.
Ang sensor ng MLX90614 ay gawa ng Melexis Microelectronics Integrated system, mayroon itong dalawang aparato na naka-embed dito, ang isa ay ang infrared thermopile detector (sensing unit) at ang iba pa ay isang signal conditioning DSP aparato (computational unit). Gumagawa ito batay sa batas ng Stefan-Boltzmann na nagsasaad na ang lahat ng mga bagay ay nagpapalabas ng enerhiya ng IR at ang tindi ng enerhiya na ito ay direktang proporsyonal sa temperatura ng bagay na iyon. Sinusukat ng sensing unit sa sensor kung magkano ang enerhiya ng IR na inilalabas ng isang naka-target na bagay at binago ito ng unit ng computational sa halagang temperatura gamit ang isang 17-bit in-built ADC at inilalabas ang data sa pamamagitan ng komunikasyon ng I2C protokol Sinusukat ng sensor ang parehong temperatura ng bagay at temperatura sa paligid upang i-calibrate ang halaga ng temperatura ng bagay. Ang mga tampok ng sensor ng MLX90614 ay ibinibigay sa ibaba, para sa higit pang mga detalye sumangguni sa MLX90614 Datasheet.
Diagram ng Circuit
Ang Circuit Diagram para sa RFID based sensor na hindi nakikipag-ugnay sa temperatura gamit ang Arduino ay ibinibigay sa ibaba:
Tulad ng ipinakita sa circuit diagram, ang mga koneksyon ay napaka-simple dahil ginamit namin ang mga ito bilang mga module, direkta naming maitatayo ang mga ito sa isang breadboard. Ang LED na konektado sa BUZ pin ng module na EM18 Reader ay nagiging mataas kapag may nag-scan sa tag. Ang module ng RFID ay nagpapadala ng data sa controller sa serial; samakatuwid ang transmitter pin ng RFID module ay konektado sa Receiver pin ng Arduino. Ang mga koneksyon ay karagdagang naiuri sa talahanayan sa ibaba:
Arduino Nano |
EM18 RFID Module |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ultrasonic Sensor (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Echo |
Paliwanag sa Code
Kailangan naming magsulat ng isang Arduino code na maaaring basahin ang data mula sa ultrasonic sensor, MLX90614, EM18 RFID Reader Module, at ipadala ang Pangalan at Temperatura ng isang tao sa isang Excel Sheet. Para sa code na ito, kailangan mong i-download ang mga aklatan ng Wire at MLX90614. Pagkatapos i-download ang mga aklatan, idagdag ang mga ito sa iyong Arduino IDE.
Ang kumpletong code para sa pagsubaybay sa temperatura ng katawan na walang contact na ito ay ibinibigay sa dulo ng pahina. Dito ipapaliwanag ang parehong programa sa maliliit na mga snippet.
Tulad ng dati, simulan ang code sa pamamagitan ng pagsasama ng lahat ng mga kinakailangang aklatan. Dito ginagamit ang library ng Wire upang makipag-usap gamit ang I2C protocol at ang Adafruit_MLX90614.h library ay ginagamit upang basahin ang data ng sensor ng MLX90614.
# isama
Tinutukoy namin pagkatapos ang mga pin ng ultrasonic sensor kung saan namin nagawa ang koneksyon
const int trigPin = 5; Const int echoPin = 6;
Pagkatapos nito, tukuyin ang mga variable upang maiimbak ang RFID module, ultrasonic sensor, at MLX90614 sensor data.
mahabang tagal; int distansya; String RfidReading; float TempReading;
Sa loob ng function na void setup () , pinasimulan namin ang serial monitor para sa pag-debug at ang sensor ng temperatura ng MLX90614. Gayundin, itakda ang Trig at Echo pin bilang mga output at input pin.
void setup () {Serial.begin (9600); // Initialise Serial Communication sa Serial Monitor pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Sa loob ng pag- andar ng void loop () , kalkulahin ang distansya sa pagitan ng tao at ng sensor at kung ang distansya ay mas mababa sa o katumbas ng 25cm, pagkatapos ay tawagan ang function ng mambabasa () upang i-scan ang tag.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, MATAAS); delayMicroseconds (10); digitalWrite (trigPin, LOW); tagal = pulseIn (echoPin, HIGH); distansya = tagal * 0.0340 / 2; kung (distansya <= 25) {mambabasa (); }
void reader () function ay ginagamit upang basahin ang RFID tag card. Kapag ang card ay dinala malapit sa module ng mambabasa, binabasa ng module ng mambabasa ang serial data at iimbak ito sa variable ng pag-input.
void reader () {if (Serial.available ()) {count = 0; habang (Serial.available () && count <12) {input = Serial.read (); bilangin ++; antala (5);
Sa mga susunod na linya, ihambing ang na-scan na data ng card sa paunang natukoy na tag ID. Kung ang tag ID ay tumutugma sa na-scan na card, pagkatapos ay basahin ang temperatura ng tao at ipadala ang temperatura at pangalan ng tao sa excel sheet.
kung (input == tag) flag = 1; ibang flag = 0; bilangin ++; RfidReading = "Ashish"; }} kung (flag == 1) {temp_read (); Write_streamer (); }
Sa loob ng pag- andar ng temp_read () , basahin ang data ng sensor ng MLX90614 sa Celsius at iimbak ito sa variable na 'TempReading' .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Kapag handa na ang hardware at ang software, oras na upang i-upload ang programa sa iyong Arduino Nano Board. Sa lalong madaling ma-upload ang iyong programa, magsisimulang kalkulahin ng ultrasonic sensor ang distansya. Kapag ang kinakalkula na distansya ay mas mababa sa 40 cm, binabasa nito ang temperatura at ang kard.
Pag-iimbak ng Data ng Sensor sa Excel Sheet mula sa Arduino Controller
Ngayon upang magpadala ng data sa sheet ng Excel, gagamitin namin ang PLX-DAQ. Ito ay isang Excel Plug-in na software na tumutulong sa iyo na sumulat ng mga halaga mula sa Arduino upang direkta sa isang sheet ng Excel sa iyong Laptop o PC. Gamitin ang link upang mai-download ang file. Pagkatapos i-download ang kunin ang file at mag-click sa.exe file upang mai-install ito. Lilikha ito ng isang folder na pinangalanang PLS-DAQ sa iyong desktop.
Ngayon buksan ang 'PLX-DAQ spreadsheet' file mula sa desktop folder. Kung ang mga macros ay hindi pinagana sa iyong Excel kaysa sa makikita mo ang isang bloke ng seguridad tulad ng ipinakita sa imahe sa ibaba:
Mag-click sa Mga Pagpipilian-> Paganahin ang nilalaman -> Tapusin -> OK upang Paganahin ang Macros. Pagkatapos nito makukuha mo ang sumusunod na screen:
Piliin ngayon ang rate ng baud bilang "9600" at ang port kung saan nakakonekta ang iyong Arduino at pagkatapos ay mag-click sa Connect upang simulan ang streaming ng data. Ang iyong mga halaga ay dapat magsimula upang mai-log tulad ng ipinakita sa larawan sa ibaba.
Ito ay kung paano ka makakabuo ng isang aparato ng pag-screen ng Walang contact na Temperatura at maiimbak ang data sa Excel Sheet.
Ang isang gumaganang video at kumpletong code ay ibinibigay sa dulo ng pahina.