- רכיבים נדרשים
- קישור API לקבלת Corona Live Data
- תרשים מעגל
- תכנות ESP32 עבור Tracker Covid19
- בדיקת מכשיר החיטוי האוטומטי עם גשש Covid19
נגיף קורונה (Covid19) זורע הרס בעולם. כמעט כל מדינה סובלת מוירוס הקורונה. ארגון הבריאות העולמי כבר הודיע כי מדובר במחלת פנדמיה וערים רבות נמצאות במצב נעול, אנשים אינם יכולים לצאת מבתיהם ואלפים קיפחו את חייהם. אתרים רבים מספקים עדכונים חיים של מקרי וירוס העטרה כמו הגשש של מיקרוסופט, הגשש Covid19 של Esri וכו '.
בפרויקט זה, אנו בונים מתקן אוטומטי לחיטוי ידיים עם LCD המציג גם את המספר החי של מקרי Coronavirus. בפרויקט זה ישתמשו ב- ESP32, חיישן קולי, מודול LCD 16x2, משאבת מים וחיטוי ידיים. אנו משתמשים ב- API Explorer של Esri כדי לקבל את הנתונים החיים של אנשים נגועים ב- Covid19. נעשה שימוש בחיישן קולי לבדיקת נוכחות הידיים מתחת לשקע מכונת החיטוי. זה יחשב ברציפות את המרחק בין שקע החיטוי לעצמו ויגיד ל- ESP להפעיל את המשאבה בכל פעם שהמרחק קטן מ- 15 ס"מ כדי לדחוף את החיטוי החוצה.
ESP32 משמש כבקר הראשי, זהו מודול Wi-Fi שיכול להתחבר בקלות לאינטרנט. בעבר השתמשנו בו לבניית פרויקטים רבים מבוססי IoT באמצעות ESP32.
רכיבים נדרשים
- מודול Dev ESP32
- חיישן קולי
- 16 * 2 תצוגת LCD
- מודול ממסר
- משאבת צוללת מיני DC
- חומר לחיטוי ידיים
קישור API לקבלת Corona Live Data
כאן עלינו לקבל את הנתונים מהאינטרנט ואז לשלוח אותם ל- ESP32 כדי להציג אותם על גבי 16x2 LCD. לשם כך, בקשת HTTP מקבל מופעלת לקריאת קובץ JSON מהאינטרנט. כאן אנו משתמשים בממשק ה- API המסופק על ידי GIS Hub של מחלת Coronavirus. אתה יכול בקלות לאסוף את כתובת ה- URL של השאילתה הנכונה כדי לקבל את סך המקרים המאושרים והמשוחזרים עבור הודו, וגם יכול לשנות את המדינה / האזור אם ברצונך להשתמש בזה למדינה אחרת.
כעת לחץ על "נסה עכשיו" או הדבק את כתובת האתר של השאילתה בדפדפן חדש, הפלט של אותה שאילתה ייראה כך:
{"objectIdFieldName": "OBJECTID", "uniqueIdField": {"name": "OBJECTID", "isSystemMaintained": true}, "globalIdFieldName": "", "geometryType": "esriGeometryPoint", "spatialReference": {" wkid ": 4326," latestWkid ": 4326}," שדות ":," features ":}
לאחר קבלת נתוני JSON, כעת צרו את הקוד לקריאת נתוני JSON וניסחו אותם בהתאם לצרכים שלנו. לשם כך, עבור אל ה- ArduinoJson Assistant והדבק את נתוני JSON בקטע קלט.
כעת גלול מטה לתוכנית הניתוח והעתק את קטע הקוד שימושי עבורך. העתקתי את המשתנים שלהלן מכיוון שהייתי זקוק רק למקרים שאושרו והוחזרו בהודו.
תרשים מעגל
תרשים המעגל המלא למכונת מתקן חיטוי ידני Covid19 ומכשיר אוטומטי לחיטוי ידיים מופיע להלן
משאבת המים מחוברת ל- ESP32 באמצעות מודול ממסר. סיכות Vcc ו- GND של הממסר מחוברות לסיכות Vin ו- GND של ESP32 בעוד שסיכת הקלט של הממסר מחוברת לסיכה D19 של ESP32. סיכות טריג והד של החיישן הקולי מחוברות לסיכות D5 ו- D18 של Arduino.
חיבורים מלאים ניתנים בטבלה שלהלן.
LCD | ESP32 |
VSS | GND |
VDD | 5V |
VO | פוטנציומטר |
RS | D22 |
RW | GND |
ה | D4 |
D4 | D15 |
D5 | D13 |
D6 | D26 |
D7 | D21 |
א | 5V |
ק | GND |
חיישן קולי | ESP32 |
Vcc | וין |
GND | GND |
טְרִיגוֹנוֹמֶטרִיָה | D5 |
הֵד | D18 |
החומרה עבור מתקן חיטוי ידני לחיישן תנועה ייראה כך
תכנות ESP32 עבור Tracker Covid19
קוד שלם לחיטוי ידני אוטומטי ו- Tracker CORONA19 נמצא בסוף העמוד. כאן מוסברים חלקים חשובים בתכנית.
התחל את הקוד על ידי הכללת כל קבצי הספרייה הנדרשים. ספריית HTTPClient משמשת לקבלת הנתונים משרת HTTP. ספריית ArduinoJson משמשת לניסוח מערכי הנתונים. כאן משמשת ספריית ArduinoJson לסינון המקרים המאושרים ושוחזרת ממערך הנתונים שאנו מקבלים מהשרת. ספריית LiquidCrystal משמשת למודול תצוגת LCD.
#לִכלוֹל
כדי לקבל את הנתונים מהשרת, NodeMCU ESP32 צריך להתחבר לאינטרנט. לשם כך, הזן את ה- SSID והסיסמה של ה- Wi-Fi בשורות הבאות.
const char * ssid = "Galaxy-M20"; const char * pass = "ac312124";
לאחר מכן הגדירו את הפינים שבהם חיברתם את מודול ה- LCD, את חיישן האולטרה סאונד ומודול הממסר.
const int rs = 22, en = 4, d4 = 15, d5 = 13, d6 = 26, d7 = 21; LiquidCrystal lcd (rs, en, d4, d5, d6, d7); const int trigPin = 5; const int echoPin = 18; משאבת const int = 19;
כעת אנו נכנסים לקישור ה- API שנוצר קודם לכן. באמצעות קישור זה, נקבל את סך המקרים שאושרו ואת המקרים ששוחזרו בהודו. אתה יכול לשנות את שם המדינה בכתובת ה- URL בהתאם.
constchar * url = "https://services1.arcgis.com/0MSEUqKaxRlEPj5g/arcgis/rest/services/ncov_cases/FeatureServer/1/query?f=json&where=(Country_Region=%27India%27)&returnGeometry=false&outFields, התאושש ";
כעת בתוך הגדרת הריק () , הגדירו את סיכת ההדק וההד של החיישן האולטראסוני כסיכות קלט וסיכת הממסר כפלט.
pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (משאבה, OUTPUT);
כדי ללמוד עוד על אופן הפעולה של חיישן אולטרה סאונד, בדוק את הממשק שלו לארדואינו שם הסברנו את הפונקציה של סיכה TRIG ו- ECHO יחד עם אופן השימוש בו לחישוב המרחק בין כל אובייקט. כמו כן, בדוק פרויקטים אחרים המבוססים על קולי.
לאחר מכן, בדוק אם ה- ESP מחובר לרשת ה- Wi-Fi, אם לא הוא יחכה ל- ESP להתחבר על ידי הדפסת "….." על הצג הסדרתי.
WiFi.begin (ssid, pass); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (500); Serial.print ("."); // הדפס… עד שלא מחובר} Serial.println ("WiFi מחובר");
בתוך פונקציית ה- ultra () הריק אנו נחשב את המרחק ברציפות באמצעות חיישן קולי ואם המרחק קטן או שווה ל 15 ס"מ, אז הוא יפעיל את המשאבה למשך 2 שניות כדי לדחוף את החיטוי החוצה דרך הצינור. באופן בלתי מודע כאשר מישהו מכניס את ידיו מתחת לצינור היציאה, המרחק יקטן וזה יגרום להפעלת המשאבה.
בטל ultra () {digitalWrite (trigPin, LOW); עיכוב מיקרו-שניות (2); digitalWrite (trigPin, HIGH); עיכוב מיקרו-שניות (10); digitalWrite (trigPin, LOW); משך = pulseIn (echoPin, HIGH); מרחק = משך * 0.0340 / 2; Serial.println ("מרחק"); Serial.println (מרחק); אם (מרחק <= 15) {Serial.print ("משאבת פתיחה"); digitalWrite (משאבה, HIGH); עיכוב (2000); digitalWrite (משאבה, LOW); ESP.restart (); }}
כעת, בתוך פונקציית loop void () , בדוק אם קובץ JSON שהתקבל על ידי ESP32 על ידי קריאתו והדפסת נתוני JSON על הצג הטורי באמצעות השורות הבאות
int httpCode = https.GET (); אם (httpCode> 0) {// בדוק אם הקוד חוזר מחרוזת מטען = https.getString ();
לאחר מכן, השתמש בתוכנית הניסוח שנוצרה מעוזר ArduinoJson. תוכנית ניסוח זו תיתן לנו את סך המקרים שאושרו והתאוששו בהודו.
שדות JsonArray = doc; JsonObject features_0_attributes = doc; long features_0_attributes_Last_Update = features_0_attributes; int features_0_attributes_Confirmed = features_0_attributes; // int features_0_attributes_Deaths = features_0_attributes; int features_0_attributes_Recovered = features_0_attributes;
בדיקת מכשיר החיטוי האוטומטי עם גשש Covid19
אז סוף סוף מתקן לחיטוי הידיים המופעל באמצעות סוללות מוכן לבדיקה. פשוט חבר את החומרה לפי דיאגרמת המעגל והעלה את התוכנית ל- ESP32, בהתחלה אתה אמור לראות את ההודעה "Covid19 Tracker" ו- "Sanitizer Hand" על גבי LCD ואז לאחר מספר שניות היא תציג מקרים מאושרים ומקרים ששוחזרו מסך LCD כמוצג להלן.
בדומה לכך, תוכל לקבל נתונים אלה לכל מדינה על ידי ביצוע שינויים בקישור ה- API. בסוף העבודה מופיע סרטון עבודה מלא וקוד.