בחלק מהפרויקטים שלך יהיה עליך למדוד מרחקים. ובכן, עליכם לדעת כי ה VL53L0X הוא מכשיר המאפשר למדוד אותם בדיוק גבוה. בנוסף, גודלו הקטן והמחיר הנמוך הופכים אותו לאידיאלי עבור פרויקטים של DIY, במיוחד לשילוב עם Arduino.
ישנם מכשירים רבים שיכולים למדוד מרחקים, חלקם הם מטרים מרחק המבוססים על אולטרסאונד הפולט צליל וכאשר מקפצים עם האובייקט זה מאפשר לדעת בדיוק מספיק את המרחק שיש. אבל אם אתה רוצה את הדיוק הגבוה ביותר, בשביל זה אתה צריך מד מרחק אופטי. סוג זה של מכשירי מדידה מבוסס על לייזר, כמו במקרה של VL53L0X.
מהו ה- ToF?
זמן טיסה או מצלמת ToF (זמן טיסה) זו טכניקה המשמשת למדידת מרחקים. היא מבוססת על אופטיקה, ומודדת את הזמן שחלף בין פליטת קרן האור לקליטתה. הם יכולים להיות CCD, חיישני CMOS, והפולסים יכולים להיות אינפרא אדום, לייזר וכו '. המערכת תסונכרן כדי להתחיל במדידת הזמן בדיוק כאשר הדופק מופעל ולעצור את הדלפק כאשר הם מקבלים את ההקפצה על ידי החיישן.
בדרך הזו מרחק יכול להיות מחושב בצורה די מדויקת. נדרש רק מעגל לוגי נוסף המשולב בשבב בכדי לבצע את החישובים מרגע ירי הקורה ועד קבלתו וכך לקבוע מה המרחק. העיקרון די פשוט.
סוג זה של מכשיר משמש ב- רובוטיקה לאפשר לרובוט או למזל"ט להימנע ממכשולים, לדעת כמה הם רחוקים ממטרה, לזהות תנועה או קרבה, לחיישני מכוניות המשמשים ליישומים שונים, להטמיע מד אלקטרוני, כגון מפעיל, כך שארדואינו יעשה משהו כאשר הוא מגלה קרבה מסוימת של אובייקט וכו '.
מהו VL53L0X וגליון הנתונים
El VL53L0X משתמש בעקרון זה למדידת מרחקים באמצעות אינפרא אדום לייזר. הדור האחרון. יחד עם מעבד, כמו Arduino, הוא יכול להיות כלי רב עוצמה למדידה. באופן ספציפי, השבב יכול לתפוס מרחקים בין 50 מ"מ ל -2000 מ"מ, כלומר בין 5 ס"מ ל -2 מטר.
כדי למדוד מרחקים קרובים יותר, כנראה שאתה זקוק לגרסה של שבב זה בשם VL6180X המאפשר לך למדוד טווח שבין 5 ל -200 מ"מ, כלומר בין חצי ס"מ ל -20 ס"מ. אם ברצונך למצוא מכשיר דומה אך מבוסס אולטראסאונד מכל סיבה טכנית, עליך להסתכל על HC-SR04, עוד מודול זול למדי פופולרי בקרב יצרנים.
El שבב VL53L0X תוכנן כך לעבוד גם כאשר אור הסביבה גבוה למדי. זכור שכאשר עובדים בצורה אופטית, ככל ש"זיהום "האור של הסביבה גדול יותר, כך יהיה קשה יותר ללכוד את הקפיצה של האות בצורה נאותה. אך במקרה זה אין בכך יותר מדי בעיה. בנוסף, מערכת הפיצויים שהיא משלבת מאפשרת לה למדוד גם אם משתמשים בה מאחורי זכוכית מגן.
זה הופך את זה לאחד מחיישני המרחק הטובים ביותר שתמצאו בשוק. בדיוק רב יותר בהשוואה לחיישנים המבוססים על אולטרסאונד או אינפרא אדום (IR). הסיבה לדייק כל כך היא שהלייזר לא יושפע מהדהדים או החזרות של עצמים כמו בשאר המקרים.
נכון לעכשיו אתה יכול למצוא את זה משולב בפרדות עם קצת תוספת עבור כ 16 € או לוחות פשוטים יותר של קצת יותר € 1 או € 3 במקרים אחרים. אתה כבר יודע שתמצא אותו בחנויות כמו eBay, AliExpress, אמזון וכו '. יצרני המכשירים הללו שונים, כך שאם אתה צריך לדעת את פרטי הדגם שקנית, עדיף לבדוק גליון הנתונים של היצרן שבחרת. לדוגמה:
El VL53L0X יש בתוך השבב פולט דופק הלייזר והחיישן כדי ללכוד את הקורה החוזרת. במקרה זה, הפולט הוא לייזר באורך גל 940nm וסוג VCSEL (לייזר פולט משטח אנכי). באשר לחיישן הלכידה, מדובר ב- SPAD (דיודות מפולת פוטון בודדות). הוא משלב גם אלקטרוניקה פנימית בשם FlightSense ™ שתחשב את המרחק.
El זווית מדידה או FOV (שדה ראייה) במקרה זה זה 25 מעלות. זה מתורגם לשטח מדידה של 0,44m בקוטר במרחק של 1m. למרות שטווח המדידה יהיה תלוי בתנאים הסובבים. אם זה נעשה בבית זה קצת יותר גבוה מאשר אם זה נעשה בחוץ. זה יהיה תלוי גם בהשתקפות של האובייקט אליו אתה מצביע:
החזרת היעד | תנאים | פנים | חיצוני |
---|---|---|---|
מטרה לבנה | טיפוסי | 200cm | 80cm |
לְחַקוֹת | 120cm | 60cm | |
מטרה אפורה | טיפוסי | 80cm | 50cm |
במינימו | 70cm | 40cm |
בנוסף, ל- VL53L0X יש כמה מצבי הפעלה שעשוי לשנות את התוצאות. מצבים אלה מסוכמים בטבלה הבאה:
מודו | תזמון | מרחב | דיוק |
---|---|---|---|
ברירת מחדל | 30ms | 1.2m | ראה את הטבלה למטה |
דיוק גבוה | 200ms | 1.2m | + / - 3% |
טווח ארוך | 33ms | 2m | ראה את הטבלה למטה |
מהירות גבוהה | 20ms | 1.2m | + / - 5% |
על פי מצבים אלה, יש לנו כמה דיוקים סטנדרטיים וארוכי טווח שיש לך בטבלה זו:
פנים | חיצוני | |||||
---|---|---|---|---|---|---|
החזרת היעד | מרחק | 33ms | 66ms | מרחק | 33ms | 66ms |
מטרה לבנה | 120 ס"מ | 4% | 3% | 60 ס"מ | 7% | 6% |
מטרה אפורה | 70 ס"מ | 7% | 6% | 40 ס"מ | 12% | 9% |
פינאוט וחיבור
כדי שכל זה יעבוד כמו שצריך אתה צריך ממשק עם העולם החיצון. וזה מושג באמצעות כמה סיכות או חיבורים. ה- pinout של VL53L0X הוא די פשוט, יש לו רק 6 סיכות. לצורך שילובו עם Arduino, ניתן לבצע תקשורת באמצעות I2C.
כדי להאכיל אותו, אתה יכול חבר פינים כך:
- VCC ל 5 v מארדואינו
- GND ל- GND של Arduino
- SCL לסיכה אנלוגית של Arduino. לדוגמא A5
- SDA לסיכה אנלוגית אחרת. לדוגמא A4
- כרגע אין צורך להשתמש בסיכות GPI01 ו- XSHUT.
שילוב עם ארדואינו
באשר למודולים רבים אחרים, עבור VL53L0X יש לך גם ספריות (למשל זו עבור אדאפרוט) של קוד זמין שבו אתה יכול להשתמש כדי לעבוד עם פונקציות מסוימות כשאתה כותב קוד המקור לטיפול בפרויקט שלך ב- Arduino IDE. אם זו הפעם הראשונה שלך עם Arduino, אני ממליץ מדריך התכנות שלנו.
דוגמה של קוד פשוט לביצוע מדידות והצגת ערך מדידה דרך יציאה טורית כדי שתוכל לראות את זה ממסך המחשב שלך בזמן שלוח Arduino מחובר הוא:
#include "Adafruit_VL53L0X.h" Adafruit_VL53L0X lox = Adafruit_VL53L0X(); void setup() { Serial.begin(9600); // Iniciar sensor Serial.println("VL53L0X test"); if (!lox.begin()) { Serial.println(F("Error al iniciar VL53L0X")); while(1); } } void loop() { VL53L0X_RangingMeasurementData_t measure; Serial.print("Leyendo sensor... "); lox.rangingTest(&measure, false); // si se pasa true como parametro, muestra por puerto serie datos de debug if (measure.RangeStatus != 4) { Serial.print("Distancia (mm): "); Serial.println(measure.RangeMilliMeter); } else { Serial.println(" Fuera de rango "); } delay(100); }
בספרייה של Adafruit עצמו יש לך דוגמאות נוספות לשימוש אם אתה צריך את זה ...