विषयसूची:

Benewake LiDAR TFmini (पूर्ण गाइड): 5 कदम (चित्रों के साथ)
Benewake LiDAR TFmini (पूर्ण गाइड): 5 कदम (चित्रों के साथ)

वीडियो: Benewake LiDAR TFmini (पूर्ण गाइड): 5 कदम (चित्रों के साथ)

वीडियो: Benewake LiDAR TFmini (पूर्ण गाइड): 5 कदम (चित्रों के साथ)
वीडियो: Parking Assistant and Vehicle Presence for Home Assistant 2024, जुलाई
Anonim
Benewake LiDAR TFmini (पूरी गाइड)
Benewake LiDAR TFmini (पूरी गाइड)
Benewake LiDAR TFmini (पूरी गाइड)
Benewake LiDAR TFmini (पूरी गाइड)

विवरण

बेनेवेक टीएफमिनी माइक्रो लिडार मॉड्यूल के अद्वितीय ऑप्टिकल, संरचनात्मक और इलेक्ट्रॉनिक डिजाइन हैं। उत्पाद के तीन प्रमुख लाभ हैं: कम लागत, छोटी मात्रा और कम बिजली की खपत।

आंतरिक और बाहरी वातावरण के लिए अनुकूलित बिल्ट-इन एल्गोरिथम कम लागत और कम मात्रा में उत्कृष्ट प्रदर्शन की गारंटी दे सकता है, जो LiDAR के अनुप्रयोग क्षेत्रों और परिदृश्यों का अत्यधिक विस्तार करता है और स्मार्ट में भविष्य की "आंखों" के लिए एक ठोस नींव रखता है। युग।

विशेष विवरण

  • इनपुट वोल्टेज: 5v
  • औसत शक्ति: 0.12W
  • संचार प्रोटोकॉल: UART (बॉड दर: ११५२००)
  • ऑपरेटिंग तापमान: -20 ℃ ~ 60 ℃
  • एफओवी: 2.3 डिग्री

आयाम

  • आकार: 42mmx15mmx16mm
  • वजन: 6.1g

सीमाओं

0cm-30cm "अंधा" रेंज

कहॉ से खरीदु

  • रोबोट की दुकान
  • वीरांगना

इस निर्देश के लिए आवश्यक है कि आप निम्नलिखित से परिचित हों:

  • बुनियादी इलेक्ट्रॉनिक्स
  • वायर कटर और स्ट्रिपर्स जैसे हाथ के उपकरण
  • योजनाबद्ध और कनेक्शन आरेख पढ़ना
  • Arduino के लिए C/C++ प्रोग्रामिंग (वैकल्पिक)
  • रास्पबेरी पाई के लिए पायथन प्रोग्रामिंग (वैकल्पिक)

चरण 1: सामग्री इकट्ठा करना

सामग्री इकट्ठा करना
सामग्री इकट्ठा करना
सामग्री इकट्ठा करना
सामग्री इकट्ठा करना
सामग्री इकट्ठा करना
सामग्री इकट्ठा करना

यह निर्देश आपको अपने विंडोज पीसी और रास्पबेरी पाई का उपयोग करके TFmini LiDAR को तैनात करने के विभिन्न तरीकों के माध्यम से ले जाएगा। प्रत्येक विधि की अपनी आवश्यकताएं होती हैं और आपकी आवश्यकताओं के आधार पर भिन्न हो सकती हैं।

**आपको प्रत्येक मामले के लिए Benewake TFmini LiDAR की आवश्यकता होगी (बेशक)**

पीसी आधारित कार्यान्वयन के लिए:

  • ओएस: विंडोज़
  • यूएसबी-टीटीएल कनवर्टर
  • जम्पर तार

रास्पबेरी पाई आधारित कार्यान्वयन के लिए:

  • रास्पबेरी पाई
  • जम्पर तार
  • एलईडी (वैकल्पिक)
  • यूएसबी-टीटीएल कनवर्टर (वैकल्पिक)
  • ब्रेडबोर्ड (वैकल्पिक)
  • रोकनेवाला (100-1k ओम के बीच) (वैकल्पिक)

चरण 2: बेनेवेक ऐप का उपयोग करके पीसी आधारित कार्यान्वयन

