תוכן עניינים:

כיצד לבנות מערכת לאיתור תנועה באמצעות Arduino: 7 שלבים
כיצד לבנות מערכת לאיתור תנועה באמצעות Arduino: 7 שלבים

וִידֵאוֹ: כיצד לבנות מערכת לאיתור תנועה באמצעות Arduino: 7 שלבים

וִידֵאוֹ: כיצד לבנות מערכת לאיתור תנועה באמצעות Arduino: 7 שלבים
וִידֵאוֹ: עשר הנשים הכי גבוהות בעולם┃טופטן 2024, יולי
Anonim
כיצד לבנות מערכת לאיתור תנועה באמצעות Arduino
כיצד לבנות מערכת לאיתור תנועה באמצעות Arduino

בנה מונה לייצור תנועה ונוכחות באמצעות HUZZAH נוצה המתוכנת עם Arduino ומופעל על ידי Ubidots.

זיהוי תנועה פיזית ויעילות נוכחות בבתים חכמים וייצור חכם יכול להיות שימושי מאוד ביישומים הנעים בין פתרונות קשישים לסביבת חיים (AAL) או מערכת ספירת ייצור המזינה MES גדול יותר. יישומים אחרים לזיהוי תנועה ונוכחות כוללים אך אינם מוגבלים ל:

  1. אוטומציה של דלתות ושערים
  2. חיישני חניה לייעוד מקומות פנויים
  3. ניטור מפלס טנק מרחוק
  4. בתים חכמים ומתקנים לתאורה ואבטחה
  5. יחידות זיהוי וספירה בקווי מסוע
  6. זיהוי סימנים על חומרים מודפסים
  7. זיהוי נוזלים בתוך טיפות קרטון, פלסטיק ונייר
  8. זיהוי מרחק
  9. אנשים מונים

אמנם ישנם יישומים רבים לנוכחות ותנועה, אך ישנם חיישנים רבים לא פחות לאסוף נתונים, כגון חיישנים קיבוליים, אינדוקטיביים, פוטואלקטריים ואולטראסוניים. בהתאם לעלויות, תנאי הסביבה ודרישות הדיוק, יש לבחור את החומרה המתאימה ביותר לסביבה ולדרישות היישום.

להדרכה זו נתמקד בבניית מונה ייצור בזמן אמת; האפליקציה תספור כל יחידה שעוברת על מסוע. אנו נשתמש ב- Arduino IDE לתכנת Feather HUZZAH ESP8266, חיישן אולטרסוני, ו- Ubidots כדי לפתח את היישום שלנו ולהציג את לוח המחוונים של IoT.

שלב 1: דרישות

  1. נוצה HUZZAH עם ESP8266MB7389-100
  2. חיישן קולי
  3. Arduino IDE 1.8.2 ומעלה
  4. חשבון Ubidots -or -STEM רישיון

שלב 2: התקנה

  • I התקנת חומרה
  • II. הגדרת קושחה
  • III. פיתוח אפליקציות של Ubidots (אירועים, משתנים ולוחות מחוונים)

שלב 3: התקנת חומרה

התקנת חומרה
התקנת חומרה
התקנת חומרה
התקנת חומרה

החיישן האולטרא סאונד MB7389-100 הוא אפשרות בעלות נמוכה ליישומים תעשייתיים עם דרישות צריכת טווח רחב וצריכת חשמל נמוכה בתנאי מזג אוויר מאתגרים הודות לדירוג IPv67.

כדי להתחיל, שיקפו את התרשים שלהלן כדי לחבר את החיישן האולטראסוני ל- FUER HUZZAH ESP8266.

הערה: קריאת החיישן יכולה להיות קריאה אנלוגית או PWM; להלן נסביר את ההתקנה לקריאת PWM, למידע נוסף עיין בדוגמאות המוצגות למעלה.

[אופציונלי] הנח את בקר הבקר והחיישנים בתוך מארז ה- IP67 כדי להגן עליהם מפני אבק, מים וגורמים סביבתיים מאיימים אחרים. המארז הסטנדרטי נראה דומה לזה שמוצג בתמונות למעלה.

שלב 4: הגדרת קושחה

הגדרת קושחה
הגדרת קושחה
הגדרת קושחה
הגדרת קושחה

ראשית, עליך להתקין את חוזה הנוצות ב- Arduino IDE ולרכז את הקוד. זכור לאמת הגדרה זו על ידי ביצוע בדיקה מהבהבת פשוטה. למידע נוסף על חיבור מכשיר ה- Feather שלך עיין במדריך שימושי זה להגדרת חומרה.

