- Thành phần bắt buộc
- Mô-đun đọc RFID EM18
- Nhiệt kế hồng ngoại MLX90614
- Sơ đồ mạch
- Giải thích mã
- Lưu trữ dữ liệu cảm biến vào trang tính Excel từ bộ điều khiển Arduino
Kể từ khi sự bùng nổ của Covid-19, nhiệt kế hồng ngoại đang được sử dụng như một công cụ sàng lọc để quét người ở Sân bay, Nhà ga và các cơ sở đông đúc khác. Những bản quét này đang được sử dụng để xác định những bệnh nhân tiềm năng của Covid-19. Chính phủ bắt buộc phải quét mọi người trước khi vào văn phòng, trường học hoặc bất kỳ nơi đông người nào khác.
Vì vậy, trong hướng dẫn này, chúng ta sẽ xây dựng Hệ thống giám sát nhiệt độ không tiếp xúc dựa trên RFID bằng cách sử dụng cảm biến nhiệt độ không tiếp xúc với Arduino. Khi nhân viên quét thẻ RFID, nó sẽ đo nhiệt độ cơ thể của nhân viên bằng nhiệt kế hồng ngoại không tiếp xúc và ghi tên và nhiệt độ của nhân viên đó trực tiếp vào bảng excel. Chúng tôi sẽ sử dụng Arduino Nano, MLX90614, Đầu đọc RFID EM18 và Cảm biến siêu âm để xây dựng dự án này. Cảm biến siêu âm được sử dụng để tính toán khoảng cách giữa nhiệt kế và người. Nhiệt kế sẽ chỉ đo nhiệt độ khi khoảng cách nhỏ hơn 25 CM. Nó giống như một hệ thống chấm công dựa trên RFID, cũng ghi lại nhiệt độ cơ thể của mỗi người.
Thành phần bắt buộc
- Arduino Nano
- Mô-đun RFID EM-18
- Cảm biến nhiệt độ không tiếp xúc MLX90614
- Thiết bị cảm biến sóng siêu âm
- Breadboard
- Dây nhảy
Mô-đun đọc RFID EM18
Một trong những đầu đọc RFID được sử dụng rộng rãi để đọc các thẻ 125 kHz là Đầu đọc RFID EM-18. Mô-đun RFID Reader giá rẻ này có khả năng tiêu thụ điện năng thấp, hệ số hình thức thấp và dễ sử dụng. Mô-đun đọc EM-18 có thể cung cấp đầu ra thông qua hai giao diện truyền thông là RS232 và WEIGAND26.
EM18 RFID Reader có bộ thu phát truyền tín hiệu vô tuyến. Khi thẻ RFID đến trong dải tín hiệu máy phát, tín hiệu này sẽ chạm vào bộ phát đáp bên trong thẻ. Thẻ lấy điện từ trường nam châm điện do mô-đun đầu đọc tạo ra. Bộ phát đáp sau đó chuyển tín hiệu vô tuyến thành dạng năng lượng có thể sử dụng được. Khi nhận được điện, bộ phát đáp chuyển tất cả thông tin, chẳng hạn như một ID cụ thể, dưới dạng tín hiệu RF đến Mô-đun RFID. Sau đó, dữ liệu này được gửi đến bộ vi điều khiển bằng cách sử dụng giao tiếp UART.
Để tìm hiểu thêm về RFID và thẻ, hãy kiểm tra các dự án dựa trên RFID trước đây của chúng tôi.
Nhiệt kế hồng ngoại MLX90614
Trước khi chúng tôi tiếp tục hướng dẫn, điều quan trọng là phải biết cách hoạt động của cảm biến MLX90614. Có rất nhiều cảm biến nhiệt độ có sẵn trên thị trường và chúng tôi đã và đang sử dụng rộng rãi Cảm biến DHT11 và LM35 cho nhiều ứng dụng cần đo độ ẩm hoặc nhiệt độ khí quyển.
Trước đây chúng tôi đã sử dụng cảm biến này trong súng nhiệt IR có thể cảm nhận nhiệt độ của một vật thể cụ thể (không phải môi trường xung quanh) mà không cần tiếp xúc trực tiếp với vật thể đó. Ở đây chúng ta lại đang sử dụng cùng một cảm biến để tính nhiệt độ của một vật thể. MLX90614 là một trong những cảm biến như vậy sử dụng năng lượng IR để phát hiện nhiệt độ của một vật thể. Để tìm hiểu thêm về mạch cảm biến Hồng ngoại và IR, hãy theo liên kết.
Cảm biến MLX90614 được sản xuất bởi Hệ thống tích hợp vi điện tử Melexis, nó có hai thiết bị được nhúng trong đó, một là đầu dò nhiệt hồng ngoại (đơn vị cảm biến) và thiết bị kia là thiết bị DSP điều hòa tín hiệu (đơn vị tính toán). Nó hoạt động dựa trên định luật Stefan-Boltzmann nói rằng tất cả các vật thể đều phát ra năng lượng IR và cường độ của năng lượng này sẽ tỷ lệ thuận với nhiệt độ của vật thể đó. Đơn vị cảm biến trong cảm biến đo lượng năng lượng IR được phát ra bởi một đối tượng được nhắm mục tiêu và đơn vị tính toán chuyển đổi nó thành giá trị nhiệt độ bằng cách sử dụng bộ ADC tích hợp 17 bit và xuất dữ liệu thông qua giao tiếp I2C giao thức. Cảm biến đo cả nhiệt độ vật thể và nhiệt độ môi trường xung quanh để hiệu chỉnh giá trị nhiệt độ vật thể. Các tính năng của cảm biến MLX90614 được đưa ra bên dưới, để biết thêm chi tiết, hãy tham khảo Bảng dữ liệu MLX90614.
Sơ đồ mạch
Sơ đồ mạch cho cảm biến nhiệt độ không tiếp xúc dựa trên RFID sử dụng Arduino được đưa ra dưới đây:
Như được hiển thị trong sơ đồ mạch, các kết nối rất đơn giản vì chúng tôi đã sử dụng chúng làm mô-đun, chúng tôi có thể trực tiếp xây dựng chúng trên một breadboard. Đèn LED được kết nối với chân BUZ của mô-đun EM18 Reader sẽ bật cao khi ai đó quét thẻ. Mô-đun RFID gửi dữ liệu nối tiếp đến bộ điều khiển; do đó chân bộ phát của mô-đun RFID được kết nối với chân Bộ nhận của Arduino. Các kết nối được phân loại thêm trong bảng dưới đây:
Arduino Nano |
Mô-đun RFID EM18 |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino Nano |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino Nano |
Cảm biến siêu âm (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
Trig |
D6 |
Echo |
Giải thích mã
Chúng tôi phải viết mã Arduino có thể đọc dữ liệu từ cảm biến siêu âm, MLX90614, Mô-đun đọc RFID EM18, và gửi Tên và Nhiệt độ của một người vào Trang tính Excel. Đối với mã này, bạn phải tải xuống thư viện Wire và MLX90614. Sau khi tải xuống các thư viện, hãy thêm chúng vào IDE Arduino của bạn.
Mã hoàn chỉnh cho việc theo dõi nhiệt độ cơ thể không tiếp xúc này được đưa ra ở cuối trang. Ở đây, chương trình tương tự sẽ được giải thích trong các đoạn trích nhỏ.
Như thường lệ, hãy bắt đầu mã bằng cách bao gồm tất cả các thư viện bắt buộc. Ở đây, thư viện Wire được sử dụng để giao tiếp bằng giao thức I2C và thư viện Adafruit_MLX90614.h được sử dụng để đọc dữ liệu cảm biến MLX90614.
#include
Sau đó, chúng tôi xác định các chân của cảm biến siêu âm mà chúng tôi đã thực hiện kết nối
const int trigPin = 5; const int echoPin = 6;
Sau đó, xác định các biến để lưu trữ dữ liệu mô-đun RFID, cảm biến siêu âm và cảm biến MLX90614.
thời gian dài; khoảng cách int; Chuỗi RfidReading; float TempReading;
Bên trong hàm void setup () , chúng tôi khởi tạo màn hình nối tiếp để gỡ lỗi và cảm biến nhiệt độ MLX90614. Ngoài ra, đặt chân Trig và Echo làm chân đầu ra và đầu vào.
void setup () {Serial.begin (9600); // Khởi tạo Giao tiếp nối tiếp với pinMode Màn hình nối tiếp (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Khởi tạo_streamer (); }
Bên trong hàm void loop () , tính toán khoảng cách giữa người và cảm biến và nếu khoảng cách nhỏ hơn hoặc bằng 25cm, sau đó gọi hàm reader () để quét thẻ.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); thời lượng = xungIn (echoPin, CAO); khoảng cách = thời lượng * 0,0340 / 2; if (khoảng cách <= 25) {reader (); }
Hàm void reader () được sử dụng để đọc thẻ thẻ RFID. Khi thẻ được đưa đến gần mô-đun đầu đọc, mô-đun đầu đọc sẽ đọc dữ liệu nối tiếp và lưu trữ nó trong biến đầu vào.
void reader () {if (Serial.available ()) {count = 0; while (Serial.available () && count <12) {input = Serial.read (); tính ++; chậm trễ (5);
Trong các dòng tiếp theo, hãy so sánh dữ liệu thẻ được quét với ID thẻ được xác định trước. Nếu thẻ ID khớp với thẻ quét, sau đó đọc nhiệt độ của người đó và gửi nhiệt độ và tên của người đó vào bảng excel.
if (thẻ input ==) flag = 1; cờ khác = 0; tính ++; RfidReading = "Ashish"; }} if (flag == 1) {temp_read (); Write_streamer (); }
Bên trong hàm temp_read () , đọc dữ liệu cảm biến MLX90614 ở độ C và lưu trữ nó trong biến 'TempReading' .
void temp_read () {TempReading = mlx.readObjectTempC ();}
Khi phần cứng và phần mềm đã sẵn sàng, đã đến lúc tải chương trình lên Bảng Arduino Nano của bạn. Ngay sau khi chương trình của bạn được tải lên, cảm biến siêu âm bắt đầu tính khoảng cách. Khi khoảng cách tính toán nhỏ hơn 40 cm, nó sẽ đọc nhiệt độ và thẻ.
Lưu trữ dữ liệu cảm biến vào trang tính Excel từ bộ điều khiển Arduino
Bây giờ để gửi dữ liệu sang trang tính Excel, chúng ta sẽ sử dụng PLX-DAQ. Đây là một phần mềm Excel Plug-in giúp bạn ghi các giá trị từ Arduino vào trực tiếp trang tính Excel trên Máy tính xách tay hoặc PC của bạn. Sử dụng liên kết để tải xuống tệp. Sau khi tải về giải nén tập tin và nhấp vào tập tin.exe để cài đặt nó. Nó sẽ tạo một thư mục có tên PLS-DAQ trên màn hình của bạn.
Bây giờ, hãy mở tệp 'bảng tính PLX-DAQ' từ thư mục trên máy tính để bàn. Nếu macro bị tắt trên Excel của bạn, bạn sẽ thấy một khối bảo mật như được hiển thị trong hình ảnh bên dưới:
Nhấp vào Tùy chọn-> Bật nội dung -> Kết thúc -> OK để Bật Macro. Sau đó, bạn sẽ nhận được màn hình sau:
Bây giờ chọn tốc độ truyền là “9600” và cổng kết nối Arduino của bạn, sau đó nhấp vào Kết nối để bắt đầu truyền dữ liệu. Các giá trị của bạn sẽ bắt đầu được ghi lại như trong hình bên dưới.
Đây là cách bạn có thể tạo thiết bị sàng lọc Nhiệt độ không tiếp xúc và lưu trữ dữ liệu trong Trang tính Excel.
Đoạn video hoạt động và mã hoàn chỉnh được đưa ra ở cuối trang.