- ส่วนประกอบที่จำเป็น
- โมดูลเครื่องอ่าน RFID EM18
- MLX90614 เครื่องวัดอุณหภูมิอินฟราเรด
- แผนภูมิวงจรรวม
- คำอธิบายรหัส
- การจัดเก็บข้อมูลเซนเซอร์ลงในแผ่นงาน Excel จาก Arduino Controller
นับตั้งแต่การระบาดของ Covid-19 เครื่องวัดอุณหภูมิอินฟราเรดถูกใช้เป็นเครื่องมือในการคัดกรองเพื่อสแกนผู้คนที่สนามบินสถานีรถไฟและสถานประกอบการที่แออัดอื่น ๆ กำลังใช้การสแกนเหล่านี้เพื่อระบุผู้ป่วยที่อาจเป็นโรค Covid-19 รัฐบาลกำหนดให้ต้องสแกนทุกคนก่อนเข้าสำนักงานโรงเรียนหรือสถานที่แออัดอื่น ๆ
ดังนั้นในบทช่วยสอนนี้เราจะสร้างระบบตรวจสอบอุณหภูมิแบบไม่สัมผัสที่ใช้ RFIDโดยใช้เซ็นเซอร์อุณหภูมิแบบไม่สัมผัสกับ Arduino เมื่อพนักงานสแกนบัตร RFID เครื่องจะวัดอุณหภูมิร่างกายของพนักงานด้วยเครื่องวัดอุณหภูมิอินฟราเรดแบบไม่สัมผัสและบันทึกชื่อและอุณหภูมิของพนักงานคนนั้นลงในแผ่นงาน excel โดยตรง เราจะใช้ Arduino Nano, MLX90614, EM18 RFID Reader และ Ultrasonic Sensor เพื่อสร้างโครงการนี้ เซ็นเซอร์อัลตราโซนิกใช้ในการคำนวณระยะห่างระหว่างเทอร์โมมิเตอร์กับบุคคล เทอร์โมมิเตอร์จะวัดอุณหภูมิก็ต่อเมื่อระยะทางน้อยกว่า 25 ซม. มันเหมือนกับระบบการเข้าร่วมที่ใช้ RFID ซึ่งจะบันทึกอุณหภูมิร่างกายของทุกคนด้วย
ส่วนประกอบที่จำเป็น
- Arduino นาโน
- EM-18 โมดูล RFID
- MLX90614 เซ็นเซอร์อุณหภูมิแบบไม่สัมผัส
- อัลตราโซนิกเซนเซอร์
- เขียงหั่นขนม
- สายจัมเปอร์
โมดูลเครื่องอ่าน RFID EM18
หนึ่งในเครื่องอ่าน RFID ที่ใช้กันอย่างแพร่หลายสำหรับการอ่านแท็ก 125 kHz คือเครื่องอ่าน RFID EM-18 โมดูลเครื่องอ่าน RFID ราคาประหยัดนี้มีการใช้พลังงานต่ำมีรูปแบบที่ต่ำและใช้งานง่าย EM-18 Reader Module สามารถให้เอาต์พุตผ่านอินเทอร์เฟซการสื่อสารสองแบบ ได้แก่ RS232 และ WEIGAND26
EM18 RFID Reader มีเครื่องรับส่งสัญญาณที่ส่งสัญญาณวิทยุ เมื่อแท็ก RFID อยู่ในช่วงสัญญาณของเครื่องส่งสัญญาณนี้จะกระทบกับช่องสัญญาณที่อยู่ภายในการ์ด แท็กดึงพลังงานจากสนามแม่เหล็กไฟฟ้าที่สร้างโดยโมดูลเครื่องอ่าน จากนั้นทรานสปอนเดอร์จะแปลงสัญญาณวิทยุให้อยู่ในรูปพลังงานที่ใช้งานได้ เมื่อได้รับพลังงานทรานสปอนเดอร์จะถ่ายโอนข้อมูลทั้งหมดเช่น ID เฉพาะในรูปแบบของสัญญาณ RF ไปยังโมดูล RFID จากนั้นข้อมูลนี้จะถูกส่งไปยังไมโครคอนโทรลเลอร์โดยใช้การสื่อสาร UART
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ RFID และแท็กโปรดตรวจสอบโครงการที่ใช้ RFID ก่อนหน้านี้ของเรา
MLX90614 เครื่องวัดอุณหภูมิอินฟราเรด
ก่อนที่เราจะดำเนินการสอนสิ่งสำคัญคือต้องทราบว่าเซ็นเซอร์ MLX90614 ทำงานอย่างไร มีเซ็นเซอร์อุณหภูมิมากมายในตลาดและเราได้ใช้เซ็นเซอร์ DHT11 และ LM35 อย่างกว้างขวางสำหรับการใช้งานจำนวนมากที่ต้องวัดความชื้นในบรรยากาศหรืออุณหภูมิ
ก่อนหน้านี้เราใช้เซ็นเซอร์นี้ในปืนความร้อน IR ซึ่งสามารถตรวจจับอุณหภูมิของวัตถุบางอย่าง (ไม่ใช่สภาพแวดล้อม) โดยไม่ต้องสัมผัสกับวัตถุโดยตรง ที่นี่เราใช้เซ็นเซอร์เดียวกันในการคำนวณอุณหภูมิของวัตถุอีกครั้ง MLX90614 เป็นเซ็นเซอร์ชนิดหนึ่งที่ใช้พลังงาน IR เพื่อตรวจจับอุณหภูมิของวัตถุ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวงจรเซ็นเซอร์อินฟราเรดและ IR ให้ไปที่ลิงค์
เซ็นเซอร์MLX90614 ผลิตโดยระบบ Melexis Microelectronics Integrated ซึ่งมีอุปกรณ์สองตัวที่ฝังอยู่ในนั้นหนึ่งคือตัวตรวจจับเทอร์โมไพล์อินฟราเรด (หน่วยตรวจจับ) และอีกตัวเป็นอุปกรณ์ DSP ปรับสภาพสัญญาณ มันทำงานตาม กฎหมาย Stefan-Boltzmann ซึ่งระบุว่าวัตถุทั้งหมดปล่อยพลังงาน IR และความเข้มของพลังงานนี้จะแปรผันตรงกับอุณหภูมิของวัตถุนั้น หน่วยตรวจจับในเซ็นเซอร์จะวัดปริมาณพลังงาน IR ที่ปล่อยออกมาจากวัตถุเป้าหมายและหน่วยคำนวณจะแปลงเป็นค่าอุณหภูมิโดยใช้ ADC ในตัว 17 บิตและส่งออกข้อมูลผ่านการสื่อสาร I2C มาตรการ. เซ็นเซอร์จะวัดทั้งอุณหภูมิของวัตถุและอุณหภูมิโดยรอบเพื่อปรับเทียบค่าอุณหภูมิของวัตถุ คุณสมบัติของเซ็นเซอร์ MLX90614 แสดงไว้ด้านล่างสำหรับรายละเอียดเพิ่มเติมโปรดดูเอกสารข้อมูล MLX90614
แผนภูมิวงจรรวม
แผนภาพวงจรสำหรับเซ็นเซอร์อุณหภูมิแบบไม่สัมผัสที่ใช้ RFID โดยใช้ Arduino แสดงไว้ด้านล่าง:
ดังที่แสดงในแผนภาพวงจรการเชื่อมต่อนั้นง่ายมากเนื่องจากเราใช้มันเป็นโมดูลเราจึงสามารถสร้างมันบนเขียงหั่นขนมโดยตรง LED ที่เชื่อมต่อกับพิน BUZ ของโมดูล EM18 Reader จะสว่างขึ้นเมื่อมีคนสแกนแท็ก โมดูล RFID ส่งข้อมูลไปยังคอนโทรลเลอร์แบบอนุกรม ด้วยเหตุนี้ขาส่งสัญญาณของโมดูล RFID จึงเชื่อมต่อกับพินตัวรับของ Arduino การเชื่อมต่อถูกจัดประเภทเพิ่มเติมในตารางด้านล่าง:
Arduino นาโน |
EM18 โมดูล RFID |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
Tx |
Arduino นาโน |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
Arduino นาโน |
อัลตราโซนิกเซนเซอร์ (HCSR-04) |
5V |
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; สตริง RfidReading; ลอย TempReading;
ภายในฟังก์ชัน void setup () เราจะเริ่มการทำงานของจอภาพอนุกรมสำหรับการดีบักและเซ็นเซอร์อุณหภูมิ MLX90614 นอกจากนี้ให้ตั้งหมุด Trig และ Echo เป็นขาออกและขาเข้า
การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); // เริ่มต้นการสื่อสารแบบอนุกรมด้วย Serial Monitor pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
ภายในฟังก์ชัน void loop () คำนวณระยะห่างระหว่างบุคคลและเซ็นเซอร์และหากระยะทางน้อยกว่าหรือเท่ากับ 25 ซม. ให้เรียกใช้ฟังก์ชัน reader () เพื่อสแกนแท็ก
โมฆะ loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, สูง); delayMicroseconds (10); digitalWrite (trigPin, LOW); ระยะเวลา = pulseIn (echoPin, HIGH); ระยะทาง = ระยะเวลา * 0.0340 / 2; ถ้า (ระยะ <= 25) {ผู้อ่าน (); }
ฟังก์ชัน void reader () ใช้เพื่ออ่านบัตรแท็ก RFID เมื่อการ์ดถูกนำเข้าใกล้โมดูลตัวอ่านโมดูลตัวอ่านจะอ่านข้อมูลอนุกรมและจัดเก็บไว้ในตัวแปรอินพุต
เครื่องอ่านเป็นโมฆะ () {if (Serial.available ()) {count = 0; ในขณะที่ (Serial.available () && count <12) {input = Serial.read (); นับ ++; ล่าช้า (5);
ในบรรทัดถัดไปเปรียบเทียบข้อมูลการ์ดที่สแกนกับรหัสแท็กที่กำหนดไว้ล่วงหน้า หากรหัสแท็กตรงกับบัตรที่สแกนให้อ่านอุณหภูมิของบุคคลและส่งอุณหภูมิและชื่อของบุคคลไปยังแผ่นงาน excel
ถ้า (input == tag) flag = 1; อื่นธง = 0; นับ ++; RfidReading = "อาชิช"; }} if (flag == 1) {temp_read (); Write_streamer (); }
ภายใน ฟังก์ชัน temp_read () ให้อ่านข้อมูลเซ็นเซอร์ MLX90614 ในเซลเซียสและเก็บไว้ในตัวแปร 'TempReading'
เป็นโมฆะ temp_read () {TempReading = mlx.readObjectTempC ();}
เมื่อฮาร์ดแวร์และซอฟต์แวร์พร้อมแล้วก็ถึงเวลาอัปโหลดโปรแกรมไปยัง Arduino Nano Board ของคุณ ทันทีที่อัปโหลดโปรแกรมของคุณเซ็นเซอร์อัลตราโซนิกจะเริ่มคำนวณระยะทาง เมื่อระยะทางที่คำนวณได้น้อยกว่า 40 ซม. จะอ่านอุณหภูมิและการ์ด
การจัดเก็บข้อมูลเซนเซอร์ลงในแผ่นงาน Excel จาก Arduino Controller
ตอนนี้เพื่อส่งข้อมูลไปยังแผ่นงาน Excel เราจะใช้ PLX-DAQ เป็นซอฟต์แวร์ Excel Plug-in ที่ช่วยให้คุณเขียนค่าจาก Arduino ลงในแผ่นงาน Excel บนแล็ปท็อปหรือพีซีของคุณได้โดยตรง ใช้ลิงค์เพื่อดาวน์โหลดไฟล์ หลังจากดาวน์โหลดแตกไฟล์แล้วคลิกที่ไฟล์. exe เพื่อติดตั้ง มันจะสร้างโฟลเดอร์ชื่อPLS-DAQบนเดสก์ท็อปของคุณ
ตอนนี้เปิดไฟล์ 'PLX-DAQ สเปรดชีต' จากโฟลเดอร์เดสก์ท็อป หากมาโครถูกปิดใช้งานบน Excel ของคุณคุณจะเห็นบล็อกความปลอดภัยดังที่แสดงในภาพด้านล่าง:
คลิกที่ ตัวเลือก -> เปิดใช้งานเนื้อหา -> เสร็จสิ้น -> ตกลง เพื่อเปิดใช้งานมาโคร หลังจากนี้คุณจะได้รับหน้าจอต่อไปนี้:
ตอนนี้เลือกอัตราการส่งข้อมูลเป็น“ 9600” และพอร์ตที่ Arduino ของคุณเชื่อมต่อจากนั้นคลิกที่เชื่อมต่อเพื่อเริ่มการสตรีมข้อมูล ค่าของคุณควรเริ่มเข้าสู่ระบบดังที่แสดงในภาพด้านล่าง
นี่คือวิธีที่คุณสามารถสร้างอุณหภูมิ Contactless อุปกรณ์การตรวจคัดกรองและการเก็บข้อมูลในแผ่นของ
วิดีโอที่ใช้งานได้และโค้ดที่สมบูรณ์จะได้รับที่ส่วนท้ายของหน้า