כדי לשלוח נתוני חיישנים לפלטפורמת הפיתוח IoT של Ubidots, העתק והדבק את הקוד למטה ב- Arduino IDE. זכור להקצות את שם רשת ה- Wi-Fi, הסיסמה ואת אסימון חשבון Ubidots שלך כפי שצוין בקוד.

/****************************** כלול ספריות *************** *****************##כולל /***************************** ** קבועים וחפצים ***************************** //*Ubidots*/const char*SSID_NAME = "xxxxxxxx"; // שים כאן את שם ה- SSID שלך בשם charst* SSID_PASS = "xxxxxxxx"; // שים כאן את הסיסמה שלך const char* TOKEN = "Assig_your_ubidots_token"; // שים כאן את התו TOKENconst שלך* DEVICE_LABEL = "בקרת תנועה"; // תווית המכשיר שלך תמצית* VARIABLE_LABEL = "מרחק"; // המשתנה שלך labelconst char* USER_AGENT = "ESP8266"; const char* VERSION = "1.0"; const char* HTTPSERVER = "industrial.api.ubidots.com"; // משתמשי עסקים של Ubidots // const char* HTTPSERVER = " things.ubidots.com "; // Ubidots משתמשים חינוכיים ב- HTTPPORT = 80;/ * חיישן קולי */const int pwPin1 = 5; // סיכת PWM שבה החיישן מחובר WiFiClient clientUbi;/******************************* פונקציות עזר *** ******************************* מקבל את אורך משתנה body @arg את הגוף של סוג char @return data הרשה את אורך המשתנה*/int dataLen (char* משתנה) {uint8_t dataLen = 0; for (int i = 0; i distance / 25.4* / float distance = pulseIn (pwPin1, HIGH); sendToUbidots (DEVICE_LABEL, VARIABLE_LABEL, distance); delay (1000);} void sendToUbidots (const char* device_label, const char* variable_label, sensor_value float) {char * body = (char *) malloc (sizeof (char) * 150); char * data = (char *) malloc (sizeof (char) * 300); / * שטח לאחסון ערכים לשלוח * / char str_val [10]; /*---- הופך את ערכי החיישנים לסוג צ'אר -----* / /*4 הוא רוחב מינינום, 2 הוא דיוק; ערך הצפה מועתק אל str_val* / dtostrf (sensor_value, 4, 2, str_val); /* בונה את הגוף שיישלח לבקשה* /sprintf (body, "{"%s / ":%s}", variable_label, str_val); /* בונה את HTTP בקשה להיות POST */sprintf (נתונים, "POST /api/v1.6/devices/%s", device_label); sprintf (data, "%s HTTP/1.1 / r / n", data); sprintf (data, "%sHost: things.ubidots.com / r / n", data); sprintf (data, "%sUser-Agent:%s/%s / r / n", data, USER_AGENT, VERSION); sprintf (data, " %sX-Auth-Token: %s / r / n", data, TOKEN); ספרינט f (נתונים, "%s חיבור: קרוב / r / n", נתונים); sprintf (data, "%sContent-Type: application/json / r / n", data); sprintf (data, " %sContent-Length: %d / r / n / r / n", data, dataLen (body)); sprintf (נתונים, "%s%s / r / n / r / n", נתונים, גוף); / * חיבור ראשוני */ clientUbi.connect (HTTPSERVER, HTTPPORT); / * אמת את חיבור הלקוח */ if (clientUbi.connect (HTTPSERVER, HTTPPORT)) {Serial.println (F ("פרסום המשתנים שלך:")); Serial.println (נתונים); / * שלח את בקשת HTTP */ clientUbi.print (נתונים); } / * בזמן שהלקוח זמין קרא את תגובת השרת * / while (clientUbi.available ()) {char c = clientUbi.read (); Serial.write (ג); } / * זיכרון פנוי * / פנוי (נתונים); גוף חופשי); / * עצור את הלקוח */ clientUbi.stop ();}

טיפ: תוכל לבדוק אם המכשיר שלך מחובר כראוי על ידי פתיחת הצג הטורי ב- Arduino IDE.

אתה יכול לוודא שמכשיר נוצר במערך האחורי של Ubidots על ידי צפייה בו בחשבונך ניהול מכשירים -> מכשירים.

על ידי לחיצה על המכשיר שלך, תמצא משתנה בשם "מרחק" שבו מאוחסנים קריאות החיישן. שם זה הוקצה בקוד שהדבקת זה עתה ב- Arduino IDE. אם ברצונך להתאים את המשתנים האוטומטיים שלך, אנא עשה זאת על ידי עריכת כרטיס ההתקן או על ידי הברקה של קוד מעודכן עם המינוח הנכון של המשתנה עבור היישום שלך.

