코로나 19 발병 이후 적외선 온도계는 공항, 기차역 및 기타 혼잡 한 시설에서 사람들을 스캔하기위한 검사 도구로 사용되고 있습니다. 이 스캔은 잠재적 인 Covid-19 환자를 식별하는 데 사용됩니다. 정부는 사무실, 학교 또는 기타 혼잡 한 장소에 들어가기 전에 모든 사람을 스캔하도록 의무화했습니다.
따라서이 튜토리얼에서는 Arduino와 비접촉식 온도 센서를 사용하여 RFID 기반 비접촉식 온도 모니터링 시스템 을 구축 할 것 입니다. 직원이 RFID 카드를 스캔하면 비접촉 적외선 온도계로 직원의 체온을 측정하고 해당 직원의 이름과 온도를 엑셀 시트에 직접 기록합니다. 이 프로젝트를 구축하기 위해 Arduino Nano, MLX90614, EM18 RFID 리더 및 초음파 센서를 사용할 것입니다. 초음파 센서는 온도계와 사람 사이의 거리를 계산하는 데 사용됩니다. 온도계는 거리가 25CM 미만일 때만 온도를 측정합니다. 모든 사람의 체온을 기록하는 RFID 기반 출석 시스템과 같은 것입니다.
필요한 구성 요소
- Arduino Nano
- EM-18 RFID 모듈
- MLX90614 비접촉식 온도 센서
- 초음파 센서
- 브레드 보드
- 점퍼 와이어
EM18 RFID 리더 모듈
125kHz 태그를 읽기 위해 널리 사용되는 RFID 리더 중 하나는 EM-18 RFID 리더입니다. 이 저가형 RFID 리더 모듈은 낮은 전력 소비, 낮은 폼 팩터 및 사용하기 쉬운 특징을 가지고 있습니다. EM-18 리더 모듈은 RS232 및 WEIGAND26과 같은 두 개의 통신 인터페이스를 통해 출력을 제공 할 수 있습니다.
EM18 RFID 리더에는 무선 신호를 전송하는 트랜시버가 있습니다. RFID 태그가 송신기 신호 범위에 들어 오면이 신호는 카드 내부의 응답기에 도달합니다. 태그는 리더 모듈에서 생성 한 전자석 장에서 전력을 끌어옵니다. 트랜스 폰더는 무선 신호를 사용 가능한 형태의 전력으로 변환합니다. 전원이 공급되면 응답기는 특정 ID와 같은 모든 정보를 RF 신호 형태로 RFID 모듈로 전송합니다. 그런 다음이 데이터는 UART 통신을 사용하여 마이크로 컨트롤러로 전송됩니다.
RFID 및 태그에 대해 자세히 알아 보려면 이전 RFID 기반 프로젝트를 확인하십시오.
MLX90614 적외선 온도계
튜토리얼을 진행하기 전에 MLX90614 센서가 어떻게 작동하는지 아는 것이 중요합니다. 시중에는 많은 온도 센서를 사용할 수 있으며 대기 습도 또는 온도를 측정해야하는 많은 응용 분야에 DHT11 센서 및 LM35를 광범위하게 사용하고 있습니다.
우리는 이전에 물체와 직접 접촉하지 않고도 특정 물체 (주변이 아닌)의 온도를 감지 할 수있는 IR 열총에이 센서를 사용했습니다. 여기에서 다시 동일한 센서를 사용하여 물체의 온도를 계산합니다. MLX90614는 IR 에너지를 사용하여 물체의 온도를 감지하는 센서 중 하나입니다. 적외선 및 IR 센서 회로에 대해 자세히 알아 보려면 링크를 따르십시오.
MLX90614 센서는 Melexis Microelectronics Integrated 시스템에 의해 제조되며 두 개의 장치가 내장되어 있습니다. 하나는 적외선 열전 퇴 감지기 (감지 장치)이고 다른 하나는 신호 조절 DSP 장치 (계산 장치)입니다. 모든 물체가 IR 에너지를 방출하고이 에너지의 강도가 물체의 온도에 정비례한다는 Stefan-Boltzmann 법칙 을 기반으로 작동 합니다. 센서의 감지 장치는 대상 물체에서 방출되는 IR 에너지의 양을 측정하고 계산 장치는 17 비트 내장 ADC를 사용하여이를 온도 값으로 변환하고 I2C 통신을 통해 데이터를 출력합니다. 실험 계획안. 센서는 물체 온도와 주변 온도를 모두 측정하여 물체 온도 값을 보정합니다. MLX90614 센서의 기능은 아래에 나와 있으며 자세한 내용은 MLX90614 데이터 시트를 참조하십시오.
회로도
Arduino를 사용하는 RFID 기반 비접촉식 온도 센서의 회로도는 다음과 같습니다.
회로도에서 볼 수 있듯이 연결은 모듈로 사용했기 때문에 매우 간단하며 브레드 보드에 직접 구축 할 수 있습니다. 누군가가 태그를 스캔하면 EM18 리더 모듈의 BUZ 핀에 연결된 LED가 켜집니다. 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 |
삼각 |
D6 |
에코 |
코드 설명
초음파 센서 인 MLX90614, EM18 RFID 리더 모듈에서 데이터를 읽고 사람의 이름과 온도를 엑셀 시트로 보낼 수있는 아두 이노 코드를 작성해야합니다. 이 코드의 경우 Wire 및 MLX90614 라이브러리를 다운로드해야합니다. 라이브러리를 다운로드 한 후 Arduino IDE에 추가하십시오.
이 비접촉식 체온 모니터링에 대한 전체 코드 는 페이지 끝에 제공됩니다. 여기서는 동일한 프로그램을 작은 조각으로 설명합니다.
평소와 같이 모든 필수 라이브러리를 포함하여 코드를 시작하십시오. 여기서 Wire 라이브러리는 I2C 프로토콜을 사용하여 통신하는 데 사용되며 Adafruit_MLX90614.h 라이브러리는 MLX90614 센서 데이터를 읽는 데 사용됩니다.
#포함
그런 다음 연결 한 초음파 센서의 핀을 정의합니다.
const int trigPin = 5; const int echoPin = 6;
그런 다음 변수를 정의하여 RFID 모듈, 초음파 센서 및 MLX90614 센서 데이터를 저장합니다.
장기간; int 거리; 문자열 RfidReading; float TempReading;
내부 공극 설정 () 함수, 우리는 디버깅 및 MLX90614 온도 센서 시리얼 모니터를 초기화한다. 또한 Trig 및 Echo 핀을 출력 및 입력 핀으로 설정합니다.
void setup () {Serial.begin (9600); // 시리얼 모니터와 시리얼 통신 초기화 pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
내부 공극 루프 (12) 후 호출 함수의 거리보다 작은 경우 사람과 센서 사이의 거리를 계산 또는 25cm 동일 리더 () 태그를 검색하는 기능.
void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); 기간 = pulseIn (echoPin, HIGH); 거리 = 기간 * 0.0340 / 2; if (거리 <= 25) {reader (); }
void reader () 함수는 RFID 태그 카드를 읽는 데 사용됩니다. 카드를 리더 모듈 근처로 가져 오면 리더 모듈은 직렬 데이터를 읽고 입력 변수에 저장합니다.
void reader () {if (Serial.available ()) {카운트 = 0; while (Serial.available () && count <12) {input = Serial.read (); count ++; 지연 (5);
다음 줄에서 스캔 한 카드 데이터를 사전 정의 된 태그 ID와 비교합니다. 태그 ID가 스캔 한 카드와 일치하면 사람의 온도를 읽고 사람의 온도와 이름을 엑셀 시트로 보냅니다.
if (input == tag) 플래그 = 1; 그렇지 않으면 플래그 = 0; count ++; RfidReading = "Ashish"; }} if (flag == 1) {temp_read (); Write_streamer (); }
temp_read () 함수 내에서 MLX90614 센서 데이터를 섭씨로 읽고 'TempReading' 변수 에 저장합니다.
void temp_read () {TempReading = mlx.readObjectTempC ();}
하드웨어와 소프트웨어가 준비되면 프로그램을 Arduino Nano Board에 업로드 할 차례입니다. 프로그램이 업로드되면 초음파 센서가 거리 계산을 시작합니다. 계산 된 거리가 40cm 미만이면 온도와 카드를 읽습니다.
Arduino 컨트롤러에서 Excel 시트에 센서 데이터 저장
이제 Excel 시트로 데이터를 보내기 위해 PLX-DAQ를 사용하겠습니다. Arduino의 값을 노트북 또는 PC의 Excel 시트에 직접 쓸 수 있도록 도와주는 Excel 플러그인 소프트웨어입니다. 링크를 사용하여 파일을 다운로드하십시오. 다운로드 후 파일 압축을 풀고.exe 파일을 클릭하여 설치합니다. 바탕 화면에 PLS-DAQ 라는 폴더가 생성됩니다.
이제 데스크탑 폴더에서 'PLX-DAQ 스프레드 시트'파일을 엽니 다. Excel에서 매크로가 비활성화되어 있으면 아래 이미지와 같이 보안 블록이 표시됩니다.
을 클릭 -> 옵션 - 내용을 활성화 -> 완료 -> 확인 매크로를 사용하려면. 이 후 다음 화면이 표시됩니다.
이제 전송 속도를 "9600"으로 선택하고 Arduino가 연결된 포트를 선택한 다음 연결을 클릭하여 데이터 스트리밍을 시작합니다. 아래 그림과 같이 값이 기록되기 시작해야합니다.
이것이 비접촉식 온도 선별 장치를 구축 하고 데이터를 Excel 시트에 저장하는 방법입니다.
작동하는 비디오와 완전한 코드는 페이지 끝에 제공됩니다.