# അടുത്തതായിരിക്കുക കണ്ടെത്തുക - Wio Terminal പാഠഭാഗത്തിന്റെ ഈ ഭാഗത്തിൽ, നിങ്ങൾ നിങ്ങളുടെ Wio Terminal-ലേക്ക് ഒരു അടുത്തതായിരിക്കുക സെൻസർ ചേർക്കുകയും അതിൽനിന്ന് ദൂരം വായിക്കയും ചെയ്യും. ## ഹാർഡ്വെയർ Wio Terminal-ക്ക് ഒരു അടുത്തതായിരിക്കുക സെൻസർ ആവശ്യമാണ്. നിങ്ങൾ ഉപയോഗിക്കുന്ന സെൻസർ ഒരു [Grove Time of Flight distance sensor](https://www.seeedstudio.com/Grove-Time-of-Flight-Distance-Sensor-VL53L0X.html) ആണ്. ഈ സെൻസർ ലേസർ റേഞ്ചിംഗ് മോഡ്യൂൾ ഉപയോഗിച്ച് ദൂരം കണ്ടെത്തുന്നു. ഈ സെൻസറിന്റെ ശ്രേണി 10mm മുതൽ 2000mm (1cm - 2m) വരെ ആണ്, അതിൽ ഉൾപ്പെടെയുള്ള മൂല്യങ്ങൾ വളരെ കൃത്യമായി റിപ്പോർട്ട് ചെയ്യും, 1000mm-ൽ മുകളിൽ ദൂരങ്ങൾ 8109mm എന്ന് റിപ്പോർട്ട് ചെയ്യും. ലേസർ റേഞ്ച്ഫൈണ്ടർ സെൻസറിന്റെ പശ്ചാത്തലത്തിലാണ്, Grove സോക്കറ്റിന്റെ എതിര്‍വശത്ത്. ഇത് I2C സെൻസറാണ്. ### ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ കണക്ട് ചെയ്യുക Grove ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ Wio Terminal-க்கு കണക്ട് ചെയ്യാം. #### ടാസ്ക് - ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ കണക്ട് ചെയ്യുക ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ കണക്ട് ചെയ്യുക. ![ഒരു Grove ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ](../../../../../translated_images/ml/grove-time-of-flight-sensor.d82ff2165bfded9f.webp) 1. Grove കേബിളിന്റെ ഒരു ഒറ്റവശം ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസറിന്റെ സോക്കറ്റിൽ插入ചെയ്യുക. ഇത് ഒരു ദിശയിൽ മാത്രം പോകും. 1. നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ നിന്ന് അല്ലെങ്കിൽ മറ്റ് വൈദ്യുതി വിതരണത്തിൽ നിന്ന് Wio Terminal അൺകണക്ട് ചെയ്തിട്ടുണ്ടെങ്കിലായിരിക്കും, Grove കേബിളിന്റെ മറുവശം Wio Terminal-ന്റെ സ്‌ക്രീൻ നോക്കി ഇടത്തക്ക വശത്തുള്ള Grove സോക്കറ്റിൽ കണക്ട് ചെയ്യുക. ഇത് പവർ ബട്ടണിനടുത്തുള്ള സോക്കറ്റാണ്. ഇത് ഡിജിറ്റൽയും I2C-ഉം ഉണ്ടായ ഒരേ സോക്കറ്റാണ്. ![ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ ഇടത് സോക്കറ്റിൽ കണക്ട് ചെയ്തിരിക്കുന്നത്](../../../../../translated_images/ml/wio-time-of-flight-sensor.c4c182131d2ea73d.webp) 1. ഇപ്പോൾ Wio Terminal നിങ്ങളുടെ കമ്പ്യൂട്ടറോട് കണക്ട് ചെയ്യാവുന്നതാണ്. ## ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ പ്രോഗ്രാം ചെയ്യുക Wio Terminalക്ക് ഇപ്പൊഴുള്ള ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ ഉപയോഗിക്കാൻ പ്രോഗ്രാം ചെയ്യാം. ### ടാസ്ക് - ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസർ പ്രോഗ്രാം ചെയ്യുക 1. PlatformIO ഉപയോഗിച്ച് ഒരു പുതിയ Wio Terminal പ്രോജക്ട് സൃഷ്ടിക്കുക. ഈ പ്രോജക്ടിന് `distance-sensor` എന്ന് വിളിക്കുക. `setup` ഫംഗ്ഷനിൽ സീരിയൽ പോർട്ട് കോൺഫിഗർ ചെയ്യാൻ കോഡ് ചേർക്കുക. 1. Seeed Grove ടൈം ഓഫ് ഫ്ലൈറ്റ് distance sensor ലൈബ്രറിയുടെ ഡിപെൻഡൻസി `platformio.ini` ഫയലിൽ ചേർക്കുക: ```ini lib_deps = seeed-studio/Grove Ranging sensor - VL53L0X @ ^1.1.1 ``` 1. `main.cpp`-ൽ, ടൈം ഓഫ് ഫ്ലൈറ്റ് സെൻസറുമായി ഇടപഴകാൻ `Seeed_vl53l0x` ക്ലാസിന്റെ ഇൻസ്റ്റൻസ്_DECLARE ചെയ്യുന്നതിന് നിലവിലുള്ള ഇന്‍ക്ലൂഡ് ഡയറക്ടിവുകളുടെ താഴെ ചേർക്കുക: ```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. ഇതിന് താഴെ, ദൂര അളവ് പുറത്തിറക്കുക, ശേഷം 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/ml/time-of-flight-banana.079921ad8b1496e4.webp) > 💁 ഈ കോഡ് [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) ഉപയോഗിച്ച് വിവര്‍ത്തനം ചെയ്‌തതാണ്. നമുക്ക് കൃത്യതക്ക് ശ്രമമുണ്ടായിരുന്നുവെങ്കിലും, യന്ത്രവൈദ്യുത വിവര്‍ത്തനങ്ങളില്‍ പിഴവുകളും അസ്സത്യതകളും ഉണ്ടാകാന്‍ സാധ്യതയുണ്ട്. ഈ രേഖയുടെ മൗലിക ഭാഷയില്‍ ഉള്ള അപരിച്ഛേദം മാത്രമാണ് പ്രാമാണിക ഉറവിടം. നിര്‍ണായക വിവരങ്ങള്‍ക്കായി പ്രൊഫഷണല്‍ മനുഷ്യ വിവര്‍ത്തനം നിര്‍ദ്ദേശിക്കുന്നു. ഈ വിവര്‍ത്തനത്തിന്റെ ഉപയോഗത്തില്‍ നിന്നുണ്ടാകുന്ന ഏതെങ്കിലും തെറ്റിദ്ധാരണകള്‍ക്കും തെറ്റ് വ്യാഖ്യാനങ്ങള്‍ക്കും ഞങ്ങള്‍ ഉത്തരവാദികളല്ല.