- Потрібні компоненти
- Модуль зчитування RFID EM18
- MLX90614 Інфрачервоний термометр
- Кругова діаграма
- Пояснення коду
- Зберігання даних датчика в аркуші Excel від контролера Arduino
З моменту спалаху Covid-19 інфрачервоні термометри використовуються як засіб перевірки для сканування людей в аеропортах, залізничних станціях та інших переповнених закладах. Ці скани використовуються для ідентифікації потенційних пацієнтів Covid-19. Уряд зобов’язав сканувати всіх перед входом в офіс, школу чи будь-яке інше людне місце.
Отже, у цьому підручнику ми збираємося створити безконтактну систему моніторингу температури на основі RFID, використовуючи безконтактний датчик температури з Arduino. Коли співробітники сканують карту RFID, вона вимірює температуру тіла працівників за допомогою безконтактного інфрачервоного термометра та реєструє ім’я та температуру цього працівника безпосередньо на аркуші Excel. Для побудови цього проекту ми будемо використовувати Arduino Nano, MLX90614, зчитувач RF18 EM18 та ультразвуковий датчик. Ультразвуковий датчик використовується для обчислення відстані між термометром і людиною. Термометр вимірюватиме температуру лише тоді, коли відстань менше 25 см. Це щось на зразок системи відвідування на основі RFID, яка також реєструє температуру тіла кожної людини.
Потрібні компоненти
- Arduino Nano
- Модуль RF-EM-18
- MLX90614 Безконтактний датчик температури
- Ультразвуковий датчик
- Макет
- Провід перемички
Модуль зчитування RFID EM18
Одним із широко використовуваних зчитувачів RFID для зчитування міток 125 кГц є зчитувач RF-EM-18. Цей недорогий модуль зчитування RFID відрізняється низьким енергоспоживанням, низьким форм-фактором і простим у користуванні. Модуль зчитування EM-18 може забезпечувати вихід через два комунікаційні інтерфейси, тобто RS232 і WEIGAND26.
EM18 RFID-зчитувач має трансивер, який передає радіосигнал. Коли RFID-мітка потрапляє в діапазон сигналу передавача, цей сигнал потрапляє на транспондер, що знаходиться всередині картки. Мітка забирає живлення від генеруваного модулем зчитувача поля електромагніту. Потім транспондер перетворює радіосигнал у придатну для використання форму живлення. Отримавши живлення, транспондер передає всю інформацію, таку як конкретний ідентифікатор, у вигляді радіочастотного сигналу до модуля RFID. Потім ці дані надсилаються на мікроконтролер за допомогою зв'язку UART.
Щоб дізнатись більше про RFID та теги, перегляньте наші попередні проекти на основі RFID.
MLX90614 Інфрачервоний термометр
Перш ніж продовжити підручник, важливо знати, як працює датчик MLX90614. На ринку доступно багато датчиків температури, і ми широко використовуємо датчик DHT11 і LM35 для багатьох застосувань, де необхідно вимірювати вологість або температуру атмосфери.
Раніше ми використовували цей датчик в ІЧ термопістолеті, який може відчувати температуру певного предмета (не навколишнього середовища), не вступаючи безпосередньо в контакт з об’єктом. Тут ми знову використовуємо той самий датчик для обчислення температури об’єкта. MLX90614 - це один із таких датчиків, який використовує ІЧ-енергію для виявлення температури об'єкта. Щоб дізнатись більше про схему інфрачервоного та ІЧ-датчика, перейдіть за посиланням.
Датчик MLX90614 виготовляється інтегрованою системою Melexis Microelectronics, у нього вбудовано два пристрої, один - це інфрачервоний термопілометр (блок вимірювання), а інший - пристрій DSP для обробки сигналів (обчислювальний блок). Він працює на основі закону Стефана-Больцмана, який говорить, що всі об'єкти випромінюють ІЧ-енергію, і інтенсивність цієї енергії буде прямо пропорційна температурі цього об'єкта. Блок зондування в датчику вимірює, скільки ІЧ енергії випромінює цільовий об'єкт, і обчислювальний блок перетворює його у значення температури за допомогою 17-бітового вбудованого АЦП і виводить дані через зв'язок I2C протокол. Датчик вимірює як температуру об'єкта, так і температуру навколишнього середовища для калібрування значення температури об'єкта. Особливості датчика MLX90614 наведені нижче, для більш детальної інформації зверніться до таблиці даних MLX90614.
Кругова діаграма
Принципова схема для безконтактного датчика температури на основі RFID з використанням Arduino наведена нижче:
Як показано на принциповій схемі, підключення дуже прості, оскільки ми використовували їх як модулі, ми можемо безпосередньо побудувати їх на макетній панелі. Світлодіод, підключений до виводу BUZ модуля зчитувача EM18, перетворюється високо, коли хтось сканує тег. Модуль RFID послідовно передає дані контролеру; отже, штифт передавача модуля RFID підключений до приймача Arduino. Далі з'єднання класифікуються в таблиці нижче:
Arduino Nano |
EM18 RFID-модуль |
5 В |
Vcc |
GND |
GND |
5 В |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5 В |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Ультразвуковий датчик (HCSR-04) |
5 В |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Відлуння |
Пояснення коду
Ми повинні написати код Arduino, який може зчитувати дані з ультразвукового датчика, MLX90614, модуль зчитування RFID EM18, і надсилати ім’я та температуру людини в аркуш Excel. Для цього коду потрібно завантажити бібліотеки Wire і MLX90614. Завантаживши бібліотеки, додайте їх до своєї ID середовища Arduino.
Повний код цього безконтактного моніторингу температури тіла наведено в кінці сторінки. Тут та сама програма буде пояснена невеликими фрагментами.
Як зазвичай, почніть код, включаючи всі необхідні бібліотеки. Тут бібліотека Wire використовується для зв'язку за допомогою протоколу I2C, а бібліотека Adafruit_MLX90614.h використовується для зчитування даних датчика MLX90614.
#включати
Потім ми визначаємо штифти ультразвукового датчика, до якого ми підключили
const int trigPin = 5; const int echoPin = 6;
Після цього визначте змінні для зберігання даних RFID-модуля, ультразвукового датчика та датчика MLX90614.
тривала тривалість; int відстань; Рядок 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 см, то зателефонуйте функції зчитувача () для сканування мітки.
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. Після наближення карти до модуля зчитування модуль зчитування зчитує послідовні дані та зберігає їх у вхідній змінній.
недійсний зчитувач () {if (Серійний.доступний ()) {count = 0; while (Serial.available () && count <12) {input = Serial.read (); рахувати ++; затримка (5);
У наступних рядках порівняйте дані відсканованої картки із заздалегідь визначеним ідентифікатором тегу. Якщо ідентифікатор тегу відповідає відсканованій картці, прочитайте температуру людини та надішліть температуру та ім’я людини на лист Excel.
якщо (input == тег) прапор = 1; інакше прапор = 0; рахувати ++; RfidReading = "Ашиш"; }} if (прапор == 1) {temp_read (); Write_streamer (); }
Усередині функції temp_read () прочитайте дані датчика MLX90614 за Цельсієм і збережіть їх у змінній 'TempReading' .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Після того, як обладнання та програмне забезпечення готові, настав час завантажити програму на вашу плату Arduino Nano. Як тільки ваша програма завантажується, ультразвуковий датчик починає обчислювати відстань. Коли обчислена відстань менше 40 см, вона зчитує температуру та карту.
Зберігання даних датчика в аркуші Excel від контролера Arduino
Тепер для надсилання даних на аркуш Excel ми будемо використовувати PLX-DAQ. Це плагінове програмне забезпечення Excel, яке допомагає писати значення з Arduino безпосередньо на аркуші Excel на ноутбуці або ПК. Завантажте файл за посиланням. Після завантаження витягніть файл і натисніть.exe, щоб встановити його. Він створить папку PLS-DAQ на робочому столі.
Тепер відкрийте файл «Таблиця PLX-DAQ» із папки робочого столу. Якщо у вашому Excel макроси вимкнені, ви побачите блок безпеки, як показано на малюнку нижче:
Клацніть на Параметри-> Увімкнути вміст -> Готово -> Добре, щоб увімкнути макроси. Після цього ви отримаєте наступний екран:
Тепер виберіть швидкість передачі даних як “9600” і порт, до якого підключений ваш Arduino, а потім натисніть кнопку Підключитися, щоб розпочати потокову передачу даних. Ваші значення повинні починати реєструватися, як показано на малюнку нижче.
Ось як ви можете створити безконтактний пристрій контролю температури та зберігати дані в аркуші Excel.
У кінці сторінки наведено робоче відео та повний код.