- Необходими компоненти
- EM18 RFID модул за четене
- MLX90614 Инфрачервен термометър
- Електрическа схема
- Обяснение на кода
- Съхраняване на данни от сензора в Excel лист от Arduino Controller
От избухването на Covid-19 инфрачервените термометри се използват като инструмент за проверка за сканиране на хората на летища, железопътни гари и други претъпкани заведения. Тези сканирания се използват за идентифициране на потенциални пациенти на Covid-19. Правителството задължително да сканира всички, преди да влезе в офиса, училището или на друго претъпкано място.
Така че в този урок ще изградим базирана на RFID система за безконтактно наблюдение на температурата, използвайки безконтактен температурен сензор с Arduino. Когато служителите сканират RFID картата, тя ще измерва телесната температура на служителите с безконтактен инфрачервен термометър и ще регистрира името и температурата на този служител директно в Excel листа. За изграждането на този проект ще използваме Arduino Nano, MLX90614, EM18 RFID Reader и Ultrasonic Sensor. Ултразвуковият сензор се използва за изчисляване на разстоянието между термометъра и човека. Термометърът ще измерва температурата само когато разстоянието е по-малко от 25 CM. Това е нещо като базирана на RFID система за присъствие, която също записва телесната температура на всеки човек.
Необходими компоненти
- Arduino Nano
- EM-18 RFID модул
- MLX90614 Безконтактен температурен сензор
- Ултразвуков сензор
- Макет
- Джъмперни проводници
EM18 RFID модул за четене
Един от широко използваните RFID четци за четене на 125 kHz тагове е EM-18 RFID четецът. Този евтин RFID модул за четене се отличава с ниска консумация на енергия, нисък форм-фактор и лесен за използване. Модулът за четене EM-18 може да осигури изход чрез два комуникационни интерфейса, т.е. RS232 и WEIGAND26.
EM18 RFID Reader разполага с приемо-предавател, който предава радиосигнал. Когато RFID етикетът попадне в обхвата на сигнала на предавателя, този сигнал попада в транспондера, който е вътре в картата. Етикетът черпи енергия от генерираното от модула на четеца електромагнитно поле. След това транспондерът преобразува радиосигнала в използваема форма на захранване. При получаване на захранване транспондерът прехвърля цялата информация, като например специфичен ID, под формата на RF сигнал към RFID модула. След това тези данни се изпращат до микроконтролера чрез UART комуникация.
За да научите повече за RFID и таговете, проверете нашите предишни проекти, базирани на RFID.
MLX90614 Инфрачервен термометър
Преди да продължим с урока, е важно да знаем как работи сензорът MLX90614. На пазара се предлагат много температурни сензори и ние широко използваме сензора DHT11 и LM35 за много приложения, при които трябва да се измерва атмосферната влажност или температура.
По-рано използвахме този сензор в IR термопистолет, който може да усети температурата на определен обект (а не околната среда), без да влиза директно в контакт с обекта. Тук отново използваме същия сензор за изчисляване на температурата на даден обект. MLX90614 е един такъв сензор, който използва IR енергия за откриване на температурата на даден обект. За да научите повече за инфрачервената и инфрачервената схема на сензора, следвайте връзката.
Сензорът MLX90614 е произведен от интегрираната система Melexis Microelectronics Integrated, той има вградени две устройства, едното е инфрачервеният термопилосен детектор (сензорен блок), а другото е DSP устройство за кондициониране на сигнала (изчислителна единица) Той работи въз основа на закона на Стефан-Болцман, който гласи, че всички обекти излъчват IR енергия и интензивността на тази енергия ще бъде право пропорционална на температурата на този обект. Сензорният блок в сензора измерва колко IR енергия се излъчва от целевия обект и изчислителната единица го преобразува в температурна стойност, използвайки 17-битов вграден ADC и извежда данните чрез I2C комуникацията протокол. Сензорът измерва както температурата на обекта, така и околната температура, за да калибрира стойността на температурата на обекта. Характеристиките на сензора MLX90614 са дадени по-долу, за повече подробности вижте таблицата с данни MLX90614.
Електрическа схема
Електрическа схема за безконтактен температурен сензор, базиран на RFID, използващ Arduino
Както е показано на схемата, връзките са много прости, тъй като сме ги използвали като модули, можем директно да ги изградим на макет. Светодиодът, свързан към щифта BUZ на модула за четене EM18, се превръща високо, когато някой сканира маркера. RFID модулът изпраща данни към контролера последователно; следователно изводът на предавателя на RFID модула е свързан с приемника на Arduino. Връзките са допълнително класифицирани в таблицата по-долу:
Arduino Nano |
EM18 RFID модул |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ултразвуков сензор (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Ехо |
Обяснение на кода
Трябва да напишем код на Arduino, който може да чете данни от ултразвуковия сензор, MLX90614, EM18 RFID модул за четене, и да изпраща името и температурата на човек в лист на Excel. За този код трябва да изтеглите библиотеките Wire и MLX90614. След като изтеглите библиотеките, ги добавете към вашия ID на Arduino.
Пълният код за това безконтактно наблюдение на телесната температура е даден в края на страницата. Тук същата програма ще бъде обяснена в малки фрагменти.
Както обикновено, стартирайте кода, като включите всички необходими библиотеки. Тук библиотеката Wire се използва за комуникация, използвайки протокол I2C, а библиотеката Adafruit_MLX90614.h се използва за четене на данните на сензора MLX90614.
#include
След това определяме щифтовете на ултразвуковия сензор, към който сме осъществили връзка
const int trigPin = 5; const int echoPin = 6;
След това дефинирайте променливите за съхраняване на данните от RFID модула, ултразвуковия сензор и MLX90614 сензор.
голяма продължителност; int разстояние; String RfidReading; float TempReading;
Във функцията void setup () ние инициализираме сериен монитор за отстраняване на грешки и температурния сензор MLX90614. Също така задайте щифтовете Trig и Echo като изходни и входни щифтове.
void setup () {Serial.begin (9600); // Инициализиране на серийната комуникация със серийния монитор pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
Вътре във функцията void loop () изчислете разстоянието между човека и сензора и ако разстоянието е по-малко или равно на 25 cm, след това извикайте функцията четец (), за да сканирате маркера.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); продължителност = pulseIn (echoPin, HIGH); разстояние = продължителност * 0,0340 / 2; if (разстояние <= 25) {четец (); }
Функцията void reader () се използва за четене на RFID таг картата. След като картата се доближи до модула за четене, модулът за четене чете серийните данни и ги съхранява във входната променлива.
void reader () {if (Serial.available ()) {count = 0; докато (Serial.available () && count <12) {input = Serial.read (); преброяване ++; забавяне (5);
В следващите редове сравнете данните на сканираната карта с предварително зададения идентификатор на маркера. Ако идентификационният номер на маркера съвпада със сканираната карта, прочетете температурата на човека и изпратете температурата и името на човека на листа на Excel.
ако (вход == таг) флаг = 1; иначе флаг = 0; преброяване ++; RfidReading = "Ashish"; }} if (флаг == 1) {temp_read (); Write_streamer (); }
Вътре във функцията temp_read () прочетете данните на сензора MLX90614 в Целзий и ги запазете в променливата „TempReading“ .
void temp_read () {TempReading = mlx.readObjectTempC ();}
След като хардуерът и софтуерът са готови, е време да качите програмата във вашата Arduino Nano Board. Веднага след като програмата ви бъде качена, ултразвуковият сензор започва да изчислява разстоянието. Когато изчисленото разстояние е по-малко от 40 см, то отчита температурата и картата.
Съхраняване на данни от сензора в Excel лист от Arduino Controller
Сега, за да изпратим данни в лист на Excel, ще използваме PLX-DAQ. Това е софтуер за приставки на Excel, който ви помага да записвате стойности от Arduino директно в лист на Excel на вашия лаптоп или компютър. Използвайте връзката, за да изтеглите файла. След изтегляне извлечете файла и кликнете върху.exe файла, за да го инсталирате. Той ще създаде папка с име PLS-DAQ на вашия работен плот.
Сега отворете файла „PLX-DAQ електронна таблица“ от папката на работния плот. Ако макросите са деактивирани във вашия Excel, ще видите защитен блок, както е показано на изображението по-долу:
Щракнете върху Опции-> Активиране на съдържанието -> Готово -> ОК, за да активирате макросите. След това ще получите следния екран:
Сега изберете скоростта на предаване като „9600“ и порта, към който е свързан вашият Arduino, и след това кликнете върху Свързване, за да стартирате поточното предаване на данни. Вашите стойности трябва да започнат да се регистрират, както е показано на снимката по-долу.
Ето как можете да изградите безконтактно устройство за скрининг на температурата и да съхранявате данните в Excel Sheet.
Работещо видео и пълен код са дадени в края на страницата.