תוכן עניינים:
- שלב 1: משאבים
- שלב 2: הבנת אופן הפעולה של זיהוי אינפרא אדום (אופציונלי)
- שלב 3: הרכבת נוריות IR
- שלב 4: בדיקת זוגות אינפרא אדום - מעגל
- שלב 5: בדיקת זוגות אינפרא אדום - קוד בסיסי
- שלב 6: בדיקת זוגות אינפרא אדום - חומרה + תוכנה
- שלב 7: פתרון בעיות (לבעיות עם השלב האחרון)
- שלב 8: זוג IR שני
- שלב 9: זיהוי הפרעות אינפרא אדום (אופציונלי)
- שלב 10: הוספת זוגות IR נוספים
- שלב 11: חמישה זוגות IR - מעגל
- שלב 12: חמישה זוגות IR - קוד
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
מדריך זה ידגים כיצד לבנות ולקודד Boe-Bot שיכול לנווט במבוך באמצעות גלאי אינפרא אדום כדי להימנע ממכשולים. זהו מדריך קל לביצוע המאפשר שינויים קלים בהתאם לצרכיך. זה דורש הבנה בסיסית של מעגלים ותכנות. יהיה עליך להחזיק בתוכנת BASIC Stamp IDE לפרויקט זה. להורדה בחינם כאן. כמו גם רובוט Boe-Bot
שלב 1: משאבים
רכיבים אלקטרוניים
Boe -Bot עם כבל מחברים Parallax Store - ערכת BoeBot
חנות פרלקסים של אינפרא אדום LED - ערכת הרכבה של משדר IR
5 מכלולי מגן אינפרא אדום
5 חנות Parallax גלאי אינפרא אדום - מקלט IR BoeBot
נגדים
- (2) 4.7 kΩ ABRA אלקטרוניקה - 4.7 kΩ
- (5) 220 Ω ABRA אלקטרוניקה - 220 Ω
- (2) 1 kΩ ABRA אלקטרוניקה - 1 kΩ
- (5) 2 k ABRA אלקטרוניקה - 2 kΩ
חיווט מגוון ABRA אלקטרוניקה - חוט מד 22
3 LED's ABRA Electronics - LED אדום 5 מ מ
תמיכה
מַחשֵׁב
עורך בולים BASIC - (תוכנה חופשית)
כלים
חוט חוט ABRA אלקטרוניקה - חותך תיל (אופציונלי)
חשפן חוטים ABRA אלקטרוניקה - חשפן חוטים
שונות
קירות (לבניית מבוך)
שלב 2: הבנת אופן הפעולה של זיהוי אינפרא אדום (אופציונלי)
פנסי אינפרא אדום
מערכת זיהוי אובייקטים אינפרא אדום שנבנה על Boe-Bot היא כמו פנסי מכונית בכמה היבטים. כאשר האור מפנסי המכונית משקף מכשולים, העיניים שלך מזהות את המכשולים והמוח שלך מעבד אותן וגורם לגוף שלך להנחות את המכונית בהתאם. ה- Boe-Bot ישתמש בנורות אינפרא אדום לפנסים. הם פולטים אינפרא אדום, ובמקרים מסוימים האינפרא אדום משקף אובייקטים וחוזר חזרה לכיוון ה- Boe-Bot. עיני ה- Boe-Bot הן גלאי האינפרא אדום. גלאי האינפרא אדום שולחים אותות המציינים אם הם מזהים אינפרא אדום המוחזר מאובייקט או לא. המוח של Boe-Bot, חותמת BASIC, מקבל החלטות ומפעיל את מנועי הסרוו המבוססים על קלט חיישן זה. איור 7-1 זיהוי אובייקטים עם פנסי IR לגלאי ה- IR יש מסננים אופטיים מובנים המאפשרים מעט מאוד אור למעט אינפרא אדום 980 ננומטר שברצוננו לזהות בעזרת חיישן הפוטודיודה הפנימי שלו. לגלאי האינפרא אדום יש גם מסנן אלקטרוני המאפשר לעבור לאותות בסביבות 38.5 קילוהרץ בלבד. במילים אחרות, הגלאי מחפש רק אינפרא אדום המהבהב וכיבוי 38, 500 פעמים בשנייה. זה מונע הפרעות IR ממקורות נפוצים כגון אור שמש ותאורה פנימית. אור השמש הוא הפרעות DC (0 הרץ), והתאורה הפנימית נוטה להבהב ולכבות במהירות של 100 או 120 הרץ, בהתאם למקור החשמל הראשי באזור. מכיוון ש -120 הרץ נמצא מחוץ לתדר המעבר של ה 38.5 קילוהרץ של המסנן האלקטרוני, גלאי ה- IR מתעלמים ממנו לחלוטין.
-מדריך תלמידים של פארלקס
שלב 3: הרכבת נוריות IR
הכנס את נורית ה- IR לחלק הגדול יותר של המעטפת
סגרו את החלק הברור של ה- LED עם החלק הקטן יותר של המעטפת
שלב 4: בדיקת זוגות אינפרא אדום - מעגל
לפני שנכנס לעומק מדי במשהו, נבדוק כדי לוודא שזוג ה- IR פועל (LED אינפרא אדום וגלאי אינפרא אדום אחד).
התחל בבניית המעגל הנ ל בלוח הלחם המותקן על גבי Boe-Bot שלך
שלב 5: בדיקת זוגות אינפרא אדום - קוד בסיסי
כמובן שנצטרך לכתוב קוד כדי שזוגות ה- IR שלנו יעבדו
לשם כך, ישתמש בפקודה FREQOUT. פקודה זו תוכננה לצלילי שמע, אולם ניתן להשתמש בה לייצור תדרים בטווח האינפרא אדום. לבדיקה זו נשתמש בפקודה:
FREQOUT 8, 1, 38500
זה ישלח תדר של 38.5 קילוהרץ שנמשך 1 אלפיות השנייה ל- P8. מעגל ה- LED האינפרא אדום המחובר ל- P8 ישדר תדר זה. אם האור האינפרא אדום מוחזר לאתר ה- Boe-Bot על ידי אובייקט הנמצא בדרכו, גלאי האינפרא אדום ישלח לחותמת BASIC אות שיודיע לו כי האור האינפרא אדום המוחזר זוהה.
המפתח לגרום לזוג IR לפעול הוא לשלוח 1 ms של 38.5 קילוהרץ FREQOUT ולשמור באופן מיידי את תפוקת גלאי ה- IR במשתנה.
דוגמה זו מציגה את אחסון הערך גלאי IR במשתנה קצת בשם irDectectLeft
FREQOUT 8, 1, 38500
irDetectLeft = IN9
מצב הפלט של גלאי ה- IR כאשר הוא אינו רואה אות IR גבוה. כאשר גלאי ה- IR רואה את ההרמוניה 38500 הרץ המוחזרת על ידי אובייקט, תפוקתו נמוכה. תפוקת גלאי ה- IR נשארת נמוכה רק לשבריר של אלפית השנייה לאחר ביצוע הפקודה FREQOUT בשליחת ההרמונית, ולכן חיוני לאחסן את פלט גלאי ה- IR במשתנה מיד לאחר שליחת הפקודה FREQOUT. לאחר מכן ניתן להציג את הערך המאוחסן על ידי המשתנה במסוף באגים או להשתמש בו להחלטות ניווט על ידי Boe-Bot.
שלב 6: בדיקת זוגות אינפרא אדום - חומרה + תוכנה
כעת, כאשר אתה יודע את היסודות, אנו יכולים לחבר את החומרה והתוכנה כדי לבדוק זוג יחד ולקבל משוב בזמן אמת ממה ש- IR מזהה.
אתה יכול לנסות ליצור את הקוד בעצמך, או להשתמש בקוד שלהלן
'{$ STAMP BS2}
'{$ PBASIC 2.5} irDetectLeft VAR Bit DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft =", BIN1 irDetectLeft PAUSE 100 LOOP
- השאר את Boe-Bot מחובר לכבל הטורי, מכיוון שתשתמש במסוף DEBUG לבדיקת זוג ה- IR שלך.
- הנח אובייקט, כגון ידך או דף נייר, במרחק של סנטימטר בערך מהזוג השמאלי של ה- IR
- ודא שכאשר אתה מציב אובייקט מול זוג ה- IR מסוף הבאגים מציג 0, וכאשר אתה מסיר את האובייקט מלפני זוג ה- IR, הוא מציג 1.
- אם מסוף הבאגים אינו מציג את הערכים הצפויים, נסה את השלבים בשלב איתור הבעיות.
שלב 7: פתרון בעיות (לבעיות עם השלב האחרון)
מסוף DEBUG המציג ערכים בלתי צפויים
בדוק אם קיים מעגל, מחברים לא במקומם או חסרים, רכיבים פגומים, נגדים לא נכונים או כל בעיה גלויה אחרת
בדוק את התוכנית משגיאות לוגיות או תחביר - אם השתמשת בקוד שלך לשלב האחרון, שקול להשתמש בקוד המצורף
תמיד מקבלים 0, גם כשאין אובייקטים מונחים מול ה- Boe-Bot
בדוק אם ישנם אובייקטים קרובים המשקפים את האות האינפרא אדום. השולחן מול ה- Boe-Bot יכול להיות הסיבה לכך. העבר את ה- Boe-Bot לחלל פתוח כך שנורית ה- IR והגלאי לא יוכלו לשקף אובייקט סמוך.
קריאה היא אחת רוב הזמן כאשר אין חפץ מול ה- Boe-Bot, אך מהבהב ל -0 מדי פעם.
ייתכן שיש הפרעה מאור ניאון סמוך; כבה את כל נורות הניאון הסמוכות וחזור על הבדיקות שלך. אם הבעיה ממשיכה, שלב 9 עשוי לחשוף את הבעיה
שלב 8: זוג IR שני
כעת, כשיש לך את התוכנית עבור ה- IR השמאלי, הגיע תורך להפוך את המעגל ולתכנת את ה- IR הנכון
- שנה את הצהרת DEBUG, הכותרת והערות כך שיתייחסו לצמד ה- IR הנכון.
- שנה את שם המשתנה מ- irDetectLeft ל- irDetectRight. יהיה עליך לעשות זאת בארבעה מקומות בתוכנית.
- שנה את הארגומנט Pin של הפקודה FREQOUT מ -8 ל -2.
- שנה את רשום הקלט המנוטר על ידי המשתנה irDetectRight מ- IN9 ל- IN0.
- חזור על שלבי הבדיקה בפעילות זו עבור זוג ה- IR הנכון; כאשר מעגל ה- LED LED מחובר ל- P2 והגלאי מחובר ל- P0.
שלב 9: זיהוי הפרעות אינפרא אדום (אופציונלי)
בין אם אתה נתקל בבעיות באיתור אותות שאסור לזהות ובין אם אתה מתכנן להפגין את זיהוי ה- IR שלך במקום חלופי, ייתכן שתרצה לבדוק הפרעות.
הרעיון של תוכנית בדיקה זו הוא די פשוט, אתה מזהה אותות אינפרא אדום מבלי לשלוח.
אתה יכול להשתמש באותו מעגל אבל תצטרך לשנות את הקוד. אתה יכול לבחור לכתוב קוד משלך, אך תוכל להשתמש בקוד המצורף להלן:
'{$ STAMP BS2}
'{$ PBASIC 2.5} bit bit irDetectLeft VAR DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 או IN0 = 0 ואז ניתוק "זיהוי הפרעות" PAUSE 100 LOOP
אם אתה נתקל בהפרעות, קבע את המקור הסביר וכבה אותו/הסר אותו או העבר למקום בו אתה מפעיל את ה- Boe-Bot שלך.
שלב 10: הוספת זוגות IR נוספים
אם אתה רוצה יותר דיוק בתנועה של ה- Boe-Bot שלך, ייתכן שתרצה להוסיף עוד זוגות IR. 3 משפר מאוד את הביצועים בהשוואה לשניים; אתה יכול להשתמש בצמד מרכזי כדי לסרוק מכשול ישיר, ולהשתמש בשני מקורות IR בצד כדי לקבוע כמה לפנות. עם זאת, הנפילה של עיצוב 3 זוגות ה- IR היא שאולי תדעו כשאתם מחליקים לקיר, מכיוון שצמד ה- IR המרכזי משמש לאיתור מכשולים. כדי לפתור בעיה זו, ניתן להוסיף זוג IR לכל צד בעל ערך התנגדות גבוה ולכן אות אינפרא אדום יתגלה רק אם ה- Boe-Bot קרוב לצד או לקיר בזווית עדינה.
שלב 11: חמישה זוגות IR - מעגל
היזהר בעת כיוון שני נוריות ה- IR בצד מכיוון שעיוותם עלול לגרום למגעים ולגרום לקצר.
שלב 12: חמישה זוגות IR - קוד
ייתכן שתרצה לנסות לתכנת את Boe-Bot שלך לפני שתשתמש בקוד זה:
'{$ STAMP BS2}' {$ PBASIC 2.5} 'חמש קוד זיהוי זוגות IR' מתיו שאו '8 במאי 2019 (גירסה 7)' זיהוי אובייקטים ועיבוד לוגי בסיסי לפתרון מבוכים
irDetectLeft VAR Bit 'משתנה לשמאל
irDetectCentre VAR Bit 'משתנה למרכז irDetectRight VAR Bit' משתנה לימין irDetectLSide VAR Bit 'משתנה לצד שמאל irDetectRSide VAR Bit' משתנה לצד ימין irDetectLSideFar VAR Bit 'משתנה לעמידות נמוכה בצד שמאל irDetectRSideFar VAR Bit' משתנה לצד ימין נמוך
mloop VAR Word
Lmotor PIN 15 'המנוע השמאלי מחובר לסיכה 14, פולסים עוברים כאן
Rmotor PIN 14 'ימין = 15
המהירויות הן-> 650-750-850
LFast CON 850 'Conastant עבור המנוע השמאלי במהירות מלאה RFast CON 650' Conastant עבור המנוע הימני במהירות מלאה
LStop CON 750 'Conastant עבור המנוע השמאלי במלוא המהירות
RStop CON 650 'Conastant עבור מנוע ימני במלוא המהירות
LMid CON 830 'Conastant עבור המנוע השמאלי במהירות בינונית
RMid CON 700 'Conastant עבור מנוע ימני במהירות בינונית
LSlow CON 770 'Conastant עבור המנוע השמאלי במהירות מינימלית
RSlow CON 730 'Conastant עבור מנוע ימני במהירות מינימלית
LRev CON 650 'Conastant עבור המנוע השמאלי במלוא המהירות לאחור
RRev CON 850 'Conastant עבור המנוע השמאלי במלוא המהירות לאחור
FREQOUT 7, 1, 38500 'צד שמאל
irDetectLeft = IN8
FREQOUT 6, 1, 38500 'מרכז
irDetectCentre = IN5
FREQOUT 3, 1, 38500 'צד ימין
irDetectRight = IN2
FREQOUT 10, 1, 38500 'שמאל סגור
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'ימין סגור
irDetectRSide = IN0
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'צד ימין
irDetectRSideFar = IN0
אם irDetectLSide = 0 AND irDetectRSide = 0 ואז הפקודה העיקרית 'התחלת פקודה' מנופפת בידיים על פני שני גלאי הצד כדי להתחיל בתוכנית
רָאשִׁי:
PAUSE 1000 DO
מנוע PULSOUT, המנוע השמאלי של LFast פועל במהירות מלאה
מנוע PULSOUT, RFast 'המנוע הימני פועל במלוא המהירות
FREQOUT 6, 1, 38500 'מרכז
irDetectCentre = IN5
FREQOUT 10, 1, 38500 'שמאל סגור
irDetectLSide = IN11
FREQOUT 1, 1, 38500 'צד ימין
irDetectRSide = IN0
אם irDetectLSide = 0 ו- irDetectRSide = 1 לאחר מכן
DO PULSOUT Lmotor, LFast
FREQOUT 6, 1, 38500 'מרכז
irDetectCentre = IN5 IF irDetectCentre = 0 ואז סנט
FREQOUT 10, 1, 38500 'שמאל סגור
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'צד ימין
irDetectRight = IN2
לולאה עד irDetectLSide = 1 או irDetectRSide = 0
ELSEIF irDetectLSide = 1 ו- irDetectRSide = 0 לאחר מכן
DO PULSOUT Rmotor, RFast
FREQOUT 6, 1, 38500 'מרכז
irDetectCentre = IN5 IF irDetectCentre = 0 ואז סנט
FREQOUT 10, 1, 38500 'שמאל סגור
irDetectLSide = IN11
FREQOUT 3, 1, 38500 'צד ימין
irDetectRight = IN2
לולאה עד irDetectLSide = 0 או irDetectRSide = 1
'ENDIF
אם irDetectCentre = 0 אז התחל
FREQOUT 7, 1, 38500 'צד שמאל irDetectLeft = IN8
FREQOUT 6, 1, 38500 'מרכז
irDetectCentre = IN5
FREQOUT 3, 1, 38500
irDetectRight = IN2
PAUSE 1000 'הפסקה להראות אות זוהה
IF (irDetectLeft = 1 AND irDetectRight = 0) לאחר מכן העריך את משך הזמן
GOSUB turnLeft
ELSEIF (irDetectLeft = 0 ו- irDetectRight = 1) ואז
GOSUB turnRight
ELSEIF (irDetectLeft = 1 ו- irDetectRight = 1) לאחר מכן
GOSUB turnDecide
אַחֵר
GOSUB turnReverse
ENDIF
סוף ENDIF
לוּלָאָה
סוֹף
פונה שמאלה:
DO PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP TOT IN0 = 1 RETURN
פנה ימינה:
DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP TOT IN9 = 1
לַחֲזוֹר
turnReverse:
עבור mloop = 0 עד 50 PULSOUT Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, FREQOUT 5, 1, 38500 irDetectRight = IN0 LOOP TOT IN9 = 1
לַחֲזוֹר
turnDecide: 'משתמש בהתנגדות נמוכה יותר כדי לראות יותר
FREQOUT 9, 1, 38500
irDetectLSideFar = IN11
FREQOUT 4, 1, 38500 'צד ימין
irDetectRSideFar = IN0
IF (irDetectLSideFar = 1 AND irDetectRSideFar = 0) לאחר מכן, העריך את משך הזמן
GOSUB turnLeft
ELSEIF (irDetectLSideFar = 0 AND irDetectRSideFar = 1) ואז
GOSUB turnRight
ELSEIF (irDetectLSideFar = 1 ו- irDetectRSideFar = 1) ואז
GOSUB turnLeft
אַחֵר
GOSUB turnReverse
ENDIF
לַחֲזוֹר
מוּמלָץ:
Raspberry Pi - TMD26721 גלאי קרבה דיגיטלית אינפרא אדום מדריך Java: 4 שלבים
Raspberry Pi-TMD26721 גלאי קרבה דיגיטלית אינפרא אדום מדריך Java: TMD26721 הוא גלאי קרבה דיגיטלית אינפרא אדום המספק מערכת זיהוי קרבה מלאה והגיון ממשק דיגיטלי במודול הרכבה אחד על פני השטח 8 פינים. זיהוי הקרבה כולל שיפור אות לרעש ו דיוק. מקצוען
נגן MP3 בשליטת אינפרא אדום: 6 שלבים (עם תמונות)
נגן MP3 נשלט אינפרא אדום: בנה נגן MP3 שלט רחוק אינפרא אדום תמורת כ $ 10 (usd). יש לו את התכונות הרגילות: הפעלה, השהה, הפעלה הבאה או הקודמת, השמעת שיר אחד או כל השירים. יש לו גם וריאציות אקולייזר ובקרת עוצמת קול. הכל ניתן לשליטה באמצעות r
שימוש בחיישן אינפרא אדום עם ארדואינו: 8 שלבים (עם תמונות)
שימוש בחיישן אינפרא אדום עם Arduino: מהו חיישן אינפרא אדום (aka IR? . אות ה- IR
מדחום אינפרא אדום לייזר Arduino: 7 שלבים (עם תמונות)
מדחום אינפרא אדום לייזר Arduino: בפרויקט זה אראה לך כיצד לבנות מד חום אינפרא אדום לייזר דיגיטלי עם מארז מודפס תלת מימדי בהתאמה אישית
Raspberry Pi - TMD26721 אינפרא אדום גלאי קרבה דיגיטלית Python הדרכה: 4 שלבים
Raspberry Pi-TMD26721 גלאי קרבה דיגיטלית אינפרא אדום פייתון הדרכה: TMD26721 הוא גלאי קרבה דיגיטלית אינפרא אדום המספק מערכת זיהוי קרבה מלאה והגיון ממשק דיגיטלי במודול הרכבה אחד על פני 8 פינים. זיהוי הקרבה כולל שיפור אות לרעש ו דיוק. פרוקסי