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

זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד: 4 שלבים
זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד: 4 שלבים

וִידֵאוֹ: זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד: 4 שלבים

וִידֵאוֹ: זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד: 4 שלבים
וִידֵאוֹ: Aqara FP2 RTCZCQ12LM - גלאי נוכחות מיקרוגל רב אזורי עם חיישן אור 2024, יולי
Anonim
זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד
זיהוי מכשולים באופן אסינכרוני באמצעות אולטרסאונד

אני בונה בשביל הכיף רובוט שאני רוצה להעביר באופן אוטונומי בתוך בית.

זו עבודה ארוכה ואני עושה צעד אחר צעד.

ההתמקדות המתאימה הזו באיתור מכשולים עם Arduino Mega

חיישנים אולטרסאונד HC-SR04 לעומת HY-SRF05 זולים ופשוטים לשימוש אך יכולים להיות קשים לשילוב בלולאת המיקרו-בקר ברובוט מורכב. רציתי להריץ זיהוי מכשולים בצורה אסינכרונית.

_

כבר פרסמתי 3 הוראות על תכונות הרובוט הזה:

  • הפוך את מקודד הגלגלים שלך
  • צור את שער ה- WIFI שלך
  • השתמש ביחידת מודול אינרציה

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

שלב 1: מה הבעיה בדיוק עם חיישנים ואולטרה סאונד ובקרים?

מה הבעיה בדיוק עם חיישנים אולטראסוניים ובקרי מיקרו?
מה הבעיה בדיוק עם חיישנים אולטראסוניים ובקרי מיקרו?
מה הבעיה בדיוק עם חיישנים אולטראסוניים ובקרי מיקרו?
מה הבעיה בדיוק עם חיישנים אולטראסוניים ובקרי מיקרו?

המתנה סינכרונית ומגבלות ארדואינו

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

אז רציתי לפתח אובייקט שפועל באופן אסינכרוני.

שלב 2: איך זה עובד?

איך זה עובד ?
איך זה עובד ?

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

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

הפונקציות העיקריות הן:

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

שלב 3: פרטים טכניים

השתמש בטיימר 4 כך שסיכה 6 7 8 לא תוכל לשמש כ- PWM.

לכל חיישן האובייקט זקוק ל- PIN ההדק ו- PIN להפרעה.

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

שלב 4: כיצד ליישם?

איך מיישמים?
איך מיישמים?

חבר את החיישנים כמפורט לעיל

הורד ממאגר GitHub זה

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ExampleEchoObstacleDetection.ino

צור את ספריית EchoObstacleDetection בתוך ספריית IDE שלך והעבר את.cpp ו-.h

תבחן את זה

פתח את exampleEchoObstacleDetection.ino.

זוהי דוגמא פשוטה לזיהוי מכשולים עם 2 חיישנים אולטראסוניים.

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

מוּמלָץ: