- רכיבים נדרשים
- מודול קורא RFID EM18
- מדחום אינפרא אדום MLX90614
- תרשים מעגל
- הסבר קוד
- אחסון נתוני חיישנים בגליון Excel מבקר Arduino
מאז פרוץ קוביד 19, מדחומים אינפרא אדום משמשים ככלי סינון לסריקת האנשים בשדות תעופה, תחנות רכבת ומפעלים צפופים אחרים. סריקות אלו משמשות לזיהוי חולים פוטנציאליים ב- Covid-19. הממשלה חייבה לסרוק את כולם לפני כניסה למשרד, לבית הספר או לכל מקום צפוף אחר.
אז במדריך זה, אנו הולכים לבנות מערכת ניטור טמפרטורה ללא מגע מבוססת RFID באמצעות חיישן טמפרטורה ללא מגע עם Arduino. כאשר עובדים סורקים את כרטיס ה- RFID, הוא ימדוד את טמפרטורת הגוף של העובדים באמצעות מדחום אינפרא אדום ללא מגע וירשום את השם והטמפרטורה של אותו עובד ישירות לגליון ה- Excel. אנו נשתמש ב- Arduino Nano, MLX90614, EM18 RFID Reader ובחיישן Ultrasonic לבניית פרויקט זה. החיישן הקולי משמש לחישוב המרחק בין המדחום לאדם. המדחום ימדוד את הטמפרטורה רק כשהמרחק קטן מ- 25 ס"מ. זה משהו כמו מערכת נוכחות מבוססת RFID, שמתעדת גם את טמפרטורת הגוף של כל אדם.
רכיבים נדרשים
- ארדואינו ננו
- מודול RFID EM-18
- חיישן טמפרטורה ללא מגע MLX90614
- חיישן קולי
- קרש לחם
- חוטי מגשר
מודול קורא RFID EM18
אחד מקוראי ה- RFID הנפוצים לקריאת תגי 125 קילוהרץ הוא קורא ה- RFID EM-18. מודול קורא RFID בעלות נמוכה זה כולל צריכת חשמל נמוכה, גורם צורה נמוך ונוח לשימוש. מודול הקורא EM-18 יכול לספק פלט באמצעות שני ממשקי תקשורת כלומר RS232 ו- WEIGAND26.
EM18 RFID Reader כולל מקלט משדר המשדר אות רדיו. כאשר תג ה- RFID מגיע בתחום האותות של המשדר, אות זה פוגע במעביר שנמצא בתוך הכרטיס. התג שואב כוח משדה האלקטרומגנט שנוצר על ידי מודול הקורא. המשדר הופך את אות הרדיו לצורת הכוח הניתנת לשימוש. עם השגת החשמל, המשדר מעביר את כל המידע, כגון מזהה ספציפי, בצורה של אות RF למודול ה- RFID. לאחר מכן נתונים אלה נשלחו למיקרו-בקר באמצעות תקשורת UART.
למידע נוסף על RFID ותגים, עיין בפרויקטים הקודמים שלנו בנושא RFID.
מדחום אינפרא אדום MLX90614
לפני שנמשיך בהדרכה, חשוב לדעת כיצד עובד חיישן ה- MLX90614. ישנם חיישני טמפרטורה רבים הזמינים בשוק והשתמשנו בחיישן DHT11 וב- LM35 באופן נרחב ליישומים רבים בהם יש למדוד לחות או טמפרטורה אטמוספרית.
בעבר השתמשנו בחיישן זה באקדח תרמי IR שיכול לחוש את הטמפרטורה של אובייקט מסוים (לא סביבתי) מבלי ליצור קשר ישיר עם האובייקט. כאן אנו משתמשים שוב באותו חיישן לחישוב הטמפרטורה של אובייקט. ה- MLX90614 הוא חיישן כזה שמשתמש באנרגיית IR כדי לזהות את הטמפרטורה של אובייקט. למידע נוסף על מעגל חיישני אינפרא אדום ו- IR, עקוב אחר הקישור.
חיישן MLX90614 מיוצר על ידי מערכת משולבת מיקרואלקטרוניקה Melexis, יש בו שני מכשירים המוטבעים, האחד הוא גלאי התרמופיל האינפרא אדום (יחידת חישה) והשני מכשיר DSP המותנה אותות (יחידת חישוב). זה עובד על פי חוק סטפן-בולצמן הקובע כי כל האובייקטים פולטים אנרגיית IR ועוצמת האנרגיה הזו תהיה פרופורציונלית ישירות לטמפרטורה של אותו אובייקט. יחידת החישה בחיישן מודדת כמה אנרגיית IR נפלטת על ידי אובייקט ממוקד ויחידת החישוב ממירה אותה לערך טמפרטורה באמצעות ADC מובנה של 17 סיביות ומוציאה את הנתונים דרך תקשורת I2C נוהל. החיישן מודד גם את טמפרטורת האובייקט וגם את טמפרטורת הסביבה כדי לכייל את ערך טמפרטורת האובייקט. התכונות של חיישן MLX90614 מפורטות להלן. לפרטים נוספים עיין בגיליון הנתונים של MLX90614.
תרשים מעגל
תרשים המעגל עבור חיישן טמפרטורה ללא מגע מבוסס RFID באמצעות Arduino מוצג להלן:
כפי שמוצג בתרשים המעגל, החיבורים פשוטים מאוד מכיוון שהשתמשנו בהם כמודולים, אנו יכולים לבנות אותם ישירות על קרש לחם. נורית ה- LED המחוברת לסיכת ה- BUZ של מודול ה- EM18 Reader הופכת גבוהה כשמישהו סורק את התג. מודול ה- RFID שולח נתונים לבקר בסידורי; מכאן שסיכת המשדר של מודול ה- RFID מחוברת לסיכת המקלט של ארדואינו. החיבורים מסווגים עוד יותר בטבלה שלהלן:
ארדואינו ננו |
מודול RFID EM18 |
5V |
Vcc |
GND |
GND |
5V |
SEL |
Rx |
טקס |
ארדואינו ננו |
MLX90614 |
5V |
Vcc |
GND |
GND |
A5 |
SCL |
A4 |
SDA |
ארדואינו ננו |
חיישן קולי (HCSR-04) |
5V |
Vcc |
GND |
GND |
D5 |
טְרִיגוֹנוֹמֶטרִיָה |
D6 |
הֵד |
הסבר קוד
עלינו לכתוב קוד Arduino שיכול לקרוא נתונים מהחיישן הקולי, MLX90614, EM18 RFID Reader Module, ולשלוח את השם והטמפרטורה של אדם לגליון Excel. עבור קוד זה, עליך להוריד את ספריות Wire ו- MLX90614. לאחר הורדת הספריות, הוסף אותן ל- IDU של ארדואינו.
הקוד המלא לניטור טמפרטורת גוף ללא מגע זה ניתן בסוף העמוד. כאן אותה תוכנית תוסבר בקטעים קטנים.
כרגיל, התחל את הקוד על ידי הכללת כל הספריות הנדרשות. כאן ספריית Wire משמשת לתקשורת באמצעות פרוטוקול I2C וספריית Adafruit_MLX90614.h משמשת לקריאת נתוני החיישנים MLX90614.
#לִכלוֹל
לאחר מכן אנו מגדירים את הסיכות של החיישן הקולי אליו יצרנו את החיבור
const int trigPin = 5; const int echoPin = 6;
לאחר מכן, הגדירו את המשתנים לאחסון מודול ה- RFID, חיישן הקולי ונתוני חיישני MLX90614.
משך זמן ארוך; מרחק int; מחרוזת RfidReading; צף TempReading;
בתוך פונקציית התקנת הריק () , אנו מאתחלים את המסך הטורי לצורך איתור באגים ואת חיישן הטמפרטורה MLX90614. כמו כן, הגדירו את סיכות הטריגר והה כסיכות פלט וכניסה.
הגדרת חלל () {Serial.begin (9600); // אתחל תקשורת טורית עם pinMode של צג סידורי (trigPin, OUTPUT); pinMode (echoPin, INPUT); mlx.begin (); Initialize_streamer (); }
בתוך פונקציית הלולאה הריקנית () , חישבו את המרחק בין האדם לחיישן ואם המרחק קטן מ- 25 ס"מ או שווה, התקשרו לפונקציית הקורא () כדי לסרוק את התג.
loop loop () {digitalWrite (trigPin, LOW); עיכוב מיקרו-שניות (2); digitalWrite (trigPin, HIGH); עיכוב מיקרו-שניות (10); digitalWrite (trigPin, LOW); משך = pulseIn (echoPin, HIGH); מרחק = משך * 0.0340 / 2; אם (מרחק <= 25) {קורא (); }
פונקצית קורא חלל () משמשת לקריאת כרטיס התג RFID. לאחר שהכרטיס מתקרב למודול הקורא, מודול הקורא קורא את הנתונים הסידוריים ושומר אותו במשתנה הקלט.
קורא ריק () {if (Serial.available ()) {count = 0; בעוד (Serial.available () && count <12) {input = Serial.read (); ספירת ++; עיכוב (5);
בשורות הבאות, השווה את נתוני הכרטיס הסרוק עם מזהה התג שהוגדר מראש. אם מזהה התג תואם לכרטיס הסרוק, קרא את הטמפרטורה של האדם ושלח את הטמפרטורה ושם האדם לגיליון ה- Excel.
אם (קלט == תג) דגל = 1; דגל אחר = 0; ספירת ++; RfidReading = "אשיש"; }} אם (דגל == 1) {temp_read (); כתיבת_סטרימר (); }
בתוך הפונקציה temp_read () , קרא את נתוני החיישנים MLX90614 בצלסיוס ושמור אותם במשתנה 'TempReading' .
בטל temp_read () {TempReading = mlx.readObjectTempC ();}
לאחר שהחומרה והתוכנה מוכנות, הגיע הזמן להעלות את התוכנית ללוח ה- Arduino Nano שלך. ברגע שהתוכנית שלך תעלה, החיישן הקולי מתחיל לחשב את המרחק. כאשר המרחק המחושב קטן מ- 40 ס"מ, הוא קורא את הטמפרטורה ואת הכרטיס.
אחסון נתוני חיישנים בגליון Excel מבקר Arduino
כעת כדי לשלוח נתונים לגליון Excel, אנו נשתמש ב- PLX-DAQ. זוהי תוכנת פלאגין של Excel שעוזרת לך לכתוב ערכים מארדואינו ישירות לגליון Excel במחשב הנייד או במחשב האישי שלך. השתמש בקישור להורדת הקובץ. לאחר ההורדה חלץ את הקובץ ולחץ על קובץ.exe כדי להתקין אותו. זה ייצור תיקייה בשם PLS-DAQ על שולחן העבודה שלך.
כעת פתח את קובץ 'גיליון אלקטרוני PLX-DAQ' מתיקיית שולחן העבודה. אם פקודות מאקרו מושבתות ב- Excel שלך, תראה חסימת אבטחה כפי שמוצג בתמונה למטה:
לחץ על אפשרויות-> אפשר את התוכן -> סיום -> אישור כדי להפעיל את המאקרו. לאחר מכן תקבל את המסך הבא:
כעת בחר את קצב השידור כ- "9600" ואת היציאה אליה מחובר הארדואינו שלך ואז לחץ על התחל כדי להתחיל בהזרמת הנתונים. הערכים שלך צריכים להתחיל להיות מחוברים כמו שמוצג בתמונה למטה.
כך תוכלו לבנות מכשיר סינון טמפרטורה ללא מגע ולאחסן את הנתונים בגליון Excel.
בסוף העבודה מופיע סרטון עבודה וקוד מלא.