מכיוון ש- Feather HUZZAH ESP8266 מחובר ונתוני דיווח ל- Ubidots, הגיע הזמן לבנות את האפליקציה באמצעות תצורת יישומים ללא קוד שתוכנן בקפידה.

שלב 5: פיתוח אפליקציות של Ubidots

פיתוח אפליקציות של Ubidots
פיתוח אפליקציות של Ubidots
פיתוח אפליקציות של Ubidots
פיתוח אפליקציות של Ubidots
פיתוח אפליקציות של Ubidots
פיתוח אפליקציות של Ubidots

תצורת אירוע Ubidots

הקריאות הנוכחיות שאנו שולחים ל- Ubidots הן תשומות מרחק. על מנת לתרגם את הקריאות לפלט הרצוי שאנו רוצים -יחידות נספרות - עלינו ליצור אירוע בהתאם לשלבים הבאים:

  1. בתוך המכשיר הנוכחי "בקרת תנועה" צור משתנה ברירת מחדל חדש בשם "תיבות", שיקבל 1 בכל פעם שיחידה חדשה נספרת.
  2. עבור אל ניהול מכשירים -> אירועים ולחץ על סמל הפלוס הכחול בפינה השמאלית העליונה של הדף כדי להוסיף אירוע חדש.
  3. הגדר את האירוע שלך החל מ- "אם מפעילים":
  • בחר משתנה: "מרחק"
  • ערך: ערך (ברירת מחדל)
  • הוא פחות או שווה ל [המרחק הצפוי המרבי} בין החיישן לתיבות החולפות ליד*היישום שלנו דורש 500 מ"מ
  • למשך 0 דקות
  • להציל

4. לאחר הגדרת הטריגרים למפרטי היישום שלך, לחץ על סמל הכתום "פלוס" בפינה השמאלית העליונה כדי להוסיף פעולה מותנית.

5. בחר "הגדר משתנה" כפעולה.

6. לאחר מכן, בחר את משתנה ברירת המחדל שנוצר בעבר "תיבות" וערך "1".

7. שמור שינויים. אם האירוע מוגדר כראוי, הוא ישלח "1" בכל פעם שהמרחק בין החיישן ליחידה גדול מסף המצוין, מה שמרמז שאין אובייקט ליד - וצריך לספור יחידה חדשה שזה עתה עברה.

בכרטיס ההתקן הספציפי של נוצה, תגלו שהמשתנה "תיבות" שאליו נשלחת "1" בכל פעם שנוכחת יחידה.

שימושי במיוחד עבור מסוע תעשייתי וספירת יחידות אב טיפוס זה יכול להיות מותאם אישית כך שיתאים לסביבות או חומרה שונות פשוט בקידוד שלך או בפיתוח היישומים שלך.

8. דמיינו את מספר היחידות שנחשפו (או פעמים בהן אובחן אובייקט) כעת, בעזרת משתנה "תיבות", אנו הולכים ליצור משתנה חלון מתגלגל חדש כדי לסכם את כמות הקריאות הכוללת המתקבלת מהמשתנה "תיבות" ב- ספאם מוגדר (דקות, שעות, ימים, שבועות וכו '). כדי לבצע פיתוח זה, בצע את השלבים הפשוטים הבאים:

הקצה את האישורים הבאים למשתנה החלון המתגלגל החדש שלך

בחר מכשיר: בקרת תנועה (או שם המכשיר שאתה שולח את הנתונים שלך)

בחר משתנה: תיבות

חשב את: סכום

כל: "שעה" (או בהתאם לבקשות הבקשה שלך)

כעת הקצה שם למשתנה החדש המציין את מספר התיבות (או התנועות) שנספרו בשעה, בדיוק כמו "תיבות/שעה" או "יחידות/שעות.

שלב 6: תצורות לוח מחוונים

תצורות לוח מחוונים
תצורות לוח מחוונים

לבסוף, צור לוח מחוונים להצגת מספר היחידות שנרשמו.

עבור אל ניהול מכשירים -> לוחות מחוונים והוסף ווידג'ט חדש. יישומון זה יציג את כמות הקופסאות שנספרות היום מחולקות לפי שעות.

הקצה את האישורים הבאים לווידג'ט החדש שלך כדי לדמיין את הספירה שלך.

איך היית רוצה לראות את הנתונים שלך ?: תרשים

בחר סוג יישומון: תרשים קווים

הוסף מכשיר: בקרת תנועה

הוסף משתנה: קופסאות/שעה

סיים. ועם פיתוח לוח המחוונים הסופי הזה - היישום שלך הושלם ועכשיו יש לך מערכת יעילה ויעילה לאיתור תנועה ונוכחות. להלן מבט אחרון על התוצאות שלנו.

מוּמלָץ: