সুচিপত্র:

বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা): 5 টি ধাপ (ছবি সহ)
বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা): 5 টি ধাপ (ছবি সহ)

ভিডিও: বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা): 5 টি ধাপ (ছবি সহ)

ভিডিও: বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা): 5 টি ধাপ (ছবি সহ)
ভিডিও: Convenience items needed in the family 2024, জুলাই
Anonim
বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা)
বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা)
বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা)
বেনওয়াকে লিডার টিএফমিনি (সম্পূর্ণ নির্দেশিকা)

বর্ণনা

বেনওয়ায়েক TFMINI মাইক্রো লিডার মডিউলটির অনন্য অপটিক্যাল, স্ট্রাকচারাল এবং ইলেকট্রনিক ডিজাইন রয়েছে। পণ্যটির তিনটি প্রধান সুবিধা রয়েছে: কম খরচে, ছোট ভলিউম এবং কম বিদ্যুৎ খরচ।

অন্তর্নির্মিত এবং বহিরঙ্গন পরিবেশের সাথে মানানসই অন্তর্নির্মিত অ্যালগরিদম কম খরচে এবং অল্প পরিমাণে একটি চমৎকার পরিসরের পারফরম্যান্সের গ্যারান্টি দিতে পারে, যা লিডার-এর প্রয়োগ ক্ষেত্র এবং দৃশ্যকল্পকে ব্যাপকভাবে প্রসারিত করে এবং ভবিষ্যতে "চোখের" জন্য একটি দৃ foundation় ভিত্তি স্থাপন করে স্মার্ট যুগ

স্পেসিফিকেশন

  • ইনপুট ভোল্টেজ: 5v
  • গড় শক্তি: 0.12W
  • যোগাযোগ প্রোটোকল: ইউএআরটি (বাউড হার: 115200)
  • অপারেটিং তাপমাত্রা: -20 ℃ ~ 60
  • FOV: 2.3

মাত্রা

  • আকার: 42mmx15mmx16mm
  • ওজন: 6.1 গ্রাম

সীমাবদ্ধতা

0cm-30cm "অন্ধ" পরিসীমা

কোথায় কিনবেন

  • রোবটশপ
  • আমাজন

এই নির্দেশযোগ্য প্রয়োজন যে আপনি নিম্নলিখিতগুলির সাথে পরিচিত:

  • বেসিক ইলেকট্রনিক্স
  • তারের কাটার এবং স্ট্রিপারের মতো হাতের সরঞ্জাম
  • স্কিম্যাটিক্স এবং সংযোগ ডায়াগ্রাম পড়া
  • Arduino এর জন্য C/C ++ প্রোগ্রামিং (alচ্ছিক)
  • রাস্পবেরি পাই এর জন্য পাইথন প্রোগ্রামিং (alচ্ছিক)

ধাপ 1: উপাদান সংগ্রহ

উপাদান সংগ্রহ
উপাদান সংগ্রহ
উপাদান সংগ্রহ
উপাদান সংগ্রহ
উপাদান সংগ্রহ
উপাদান সংগ্রহ

এই নির্দেশনাটি আপনাকে আপনার উইন্ডোজ পিসি এবং রাস্পবেরি পাই ব্যবহার করে TFmini LiDAR স্থাপনের বিভিন্ন উপায়ে নিয়ে যাবে। প্রতিটি পদ্ধতির নিজস্ব প্রয়োজনীয়তা রয়েছে এবং এটি আপনার প্রয়োজনের উপর নির্ভর করে পরিবর্তিত হতে পারে।

** আপনার প্রতিটি ক্ষেত্রে (অবশ্যই) বেনওয়াকে TFmini LiDAR প্রয়োজন হবে **

পিসি ভিত্তিক বাস্তবায়নের জন্য:

  • ওএস: উইন্ডোজ
  • ইউএসবি-টিটিএল কনভার্টার
  • জাম্পার তার

রাস্পবেরি পাই ভিত্তিক বাস্তবায়নের জন্য:

  • রাস্পবেরি পাই
  • জাম্পার তার
  • LEDs (alচ্ছিক)
  • ইউএসবি-টিটিএল কনভার্টার (alচ্ছিক)
  • ব্রেডবোর্ড (alচ্ছিক)
  • প্রতিরোধক (100-1k ওহমের মধ্যে) (alচ্ছিক)

পদক্ষেপ 2: বেনওয়েক অ্যাপ ব্যবহার করে পিসি ভিত্তিক বাস্তবায়ন

বেনওয়েক অ্যাপ ব্যবহার করে পিসি ভিত্তিক বাস্তবায়ন
বেনওয়েক অ্যাপ ব্যবহার করে পিসি ভিত্তিক বাস্তবায়ন
বেনওয়েক অ্যাপ ব্যবহার করে পিসি ভিত্তিক বাস্তবায়ন
বেনওয়েক অ্যাপ ব্যবহার করে পিসি ভিত্তিক বাস্তবায়ন
  1. TFmini LiDAR কে ইউএসবি-টিটিএল কনভার্টারে সংযোগ করুন

    • লাল তার 5V
    • ব্ল্যাক ওয়্যার GND
    • সাদা/নীল তারের Tx
    • সবুজ তারের Rx
  2. আপনার কম্পিউটারে USB-TTL প্লাগ-ইন করুন
  3. ডিভাইস ম্যানেজারে (Win + X) যান এবং পোর্টস (COM & LPT) এর অধীনে "Prolific USB-to-Serial Comm Port" সনাক্ত করুন। নিশ্চিত করুন যে উইন্ডোজ ডিভাইসটিকে চিনতে পারে
  4. ডাউনলোড করুন এবং WINCC_TF.rar ডাউনলোড করুন
  5. এক্সট্রাক্ট করা ফাইল থেকে WINCC_TFMini.exe চালান
  6. সিরিয়াল পোর্ট শিরোনামে বেনওয়েক অ্যাপের ড্রপ-ডাউন মেনু থেকে সংশ্লিষ্ট COM পোর্ট নির্বাচন করুন
  7. CONNECT এ ক্লিক করুন

ধাপ 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. রান মডিউল ক্লিক করুন

** কোডের ব্যাখ্যার জন্য ধাপ -৫ দেখুন

ধাপ 4: রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন

রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
রাস্পবেরি পাই ভিত্তিক বাস্তবায়ন
  1. ইউএসবি-টিটিএল কনভার্টার বা জিপিআইও ব্যবহার করে ইউএআরটি পোর্ট ব্যবহার করে TFmini LiDAR কে RPi এর সাথে সংযুক্ত করুন
  2. পাইথন আইডিএল ব্যবহার করে Pi_benewake_LiDAR.py ডাউনলোড করুন এবং খুলুন
  3. আপনি যদি RPi এর সাথে একটি USB-TTL কনভার্টার ব্যবহার করেন, Arduino IDE খুলুন। সরঞ্জাম -> সিরিয়াল পোর্টে ক্লিক করুন এবং সেই অনুযায়ী কোড সম্পাদনা করুন। আপনি যদি UART GPIO পোর্ট ব্যবহার করেন, তাহলে /dev /ttyAMA0 লিখুন
  4. কোডটি চালান

** কোডটি দূরত্ব মুদ্রণ করার জন্য ব্যবহার করা যেতে পারে, কিন্তু যেহেতু RPi এর অনেক প্রসেসিং পাওয়ার নেই, তাই যদি একটি নির্দিষ্ট পরিসরের নিচে রেকর্ড করা দূরত্ব (RPi সহ LED এর জন্য পরিকল্পিত সংযুক্ত থাকে) একটি LED জ্বালানোর পরামর্শ দেওয়া হয়

প্র: RPi এর সাথে USB-TTL কনভার্টার কেন ব্যবহার করবেন?

RPi এর শুধুমাত্র একটি UART পোর্ট আছে, এবং মাঝে মাঝে আপনাকে কয়েকটি মডিউল লাগাতে হবে যা UART যোগাযোগের দাবি করে। ইউএসবি-টিটিএল আরপিআইকে একটি অতিরিক্ত ইউএআরটি পোর্ট প্রদান করে যা আমাদের একাধিক ইউএআরটি ডিভাইস (যেমন দুই বা ততোধিক TFmini LiDAR) কে RPi এর সাথে সংযুক্ত করার সুযোগ দেয়।

ধাপ 5: কোড সম্পর্কে

কোড সম্পর্কে
কোড সম্পর্কে

কোডটি তিনটি ভাগে বিভক্ত করা যেতে পারে:

  • সংযোগ স্থাপন
  • ডেটা লেখা
  • ডেটা পড়া

সংযোগ স্থাপন:

প্রয়োজনীয় হেডার ফাইল আমদানি করার পর, আমরা আমাদের TFmini LiDAR এর COM পোর্ট, বাউড-রেট এবং সংযোগের সময়সীমা উল্লেখ করে সংযোগ স্থাপন করি

ser = serial. Serial ('COM7', 115200, timeout = 1) #PC

ser = serial. Serial ('/dev/ttyUSB1', 115200, সময়সীমা = 1) #রাস্পবেরি পাই

লেখার তথ্য:

কোড দুটি ভাগে ভাগ করা যায়, লেখা এবং গ্রহণ করা। ডেটা পাওয়ার জন্য, আপনাকে TFmini LiDAR (প্রারম্ভিক প্রক্রিয়ার অংশ) -এ নির্দিষ্ট কমান্ডের আগে পাঠাতে হবে। এই ক্ষেত্রে, আমি 4257020000000106 বেছে নিয়েছি। যদিও RPi পাইথনের একই সংস্করণ চালায় কিন্তু বাক্য গঠনে সামান্য পরিবর্তন আছে কারণ RPi বাইনারি ছাড়া অন্য তথ্য গ্রহণ করে না।

ser.write (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')। এগুলি UART বার্তার শুরু শনাক্ত করতে পড়তে এবং ব্যবহার করা যেতে পারে।

যদি (('Y' == ser.read ()) এবং ('Y' == ser.read ())):

একবার হেডার ফ্রেম পড়লে পরের দুটি বাইট, দূরত্বের তথ্য বহন করে, পড়া যাবে। দূরত্বের তথ্য দুটি 8 -বিট প্যাকেটে বিভক্ত, Dist_L (বাইট 3) - নিম্ন 8 বিট এবং Dist_H (বাইট 4) - উচ্চ 8 বিট।

Dist_L = ser.read () #Byte3Dist_H = ser.read () #বাইট 4

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):

প্রস্তাবিত: