
תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46

יחידת Benewake TFmini LiDAR היא חיישן LiDAR קטן וקל מאוד במחיר של כ -50 דולר קנדי. התיעוד היה טוב, אך לא שלם. הוא סיפק פרטים על קבלת נתונים מהחיישן, אך שכח לציין את האות הדרוש בכדי להכניס את החיישן למצב ברירת מחדל כך שהוא אכן שולח את הנתונים. למרבה המזל זה היה במסמך ניפוי הבאגים.
אז זה מה שעבד בשבילי, וזה באמת מכשיר שקל לעבוד איתו.
בחרתי להשתמש ב- Teensy 3.5 מכיוון שיש לו מספר יציאות סידורי HW, זה יותר מהר מספיק כדי לקבל נתונים ולעבד אותם מבלי לתת לנתונים להצטבר. סתם בשביל הכיף השתמשתי בספריית ה- Thensy Threading כדי להפריד את קבלת הנתונים משאר הקוד.
שלב 1: חיבור TFmini ל- Teensy 3.5 (דומה ל- Arduino Mega)

דוגמה זו דורשת שני חיבורים סדרתיים: אחד ל- TFmini, ואחד להצגת תוצאות במחשב שלך. מסיבה זו, וככל שאני יכול להבין, מסיבה זו בלבד, הדוגמה הספציפית הזו לא תעבוד על שום דבר מתחת ל- Arduino Mega או Teensy 3.x.
עם זאת, עבור יישומים שאינם דורשים פלט סדרתי להדפסה למסך המחשב, אותו פרויקט צריך להיות ניתן להתאמה.
שימוש ברתמת חוט כלולה:
1) חבר את החוט השחור ל- Teensy GND (אם אתה משתמש במקור VDC שונה, וודא שהקרקע עוברת גם ל- GND ב- Teensy)
2) חבר חוט אדום ל- Teensy Vin (או מקור 5VDC)
3) חבר חוט לבן (TFmini RX) לסיכה 1 ב- Teensy (Serial1 TX)
4) חבר חוט ירוק (TFmini TX) לסיכה 0 ב- Teensy (סידורי RX)
רתמת החוט הכלולה הייתה קטנה מכדי שאוכל לעבוד איתה על לוח לחם, אז ניתקתי את הקצה מול ה- TFmini, והלחמתי את החוטים ללוח לחם, הוספתי מחבר JST ללוח, והכנתי JST למגשר זכר. רתמת חוט.
שלב 2: קוד להפעלה
השתמש בקוד הבא (עבור Teensy 3.5) או הורד את הקובץ המצורף:
עבור Arduino Mega, השחלה כנראה לא תעבוד. העבר את הקוד מפונקציית readLiDAR ללולאה הראשית והסר כל מה שקשור לשרשור.
#include #include "TeensyThreads.h"
// שימוש בכבל המסופק:
// - שחור = GND (מחובר ל- GND) // - אדום = 5V (4.5 - 6.0V) (מחובר ל- Vin ב- Teensy 3.5, או 5V ב- Arduino) // - לבן = TFmini RX (aka. להתחבר למיקרו -בקר TX, pin1 ב- Teensy 3.5) // - ירוק = TFmini TX (aka. להתחבר למיקרו -בקר RX, pin0 ב- Teensy 3.5) // הערה: עבור סקיצה זו אתה צריך מיקרו -בקר עם יציאות טוריות נוספות מעבר לזה המחובר לכבל USB / / זה כולל Arduino MEGA (השתמש ב- Serial1), Teensy (3.x) (השתמש באחד מהחיבורים הזמינים של HW Serial)
נדיף int liDARval = 0;
void readLiDAR () {
// פורמט נתונים עבור Benewake TFmini 1) 0x59 // 2) 0x59 // 3) Dist_L (נמוך 8bit) // 4) Dist_H (גבוהה 8bit) // 5) Strength_L (נמוך 8bit) // 6) Strength_H (גבוהה 8bit) // 7) בתים שמורים // 8) דרגת איכות אות מקורית // 9) סיביות זוגיות של בדיקת סכום (8 ביט נמוך), בדיקת סכום = Byte1 +Byte2 +… +Byte8. זהו רק 8 ביט נמוך אם כי (1) {// המשך כך לתמיד (Serial1.available ()> = 9) // כאשר לפחות 9 בתים של נתונים זמינים (מספר בייטים צפוי לאות אחד), אז קרא {if ((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // byte 1 and byte 2 {unsigned int t1 = Serial1.read (); // בת 3 = Dist_L unsigned int t2 = Serial1.read (); // בת 4 = Dist_H t2 << = 8; t2 += t1; liDARval = t2; t1 = Serial1.read (); // בייט 5 = Strength_L t2 = Serial1.read (); // בת 6 = Strength_H t2 << = 8; t2 += t1; for (int i = 0; i <3; i ++) Serial1.read (); // בייט 7, 8, 9 מתעלמים}}}}
הגדרת חלל ()
{Serial1.begin (115200); // סדרת HW עבור TFmini Serial.begin (115200); // פלט סדרתי באמצעות עיכוב USB למחשב (100); // תן קצת זמן לדברים להתחיל // הגדר למצב פלט רגיל Serial1.write (0x42); Serial1.write (0x57); Serial1.write (0x02); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x00); Serial1.write (0x01); Serial1.write (0x06); // שרשור התקנה לקריאת קלט סידורי מ- TFmini threads.addThread (readLiDAR); }
לולאת חלל ()
{עיכוב (10); // לא רוצה לקרוא לעתים קרובות מדי כדוגמאות TFmini ב- 100Hz Serial.println (liDARval); }
שלב 3: שימוש ב- Arduino IDE הצג תוצאות במגרש סידורי

אתה יכול להשתמש בכל שיטה שתרצה, אך ה- IDE של Arduino יתווה את התוצאות בצורה יפה.
התחבר ל- Teensy ופתח את צג סידורי. ודא כי Baudrate מוגדר ל- 115200.
מוּמלָץ:
מודול SIM900A 2G + כרטיס SIM הולוגרמה = שילוב מנצח בקטגוריה "זול לכלוך" ?: 6 שלבים

מודול SIM900A 2G + כרטיס SIM הולוגרמה = שילוב מנצח בקטגוריה "לכלוך זול"?: IoT, מילת המפתח של העשור הזה, נכנסת לפעמים אפילו למוחם של אנשים המחשיבים את עצמם עמידים לאופנה, וביני ביניהם. אינטרנט וראיתי חברה שמעולם לא שמעתי עליה (הולוגרמה) מחלקים כרטיסי SIM
לוח NodeMCU Lua זול 6 $ עם טמפרטורת ולחות רישום של טמפרטורה ולחות, סטטיסטיקות Wifi ומובייל: 4 שלבים

NodeMCU Lua לוח זול של 6 $ עם רישום טמפרטורות ולחות של MicroPython, סטטיסטיקות Wifi וסלולר: זוהי תחנת מזג אוויר עננית בעצם, תוכל לבדוק נתונים בטלפון שלך או להשתמש בטלפון כלשהו כצג חי עם מכשיר NodeMCU תוכל לרשום נתוני טמפרטורה ולחות בחוץ בחדר, בחממה, במעבדה, בחדר הקירור או בכל מקומות אחרים שהושלמו
מארז טנק רובוט אקרילי זול עבור Arduino SN7300 Sinoning: 6 שלבים

מארז טנק רובוט אקרילי זול עבור Arduino SN7300 Sinoning: מארז טנק אקרילי זול עבור Arduino SN7000 Sinoning קנה מאת: SINONING ROBOT TANK
מחשב זול לגלישה באינטרנט: 8 שלבים

מחשב זול לגלישה באינטרנט: הכנסתי את המחשב הזול לסדנת גישה לאינטרנט. לוחות עם מעבד Intel Atom נוטים להיות ממש זולים וישמשו את מטרתנו היטב. קניתי כרטיס בפורמט מיני ITX D525MW בעל חריץ לכרטיסי PCI Express וזיכרון DDR3
פנס חנות זול למראה, זול: 5 שלבים

פנס חנות LED זול למראה, ובכן, אם מישהו מכם הוא כמוני, רוב נורות הלד פשוט יקרות מדי. רציתי נורת LED זולה שנראתה נחמדה. אז, קניתי פנס RCA של $ 1 מ- Food City, והיה לי ראש של נורת LED שבורה. אז החלטתי לחבר את השניים. פלי