ዝርዝር ሁኔታ:

ቤኔዋክ TFmini - ርካሽ LiDAR ከአሥራዎቹ 3.5: 3 ደረጃዎች ጋር
ቤኔዋክ TFmini - ርካሽ LiDAR ከአሥራዎቹ 3.5: 3 ደረጃዎች ጋር

ቪዲዮ: ቤኔዋክ TFmini - ርካሽ LiDAR ከአሥራዎቹ 3.5: 3 ደረጃዎች ጋር

ቪዲዮ: ቤኔዋክ TFmini - ርካሽ LiDAR ከአሥራዎቹ 3.5: 3 ደረጃዎች ጋር
ቪዲዮ: Консультант от бога Tg: cadrolikk 2024, ህዳር
Anonim
ቤኔዋክ TFmini - ርካሽ LiDAR ከአሥራዎቹ 3.5 ጋር
ቤኔዋክ TFmini - ርካሽ LiDAR ከአሥራዎቹ 3.5 ጋር

የቤኔዋክ TFmini LiDAR አሃድ ትንሽ ፣ በጣም ቀላል ክብደት ያለው የ LiDAR ዳሳሽ ለ 50 ዶላር ያህል ካናዳዊ ነው። ሰነዶች ጥሩ ነበሩ ፣ ግን አልተጠናቀቁም። መረጃውን ከአነፍናፊው በመቀበል ላይ ዝርዝሮችን አቅርቧል ፣ ግን ውሂቡን በትክክል እንዲልክ አነፍናፊውን ወደ ነባሪው ሁኔታ ለማስገባት የሚያስፈልገውን ምልክት መጥቀስ ረሳ። እንደ እድል ሆኖ ያ በማረሚያ ሰነድ ውስጥ ነበር።

ስለዚህ ለእኔ የሰራው ይህ ነው ፣ እና በእውነቱ አብሮ ለመስራት ቀላል መሣሪያ ነው።

እኔ በርካታ የ HW ተከታታይ ወደቦች ስላሉት Teensy 3.5 ን ለመጠቀም መረጥኩ ፣ መረጃን እንዲከማች ሳይፈቅድ ውሂብን ለመቀበል እና ለማስኬድ ከበቂ በላይ ነው። ለመዝናናት ብቻ ውሂቡን ከቀሪው ኮድ ማግኘትን ለመለየት የታዳጊዎች ክር ቤተ -መጽሐፍትን ተጠቀምኩ።

ደረጃ 1 - TFmini ን ወደ Teensy 3.5 (ለአርዱዲኖ ሜጋ ተመሳሳይ)

TFmini ን ወደ Teensy 3.5 (ለአርዱዲኖ ሜጋ ተመሳሳይ) በማገናኘት ላይ
TFmini ን ወደ Teensy 3.5 (ለአርዱዲኖ ሜጋ ተመሳሳይ) በማገናኘት ላይ

ይህ ምሳሌ ሁለት ተከታታይ ግንኙነቶችን ይፈልጋል -አንደኛው ወደ TFmini ፣ እና አንዱ በኮምፒተርዎ ላይ ውጤቶችን ለማሳየት። በዚህ ምክንያት ፣ እና እኔ እስከማውቀው ድረስ ፣ ይህ ምክንያት ብቻ ፣ ይህ ልዩ ምሳሌ ከአርዱዲኖ ሜጋ ወይም ከአሥራ ሶስት 3.x በታች በሆነ ነገር ላይ አይሰራም።

ይህ በእንዲህ እንዳለ ፣ ወደ ኮምፒውተር ማያ ገጽ ለማተም ተከታታይ ውፅዓት ለማያስፈልጋቸው አፕሊኬሽኖች ፣ ተመሳሳይ ፕሮጀክት ሊጣጣም ይገባል።

የተካተተውን የሽቦ ቀበቶ በመጠቀም;

1) ጥቁር ሽቦን ከ Teensy GND ጋር ያገናኙ (ልዩነት የ VDC ምንጭን የሚጠቀሙ ከሆነ መሬቱ በአሥራዎቹ ዕድሜ ላይ ወደ GND መሄዱን ያረጋግጡ)

2) ቀይ ሽቦን ከ Teensy Vin (ወይም 5VDC ምንጭ) ጋር ያገናኙ

3) በአሥራዎቹ (Serial1 TX) ላይ 1 ን ለመሰካት ነጭ ሽቦን (TFmini RX) ያገናኙ

4) በአሥራዎቹ (Serial RX) ላይ 0 ን ለመሰካት አረንጓዴ ሽቦን (TFmini TX) ያገናኙ

የተካተተው የሽቦ ቀበቶ በዳቦ ሰሌዳ ላይ ለመሥራት ለእኔ በጣም ትንሽ ነበር ፣ ስለሆነም ከ TFmini ተቃራኒውን ጫፍ ቆርጫለሁ ፣ እና ሽቦዎቹን በዳቦ ሰሌዳ ላይ ሸጥኩ ፣ የጄኤስኤስ ማያያዣውን ወደ መስቀያው ሰሌዳ አክል እና ለወንድ ጃምፐር JST ሠራሁ። የሽቦ ቀበቶ.

ደረጃ 2 - እሱን ለማስኬድ ኮድ

የሚከተለውን ኮድ ይጠቀሙ (ለ Teensy 3.5) ወይም የተያያዘውን ፋይል ያውርዱ

ለአርዱዲኖ ሜጋ ፣ ክር መሰራት አይሰራም። ኮዱን ከ readLiDAR ተግባር ወደ ዋናው ዙር ያንቀሳቅሱ እና ከክር ጋር የተዛመደ ማንኛውንም ነገር ያስወግዱ።

#ጨምር #TeensyThreads.h »ን ያካትቱ

// የቀረበ ገመድ በመጠቀም;

// - ጥቁር = GND (ከ GND ጋር ተገናኝቷል) // - ቀይ = 5V (4.5 - 6.0V) (ከቪን በ Teensy 3.5 ፣ ወይም 5V በአርዱዲኖ ተገናኝቷል) // - ነጭ = TFmini RX (aka። ከማይክሮ መቆጣጠሪያ TX ጋር ይገናኙ), pin1 በ Teensy 3.5) // - አረንጓዴ = TFmini TX (aka. ወደ ማይክሮ መቆጣጠሪያ RX ፣ pin0 በ Teensy 3.5) // ማሳሰቢያ - ለዚህ ንድፍ ከዩኤስቢ ገመድ / ከተገናኘው ባሻገር ተጨማሪ ተከታታይ ወደቦች ያለው ማይክሮ መቆጣጠሪያ ያስፈልግዎታል። / ይህ Arduino MEGA ን (Serial1 ን ይጠቀሙ) ፣ Teensy (3.x) (ከሚገኙት የ HW ተከታታይ ግንኙነቶች አንዱን ይጠቀሙ)

ተለዋዋጭ int liDARval = 0;

ባዶነት readLiDAR () {

// ለ Benewake TFmini የውሂብ ቅርጸት/ 1) 0x59 // 2) 0x59 // 3) Dist_L (ዝቅተኛ 8 ቢት) // 4) Dist_H (ከፍተኛ 8 ቢት) // 5) ጥንካሬ_ኤል (ዝቅተኛ 8 ቢት) // 6) Strength_H (ከፍተኛ 8 ቢት) // 7) የተያዙ ባይት // 8) የመጀመሪያው የምልክት ጥራት ዲግሪ // 9) Checksum parity bit (ዝቅተኛ 8 ቢት) ፣ Checksum = Byte1 +Byte2 +… +Byte8። ይህ ቢሆንም (1) {// እስከመጨረሻው ይቀጥሉ (Serial1.available ()> = 9) // ቢያንስ 9 ባይት መረጃ ሲገኝ (ለ 1 ምልክት የሚጠበቀው የባይት ብዛት) ፣ ከዚያ ያንብቡ {((0x59 == Serial1.read ()) && (0x59 == Serial1.read ())) // ባይት 1 እና ባይት 2 {ያልተፈረመ int t1 = Serial1.read (); // ባይት 3 = Dist_L ያልተፈረመ int t2 = Serial1.read (); // ባይት 4 = Dist_H t2 << = 8; t2 += t1; liDARval = t2; t1 = Serial1.read (); // ባይት 5 = ጥንካሬ_ኤል t2 = Serial1.read (); // ባይት 6 = ጥንካሬ_ኤች t2 << = 8; t2 += t1; ለ (int i = 0; i <3; i ++) Serial1.read (); // ባይት 7 ፣ 8 ፣ 9 ችላ ተብለዋል}}}}

ባዶነት ማዋቀር ()

{Serial1.begin (115200) ፤ // HW Serial ለ TFmini Serial.begin (115200); // ተከታታይ ውፅዓት በዩኤስቢ በኩል ወደ ኮምፒተር መዘግየት (100); // ነገሮች እንዲጀምሩ ትንሽ ጊዜ ይስጡ // ወደ መደበኛ የውጤት ሁኔታ ያዘጋጁ Serial1.write (0x42); Serial1. ጻፍ (0x57); Serial1. ጻፍ (0x02); Serial1. ጻፍ (0x00); Serial1. ጻፍ (0x00); Serial1. ጻፍ (0x00); Serial1. ጻፍ (0x01); Serial1. ጻፍ (0x06); // ተከታታይ ግቤትን ከ TFmini threads.addThread (readLiDAR) ለማንበብ ክር ያዘጋጁ። }

ባዶነት loop ()

{መዘግየት (10); // በ 100Hz Serial.println (liDARval) ላይ እንደ TFmini ናሙናዎች ብዙ ጊዜ ማንበብ አይፈልጉ ፤ }

ደረጃ 3: Arduino IDE የእይታ ውጤቶችን በተከታታይ ሴራ ውስጥ መጠቀም

የ Arduino IDE ን በመጠቀም ውጤቶችን በ Serial Plotter ውስጥ መጠቀም
የ Arduino IDE ን በመጠቀም ውጤቶችን በ Serial Plotter ውስጥ መጠቀም

እርስዎ የሚፈልጉትን ማንኛውንም ዘዴ መጠቀም ይችላሉ ፣ ግን የአርዱዲኖ አይዲኢ ውጤቱን በጥሩ ሁኔታ ያቅዳል።

ከአሥራዎቹ ዕድሜ ጋር ይገናኙ እና ተከታታይ ሞኒተርን ይክፈቱ። Baudrate ወደ 115200 መዋቀሩን ያረጋግጡ።

የሚመከር: