בפרויקט זה אנו הולכים לממשק את מודול חיישן האולטרה סאונד HC-SR04 לפטל פי כדי למדוד מרחק. השתמשנו בעבר בחיישן אולטרסאונד עם Raspberry Pi לבניית רובוט של מכשולים. לפני שתמשיך הלאה, יידע על חיישן אולטרה סאונד.
חיישן קולי HC-SR04:
החיישן הקולי משמש למדידת המרחק בדיוק רב וקריאות יציבות. זה יכול למדוד מרחק בין 2 ס"מ ל 400 ס"מ או מ 1 אינץ 'ל 13 מטר. הוא פולט גל אולטרסאונד בתדר של 40 קילוהרץ באוויר ואם האובייקט יבוא בדרכו הוא יקפוץ בחזרה לחיישן. על ידי שימוש באותו זמן שלוקח להכות את האובייקט וחוזר, אתה יכול לחשב את המרחק.
החיישן הקולי משתמש בטכניקה הנקראת "ECHO". "ECHO" הוא פשוט גל קול משתקף. יהיה לך ECHO כאשר הצליל ישקף לאחור לאחר שהגיע למבוי סתום.
מודול HCSR04 מייצר רטט קול בטווח קולי כאשר אנו הופכים את סיכת 'הדק' לגבוהה במשך כ -10US אשר תשלח פרץ קולי בעל 8 מחזורים במהירות הצליל ולאחר פגיעה באובייקט, הוא יתקבל על ידי סיכת ההד. תלוי בזמן שלקח רטט הקול לחזור, הוא מספק פלט דופק מתאים. אם האובייקט רחוק אז לוקח ל- ECHO זמן רב יותר להישמע ורוחב הדופק ביציאה יהיה גדול. ואם המכשול קרוב, ה- ECHO יישמע מהר יותר ורוחב הדופק של הפלט יהיה קטן יותר.
אנו יכולים לחשב את מרחק האובייקט על סמך הזמן שלוקח הגל הקולי לחזור לחיישן. מכיוון שזמן ומהירות הצליל ידוע נוכל לחשב את המרחק לפי הנוסחאות הבאות.
- מרחק = (זמן x מהירות הצליל באוויר (343 m / s)) / 2.
הערך מחולק בשניים מאחר והגל נע קדימה ואחורה באותו מרחק, ולכן הזמן להגיע למכשול הוא רק מחצית מהזמן הכולל שנלקח
אז מרחק בסנטימטר = 17150 * T
ביצענו בעבר פרויקטים שימושיים רבים באמצעות חיישן קולי זה וארדואינו, בדוק אותם למטה:
- מדידת מרחק מבוסס ארדואינו באמצעות חיישן אולטרה סאונד
- אזעקת דלת באמצעות ארדואינו וחיישן קולי
- ניטור Dumpster מבוסס IOT באמצעות Arduino
רכיבים נדרשים:
כאן אנו משתמשים ב- Raspberry Pi 2 דגם B עם Raspbian Jessie OS. כל דרישות החומרה והתוכנה הבסיסיות נדונו בעבר, אתה יכול לחפש את זה במבוא Raspberry Pi ו- Raspberry PI LED מהבהב להתחלה, מלבד זה שאנחנו צריכים:
- Raspberry Pi עם מערכת הפעלה מותקנת מראש
- חיישן קולי HC-SR04
- ספק כוח (5V)
- נגד 1KΩ (3 חתיכות)
- קבל 1000uF
- LCD עם 16 * 2 תווים
הסבר מעגל:
החיבורים בין Raspberry Pi ו- LCD ניתנים בטבלה שלהלן:
חיבור LCD |
חיבור פטל |
GND |
GND |
VCC |
+ 5 וולט |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
במעגל זה השתמשנו בתקשורת 8 ביט (D0-D7) כדי לחבר LCD עם Raspberry Pi, אולם זה לא חובה, אנו יכולים גם להשתמש בתקשורת 4 סיביות (D4-D7), אבל עם תוכנית תקשורת של 4 סיביות הופכת קצת מורכב למתחילים אז פשוט ללכת עם תקשורת של 8 סיביות. כאן חיברנו 10 פינים של LCD ל- Raspberry Pi, בהם 8 פינים הם פינים של נתונים ו -2 פינים הם סיכות שליטה.
להלן תרשים המעגל לחיבור חיישן HC-SR04 ו- LCD עם Raspberry Pi למדידת המרחק.
כפי שמוצג באיור, חיישן קולי HC-SR04 כולל ארבעה פינים,
- PIN1- VCC או + 5V
- PIN2- טריגר (10US הדופק הגבוה ניתן לחיישן לחוש את המרחק)
- PIN3- ECHO (מספק פלט דופק שרוחבו מייצג מרחק אחרי הדק)
- PIN4- קרקע
פין הד מספק + דופק פלט של 5 וולט שלא ניתן לחבר אותו לפטל פטל ישירות. אז נשתמש במעגל מתח מחיצות (בנוי באמצעות R1 ו- R2) כדי לקבל לוגיקה + 3.3 וולט במקום לוגיקה + 5 וולט.
הסבר עבודה:
העבודה המלאה של Raspberry Pi Distance Measure הולכת כמו, 1. מפעילים את החיישן על ידי משיכת סיכת ההדק למעלה למשך 10uS.
2. גל הקול נשלח על ידי החיישן. לאחר קבלת ה- ECHO, מודול החיישן מספק פלט פרופורציונאלי למרחק.
3. נרשום את הזמן בו דופק המוצא עובר מ- LOW ל- HIGH וכאשר שוב כאשר זה יוצר HIGH ל- LOW.
4. יהיה לנו זמן התחלה ועצירה. נשתמש במשוואת מרחק כדי לחשב את המרחק.
5. המרחק מוצג בתצוגת LCD בגודל 16x2.
בהתאם לכך כתבנו את תוכנית ה- Python עבור Raspberry Pi כדי לבצע את הפונקציות הבאות:
1. לשליחת הדק לחיישן
2. הקלט זמן התחלה ועצירה של יציאת הדופק מהחיישן.
3. לחישוב המרחק באמצעות זמן START ו- STOP.
4. להצגת התוצאה שהושגה על גבי LCD * 16 * 2.
התוכנית המלאה וסרטון ההדגמה מובאות להלן. התוכנית מוסברת היטב באמצעות ההערות, אם יש לך ספק אתה יכול לשאול בסעיף התגובות למטה.