बेनेवेक ऐप का उपयोग करके पीसी आधारित कार्यान्वयन
बेनेवेक ऐप का उपयोग करके पीसी आधारित कार्यान्वयन
बेनेवेक ऐप का उपयोग करके पीसी आधारित कार्यान्वयन
बेनेवेक ऐप का उपयोग करके पीसी आधारित कार्यान्वयन
  1. दिखाए गए योजनाबद्ध के अनुसार जम्पर (पुरुष-महिला) तारों का उपयोग करके TFmini LiDAR को USB-TTL कनवर्टर से कनेक्ट करें

    • लाल तार 5V
    • ब्लैक वायर GND
    • सफेद / नीला तार टीएक्स
    • ग्रीन वायर आरएक्स
  2. अपने कंप्यूटर में प्लग-इन USB-TTL
  3. डिवाइस मैनेजर (विन + एक्स) पर जाएं और पोर्ट्स (कॉम और एलपीटी) के तहत "प्रोलिफिक यूएसबी-टू-सीरियल कॉम पोर्ट" का पता लगाएं। सुनिश्चित करें कि विंडोज डिवाइस को पहचानता है
  4. डाउनलोड करें और निकालें WINCC_TF.rar
  5. निकाली गई फ़ाइलों से WINCC_TFmini.exe चलाएँ
  6. सीरियल पोर्ट शीर्षक के तहत बेनेवेक ऐप में ड्रॉप-डाउन मेनू से संबंधित COM पोर्ट का चयन करें
  7. कनेक्ट क्लिक करें

चरण 3: पायथन (PySerial) का उपयोग करके पीसी आधारित कार्यान्वयन

पायथन (PySerial) का उपयोग करके पीसी आधारित कार्यान्वयन
पायथन (PySerial) का उपयोग करके पीसी आधारित कार्यान्वयन
  1. USB-TTL कनवर्टर का उपयोग करके TFmini LiDAR को PC से कनेक्ट करें
  2. डाउनलोड करें और Python IDLE का उपयोग करके PC_Benewake_TFmini_LiDAR.py खोलें (सुनिश्चित करें कि आपके पीसी पर PySerial और Python स्थापित हैं)
  3. अपने पीसी पर USB-TTL कनवर्टर के COM पोर्ट से मिलान करने के लिए कोड में COM पोर्ट संपादित करें (चित्र देखें)
  4. रन टैब पर क्लिक करें
  5. रन मॉड्यूल पर क्लिक करें

**कोड की व्याख्या के लिए चरण-5 देखें

चरण 4: रास्पबेरी पाई आधारित कार्यान्वयन

रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
रास्पबेरी पाई आधारित कार्यान्वयन
  1. GPIO का उपयोग करके USB-TTL कनवर्टर या UART पोर्ट का उपयोग करके TFmini LiDAR को RPi से कनेक्ट करें
  2. डाउनलोड करें और Python IDLE का उपयोग करके Pi_benewake_LiDAR.py खोलें
  3. यदि आप RPi के साथ USB-TTL कनवर्टर का उपयोग कर रहे हैं, तो Arduino IDE खोलें। टूल्स -> सीरियल पोर्ट पर क्लिक करें, और तदनुसार कोड संपादित करें। यदि आप UART GPIO पोर्ट का उपयोग कर रहे हैं, तो लिखें /dev/ttyAMA0
  4. कोड चलाएँ

** कोड का उपयोग दूरी को प्रिंट करने के लिए किया जा सकता है, लेकिन चूंकि आरपीआई में बहुत अधिक प्रसंस्करण शक्ति नहीं है, इसलिए एक एलईडी को जलाने की सलाह दी जाती है यदि दर्ज की गई दूरी एक निश्चित सीमा से कम है (आरपीआई के साथ एलईडी के लिए योजनाबद्ध संलग्न है)

प्र. आरपीआई के साथ यूएसबी-टीटीएल कनवर्टर का उपयोग क्यों करें?

आरपीआई में केवल एक यूएआरटी पोर्ट है, और कभी-कभी आपको कुछ मॉड्यूल डालने की आवश्यकता होती है जो यूएआरटी संचार की मांग करते हैं। यूएसबी-टीटीएल आरपीआई को एक अतिरिक्त यूएआरटी पोर्ट प्रदान करता है जिससे हमें एक से अधिक यूएआरटी डिवाइस (जैसे दो या अधिक टीएफमिनी लीडर) को आरपीआई से जोड़ने का अवसर मिलता है।

चरण 5: कोड के बारे में

कोड के बारे में
कोड के बारे में

कोड को तीन भागों में विभाजित किया जा सकता है:

  • संपर्क स्थापित करना
  • डेटा लिखना
  • डेटा पढ़ना

संपर्क स्थापित करना:

आवश्यक शीर्षलेख फ़ाइलों को आयात करने के बाद, हम अपने TFmini LiDAR के COM पोर्ट, बॉड-दर और कनेक्शन टाइमआउट बताते हुए कनेक्शन स्थापित करते हैं।

सेर = सीरियल। सीरियल ('COM7', ११५२००, टाइमआउट = १) #पीसी

सेर = सीरियल। सीरियल ('/ dev/ttyUSB1', ११५२००, टाइमआउट = १) #रास्पबेरी पाई

डेटा लिखना:

कोड को दो भागों में विभाजित किया जा सकता है, लिखना और प्राप्त करना। डेटा प्राप्त करने के लिए, आपको निश्चित कमांड को TFmini LiDAR (आरंभीकरण प्रक्रिया का हिस्सा) को अग्रेषित करने की आवश्यकता है। इस मामले में, मैंने ४२५७०२००००००१०६ को चुना है। भले ही आरपीआई पायथन का एक ही संस्करण चलाता है, लेकिन सिंटैक्स में थोड़ा बदलाव होता है क्योंकि आरपीआई बाइनरी के अलावा अन्य डेटा को स्वीकार नहीं करता है।

सेर.राइट (0x42)

ser.write(0x57) ser.write(0x02) ser.write(0x00) ser.write(0x00) ser.write(0x00) ser.write(0x01) ser.write(0x06)

डेटा पढ़ना:

डेटा-शीट में दिया गया चार्ट हमें 9-बाइट UART संदेश का 'ब्रेकडाउन' देता है। पहले दो बाइट्स फ्रेम हेडर हैं जिनका मान हेक्स 0x59 (वर्ण 'Y') है। यूएआरटी संदेश की शुरुआत की पहचान करने के लिए उन्हें पढ़ा और इस्तेमाल किया जा सकता है।

अगर (('Y' == ser.read ()) और ('Y' == ser.read ())):

एक बार हेडर फ्रेम पढ़ने के बाद, दूरी डेटा ले जाने वाले अगले दो बाइट्स को पढ़ा जा सकता है। दूरी डेटा को दो 8-बिट पैकेटों में बांटा गया है, Dist_L (Byte3) - निचला 8bit और Dist_H (Byte4) - उच्च 8bit।

Dist_L = ser.read() # Byte3Dist_H = ser.read() # Byte4

Dist_H को 256 से गुणा करके, बाइनरी डेटा को 8 से बाईं ओर स्थानांतरित कर दिया जाता है ("<< 8" के बराबर)। अब निम्न 8-बिट दूरी डेटा, Dist_L, को आसानी से जोड़ा जा सकता है जिसके परिणामस्वरूप Dist_Total का 16-बिट डेटा प्राप्त होता है।

Dist_Total = (ord(Dist_H) * 256) + (ord(Dist_L))

चूंकि हमारे पास हमारे पास 'डिक्रिप्टेड' डिस्टेंस वैल्यू है, इसलिए अगले पांच बाइट को नजरअंदाज किया जा सकता है। ध्यान दें कि पढ़ा गया डेटा कहीं भी संग्रहीत नहीं किया जा रहा है।

मेरे लिए रेंज में (0, 5):ser.read()

**किसी अन्य स्थान पर, आपको लूप के अंत से पहले शामिल 'देरी' (पायथन में समय। नींद) मिल सकती है, क्योंकि TFmini LiDAR में 100Hz ऑपरेटिंग आवृत्ति है। यह देरी 'कार्यक्रम में देरी' है और इसके परिणामस्वरूप कुछ देरी के बाद डेटा अपडेट किया जाएगा। मेरा मानना है कि चूंकि हम पहले से ही 9-बाइट्स तक डेटा के ढेर होने की प्रतीक्षा कर रहे हैं, इसलिए कोई और देरी नहीं होनी चाहिए

#time.sleep(0.0005) #विलंब पर टिप्पणी की जाती है

जबकि (ser.in_waiting>= 9):

सिफारिश की: