- Необходимые компоненты
- Модуль считывания RFID EM18
- MLX90614 Инфракрасный термометр
- Принципиальная электрическая схема
- Код Пояснение
- Сохранение данных датчика в таблице Excel из контроллера Arduino
С момента вспышки Covid-19 инфракрасные термометры используются в качестве средства проверки для сканирования людей в аэропортах, на вокзалах и других многолюдных заведениях. Эти сканирования используются для выявления потенциальных пациентов с Covid-19. Правительство ввело обязательное сканирование всех перед входом в офис, школу или любое другое людное место.
Итак, в этом уроке мы собираемся создать систему бесконтактного мониторинга температуры на основе RFID с использованием бесконтактного датчика температуры с Arduino. Когда сотрудники сканируют RFID-карту, она измеряет температуру тела сотрудников с помощью бесконтактного инфракрасного термометра и записывает имя и температуру этого сотрудника непосредственно в таблицу Excel. Мы будем использовать Arduino Nano, MLX90614, RFID-считыватель EM18 и ультразвуковой датчик для создания этого проекта. Ультразвуковой датчик используется для расчета расстояния между термометром и человеком. Термометр будет измерять температуру только на расстоянии менее 25 см. Это что-то вроде системы посещаемости на основе RFID, которая также регистрирует температуру тела каждого человека.
Необходимые компоненты
- Ардуино Нано
- RFID-модуль EM-18
- Бесконтактный датчик температуры MLX90614
- Ультразвуковой датчик
- Макетная плата
- Перемычки
Модуль считывания RFID EM18
Одним из широко используемых считывателей RFID для считывания меток 125 кГц является считыватель RFID EM-18. Этот недорогой модуль считывателя RFID отличается низким энергопотреблением, низким форм-фактором и простотой использования. Модуль считывания EM-18 может обеспечивать вывод через два интерфейса связи, т.е. RS232 и WEIGAND26.
Считыватель RFID EM18 оснащен приемопередатчиком, который передает радиосигнал. Когда RFID-метка попадает в зону действия сигнала передатчика, этот сигнал попадает на транспондер, находящийся внутри карты. Бирка получает питание от электромагнитного поля, создаваемого модулем считывания. Затем транспондер преобразует радиосигнал в полезную форму энергии. При подаче питания транспондер передает всю информацию, такую как конкретный идентификатор, в виде радиочастотного сигнала на модуль RFID. Затем эти данные отправляются в микроконтроллер с использованием связи UART.
Чтобы узнать больше о RFID и тегах, ознакомьтесь с нашими предыдущими проектами на основе RFID.
MLX90614 Инфракрасный термометр
Прежде чем мы продолжим обучение, важно знать, как работает датчик MLX90614. На рынке доступно множество датчиков температуры, и мы широко используем датчик DHT11 и LM35 для многих приложений, где необходимо измерять влажность или температуру воздуха.
Ранее мы использовали этот датчик в инфракрасном тепловом пистолете, который может определять температуру определенного объекта (не окружающей среды) без прямого контакта с объектом. Здесь мы снова используем тот же датчик для расчета температуры объекта. MLX90614 - один из таких датчиков, который использует инфракрасную энергию для определения температуры объекта. Чтобы узнать больше о схеме инфракрасного и инфракрасного датчиков, перейдите по ссылке.
Датчик MLX90614 производится компанией Melexis Microelectronics Integrated system, в него встроено два устройства: одно - инфракрасный датчик термобатареи (чувствительный элемент), а другое - устройство обработки сигнала DSP (вычислительный блок). Он работает на основе закона Стефана-Больцмана, который гласит, что все объекты излучают инфракрасную энергию, и интенсивность этой энергии будет прямо пропорциональна температуре этого объекта. Чувствительный элемент в датчике измеряет, сколько ИК-энергии излучается целевым объектом, а вычислительный блок преобразует его в значение температуры с помощью 17-битного встроенного АЦП и выводит данные через связь I2C. протокол. Датчик измеряет как температуру объекта, так и температуру окружающей среды для калибровки значения температуры объекта. Характеристики датчика MLX90614 приведены ниже, более подробную информацию см. В листе данных MLX90614.
Принципиальная электрическая схема
Принципиальная схема бесконтактного датчика температуры на основе RFID с использованием Arduino приведена ниже:
Как показано на принципиальной схеме, соединения очень просты, поскольку мы использовали их как модули, мы можем построить их прямо на макете. Светодиод, подключенный к выводу BUZ модуля EM18 Reader, загорается, когда кто-то сканирует тег. Модуль RFID отправляет данные в контроллер последовательно; следовательно, вывод передатчика модуля RFID подключен к выводу приемника Arduino. Соединения дополнительно классифицированы в таблице ниже:
Ардуино Нано |
Модуль RFID EM18 |
5В |
Vcc |
GND |
GND |
5В |
SEL |
Rx |
Tx |
Ардуино Нано |
MLX90614 |
5В |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
ПДД |
Ардуино Нано |
Ультразвуковой датчик (HCSR-04) |
5В |
Vcc |
GND |
GND |
D5 |
Триггер |
D6 |
Эхо |
Код Пояснение
Мы должны написать код Arduino, который может считывать данные с ультразвукового датчика, MLX90614, модуля считывания RFID EM18 и отправлять имя и температуру человека в таблицу Excel. Для этого кода вам необходимо загрузить библиотеки Wire и MLX90614. После загрузки библиотек добавьте их в свою Arduino IDE.
Полный код этого бесконтактного контроля температуры тела приведен в конце страницы. Здесь та же программа будет объяснена небольшими фрагментами.
Как обычно, начните код с включения всех необходимых библиотек. Здесь библиотека Wire используется для связи с использованием протокола I2C, а библиотека Adafruit_MLX90614.h используется для чтения данных датчика MLX90614.
#включают
Затем мы определяем контакты ультразвукового датчика, к которому мы подключили
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, ВХОД); mlx.begin (); Initialize_streamer (); }
Внутри функции void loop () вычислите расстояние между человеком и датчиком, и если расстояние меньше или равно 25 см, вызовите функцию reader () для сканирования тега.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); расстояние = продолжительность * 0,0340 / 2; если (расстояние <= 25) {читатель (); }
Функция void reader () используется для чтения карты RFID-метки. Как только карта подносится к модулю считывателя, модуль считывания считывает последовательные данные и сохраняет их во входной переменной.
void reader () {если (Serial.available ()) {count = 0; в то время как (Serial.available () && count <12) {input = Serial.read (); count ++; задержка (5);
В следующих строках сравните отсканированные данные карты с заранее заданным идентификатором тега. Если идентификатор тега совпадает с отсканированной картой, считайте температуру человека и отправьте температуру и имя человека в таблицу Excel.
если (input == tag) flag = 1; else flag = 0; count ++; RfidReading = "Ашиш"; }} если (flag == 1) {temp_read (); Write_streamer (); }
Внутри функции temp_read () считайте данные датчика MLX90614 в градусах Цельсия и сохраните их в переменной TempReading .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Как только оборудование и программное обеспечение готовы, пора загрузить программу на вашу плату Arduino Nano Board. Как только ваша программа загружается, ультразвуковой датчик начинает рассчитывать расстояние. Когда рассчитанное расстояние меньше 40 см, он считывает температуру и карту.
Сохранение данных датчика в таблице Excel из контроллера Arduino
Теперь, чтобы отправить данные в таблицу Excel, мы будем использовать PLX-DAQ. Это подключаемый модуль Excel, который помогает вам записывать значения из Arduino прямо в таблицу Excel на вашем ноутбуке или ПК. Воспользуйтесь ссылкой, чтобы скачать файл. После загрузки распакуйте файл и щелкните файл.exe, чтобы установить его. На вашем рабочем столе будет создана папка с именем PLS-DAQ.
Теперь откройте файл «PLX-DAQ spreadsheet» из папки рабочего стола. Если макросы отключены в вашем Excel, вы увидите блокировку безопасности, как показано на рисунке ниже:
Нажмите Параметры -> Включить содержимое -> Готово -> ОК, чтобы включить макросы. После этого вы получите следующий экран:
Теперь выберите скорость передачи «9600» и порт, к которому подключен ваш Arduino, а затем нажмите «Подключиться», чтобы начать потоковую передачу данных. Ваши значения должны начать регистрироваться, как показано на рисунке ниже.
Вот как вы можете создать устройство для бесконтактного измерения температуры и сохранить данные в таблице Excel.
Рабочий видеоролик и полный код приведены в конце страницы.