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

האם אוכל להשתמש ב- TinyLiDAR ב שריטה ?: 3 שלבים
האם אוכל להשתמש ב- TinyLiDAR ב שריטה ?: 3 שלבים

וִידֵאוֹ: האם אוכל להשתמש ב- TinyLiDAR ב שריטה ?: 3 שלבים

וִידֵאוֹ: האם אוכל להשתמש ב- TinyLiDAR ב שריטה ?: 3 שלבים
וִידֵאוֹ: ככה נגביסט בצהל מוציא עצבים אחרי 21! 2024, נוֹבֶמבֶּר
Anonim
האם אוכל להשתמש ב- TinyLiDAR ב… שריטה?
האם אוכל להשתמש ב- TinyLiDAR ב… שריטה?

מדי פעם אנחנו מקבלים בקשות לשאול אם tinyLiDAR יעבוד על פלטפורמת המחשוב הספציפית שלהם. למרות ש- tinyLiDAR תוכנן כחיישן LiDAR פשוט לשימוש עבור ה- Arduino UNO, אין דבר שמונע ממנו להשתמש בפלטפורמות אחרות כמו ה- Raspberry Pi (כפי שמוצג בהוראה הקודמת כאן). כלומר, אם לרציף יש אוטובוס I2C והוא יכול לתמוך במאפיין מתיחת השעון של מפרט I2C. אז מה אם הלוח שלך אפילו לא תומך ב- I2C? - לא משנה מה השעון מותח דברים … ובכן זה יהיה תרחיש מאתגר אבל במציאות הוא אכן קיים עבור שפת התכנות החזותית הפופולרית ביותר הנקראת "שריטה".

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

גרסת TL; DR

כן! עם תכונה חדשה בשם "מצב אמולציה קולית" בגרסת 1.3L f/w tinyLiDAR

שלב 1: גירוד מה?

ישנם טעמים רבים של Scratch בטבע כעת. חובבי הרובוטיקה נוטים להשתמש בגרסאות הממוקדות ב- GPIO כמו ScratchGPIO או בגרסאות משופרות אחרות כמו ScratchX הניתנות לתמיכה בכל 'חומרה ניסיונית'. כל אלה נהדרים למשתמשים מתקדמים, אך גרסאות המיינסטרים המותקנות כברירת מחדל ב- pi יהיו המוקד שלנו להנחיה זו מכיוון שיש להן אפשרויות חומרה מוגבלות למדי.

שולחן העבודה Raspbian Stretch של ה- pi מגיע עם שתי גרסאות של Scratch מותקן מראש. כלומר, "שריטה" ו- "שריטה 2". אנו נשתמש בראשון המכונה "Scratch 1.4 (NuScratch)" ונשתמש בו "לא מקוון" כדי שנוכל להשתמש בתכונת שרת GPIO.

אתה יכול להוריד את תמונת שולחן העבודה הרשמית של pi כאן.

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

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

שלב 2: תכונה חדשה

תכונה חדשה
תכונה חדשה

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

בוא נעשה את זה

אוקיי - יכולנו אז פשוט הוספנו תכונה חדשה ל- tinyLiDAR (נכון לקושחה 1.3.9) בשם "מצב אמולציה קולית". אתה יכול לגשת אליו באמצעות הפקודה "u" ממסוף ה- API של tinyLiDAR המעודכן.

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

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

תראה אמא, אין הלחמה

אין צורך בהלחמה וגם אין צורך בלוח לחם מכיוון שכבלי "Grove to Female 4pin" הכלולים יתחברו ישירות לסיכות הכותרת Raspberry pi. סיכת ההדק היא החוט הצהוב וסיכת ההד היא החוט הלבן. שחור ואדום הם עבור כוח כמובן. עיין בתמונה הראשית למעלה לפרטים.

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

בגלל זה, כעת תוכל לבצע מדידות עם tinyLiDAR באמצעות סקיצת ברירת המחדל "PING" הקולית המגיעה עם כל IDE של Arduino ללא כל קוד! אתה יכול לנסות את זה גם ללא עיכוב.

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

סכנה, וויל רובינסון

שים לב שחיישן האולטרה -סאונד SR04 זקוק לנגד כלשהו כדי למנוע מהאספקת +5V לפגוע בפאי שלך. אך מכיוון ש- tinyLiDAR פועל באופן מקורי מ -3.3 וולט, אין צורך בנגדים להתממשק עם ה- pi:)

שלב 3: קידוד אותו

קידוד זה
קידוד זה
קידוד זה
קידוד זה

אז אם כן, מהו בדיוק הקוד הדרוש לנו כדי ש- tinyLiDAR יעבוד ב- Scratch?

שמח ששאלת!

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

כדי לאפשר את סיכות ה- GPIO נוכל להנפיק את "שידור gpioserveron" ואז כדי להגדיר את סיכת ההדק אנו מנפיקים את "שידור config16out" הבא נוכל להגדיר את סיכת ההד על ידי "broadcast config26in" ולאחר מכן להתחיל את המדידות על ידי "ultrasonictrigger16echo26 שידור". זה יגרום למדידות להיעשות ברציפות בקצב של כ -140 ms. ניתן לקרוא את הנתונים שנמדדו באמצעות בלוק החושים "ערך חיישן מרחק קולי".

ובכן זהו זה לעת עתה, תודה שקראתם והקפידו לבדוק את תוכנית ההדגמה הקטנה ומהנה של Scratch (המשותפת כאן) שהכנו בשם "tinyLiDAR_catch_me" ו … Scratch On!;)

מוּמלָץ: