# কাছাকাছি সনাক্ত করুন - Wio Terminal এই পাঠের এই অংশে, আপনি আপনার Wio Terminal-এ একটি প্রক্সিমিটি সেন্সর যোগ করবেন এবং এর থেকে দূরত্ব পড়বেন। ## হার্ডওয়্যার Wio Terminal-এ একটি প্রক্সিমিটি সেন্সর প্রয়োজন। আপনি যে সেন্সরটি ব্যবহার করবেন তা হলো [Grove Time of Flight distance sensor](https://www.seeedstudio.com/Grove-Time-of-Flight-Distance-Sensor-VL53L0X.html)। এই সেন্সরটি দূরত্ব সনাক্ত করতে একটি লেজার রেঞ্জিং মডিউল ব্যবহার করে। এই সেন্সরের পরিসীমা ১০ মিমি থেকে ২০০০ মিমি (১ সেমি - ২ মিটার), এবং এটি এই পরিসরে বেশ সঠিকভাবে মান রিপোর্ট করবে, যেখানে ১০০০ মিমি-এর উপরের দূরত্ব ৮১০৯ মিমি হিসাবে রিপোর্ট করা হবে। লেজার রেঞ্জফাইন্ডারটি সেন্সরের পিছনের দিকে থাকে, Grove সকেটের বিপরীত দিকে। এটি একটি I²C সেন্সর। ### টাইম অফ ফ্লাইট সেন্সর সংযোগ করুন Grove টাইম অফ ফ্লাইট সেন্সরটি Wio Terminal-এ সংযুক্ত করা যেতে পারে। #### কাজ - টাইম অফ ফ্লাইট সেন্সর সংযোগ করুন টাইম অফ ফ্লাইট সেন্সরটি সংযোগ করুন। ![একটি Grove টাইম অফ ফ্লাইট সেন্সর](../../../../../translated_images/grove-time-of-flight-sensor.d82ff2165bfded9f485de54d8d07195a6270a602696825fca19f629ddfe94e86.bn.png) 1. Grove কেবলের এক প্রান্ত টাইম অফ ফ্লাইট সেন্সরের সকেটে প্রবেশ করান। এটি শুধুমাত্র একটি নির্দিষ্ট দিকেই প্রবেশ করবে। 1. Wio Terminal-টি আপনার কম্পিউটার বা অন্য পাওয়ার সাপ্লাই থেকে সংযোগ বিচ্ছিন্ন অবস্থায়, Grove কেবলের অন্য প্রান্তটি Wio Terminal-এর স্ক্রিনের দিকে তাকালে বাম দিকের Grove সকেটে সংযুক্ত করুন। এটি পাওয়ার বোতামের কাছাকাছি সকেট। এটি একটি সম্মিলিত ডিজিটাল এবং I²C সকেট। ![বাম দিকের সকেটে সংযুক্ত Grove টাইম অফ ফ্লাইট সেন্সর](../../../../../translated_images/wio-time-of-flight-sensor.c4c182131d2ea73df67febd004dc0313d271013d016be9c47e7da4d77c6c20a8.bn.png) 1. এখন আপনি Wio Terminal-টি আপনার কম্পিউটারে সংযুক্ত করতে পারেন। ## টাইম অফ ফ্লাইট সেন্সর প্রোগ্রাম করুন এখন Wio Terminal-টি সংযুক্ত টাইম অফ ফ্লাইট সেন্সরটি ব্যবহার করার জন্য প্রোগ্রাম করা যেতে পারে। ### কাজ - টাইম অফ ফ্লাইট সেন্সর প্রোগ্রাম করুন 1. PlatformIO ব্যবহার করে একটি নতুন Wio Terminal প্রকল্প তৈরি করুন। এই প্রকল্পটির নাম দিন `distance-sensor`। `setup` ফাংশনে সিরিয়াল পোর্ট কনফিগার করার জন্য কোড যোগ করুন। 1. প্রকল্পের `platformio.ini` ফাইলে Seeed Grove টাইম অফ ফ্লাইট ডিস্ট্যান্স সেন্সর লাইব্রেরির জন্য একটি লাইব্রেরি নির্ভরতা যোগ করুন: ```ini lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1 ``` 1. `main.cpp`-এ, বিদ্যমান ইনক্লুড ডিরেক্টিভগুলির নিচে নিম্নলিখিতটি যোগ করুন, যাতে টাইম অফ ফ্লাইট সেন্সরের সাথে ইন্টারঅ্যাক্ট করার জন্য `Seeed_vl53l0x` ক্লাসের একটি ইনস্ট্যান্স ঘোষণা করা যায়: ```cpp #include "Seeed_vl53l0x.h" Seeed_vl53l0x VL53L0X; ``` 1. সেন্সরটি ইনিশিয়ালাইজ করার জন্য `setup` ফাংশনের নিচে নিম্নলিখিতটি যোগ করুন: ```cpp VL53L0X.VL53L0X_common_init(); VL53L0X.VL53L0X_high_accuracy_ranging_init(); ``` 1. `loop` ফাংশনে, সেন্সর থেকে একটি মান পড়ুন: ```cpp VL53L0X_RangingMeasurementData_t RangingMeasurementData; memset(&RangingMeasurementData, 0, sizeof(VL53L0X_RangingMeasurementData_t)); VL53L0X.PerformSingleRangingMeasurement(&RangingMeasurementData); ``` এই কোডটি ডেটা পড়ার জন্য একটি ডেটা স্ট্রাকচার ইনিশিয়ালাইজ করে, তারপর এটি `PerformSingleRangingMeasurement` মেথডে পাস করে যেখানে এটি দূরত্বের পরিমাপ দিয়ে পূরণ হবে। 1. এর নিচে, দূরত্বের পরিমাপটি লিখুন, তারপর ১ সেকেন্ডের জন্য বিলম্ব করুন: ```cpp Serial.print("Distance = "); Serial.print(RangingMeasurementData.RangeMilliMeter); Serial.println(" mm"); delay(1000); ``` 1. এই কোডটি বিল্ড, আপলোড এবং চালান। আপনি সিরিয়াল মনিটরের মাধ্যমে দূরত্বের পরিমাপ দেখতে পারবেন। সেন্সরের কাছে বস্তু রাখুন এবং আপনি দূরত্বের পরিমাপ দেখতে পাবেন: ```output Distance = 29 mm Distance = 28 mm Distance = 30 mm Distance = 151 mm ``` রেঞ্জফাইন্ডারটি সেন্সরের পিছনের দিকে থাকে, তাই দূরত্ব পরিমাপ করার সময় সঠিক দিকটি ব্যবহার করুন। ![টাইম অফ ফ্লাইট সেন্সরের পিছনের রেঞ্জফাইন্ডার একটি কলার দিকে নির্দেশ করছে](../../../../../translated_images/time-of-flight-banana.079921ad8b1496e4525dc26b4cdc71a076407aba3e72ba113ba2e38febae92c5.bn.png) > 💁 আপনি এই কোডটি [code-proximity/wio-terminal](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/wio-terminal) ফোল্ডারে খুঁজে পেতে পারেন। 😀 আপনার প্রক্সিমিটি সেন্সর প্রোগ্রাম সফল হয়েছে! --- **অস্বীকৃতি**: এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদ প্রদানের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। মূল ভাষায় থাকা নথিটিকে প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ সুপারিশ করা হয়। এই অনুবাদ ব্যবহারের ফলে কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যা হলে আমরা দায়বদ্ধ থাকব না।