# ಸಾನ್ನಿಧ್ಯವನ್ನು ಪತ್ತೆಮಾಡಿ - Wio ಟರ್ಮಿನಲ್
ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ Wio ಟರ್ಮಿನಲ್ ಗೆ ಸಾನ್ನಿಧ್ಯ ಸೆನ್ಸರ್ ಸೇರಿಸಿ, ಮತ್ತು ಅದರಿಂದ ದೂರವನ್ನು ಓದುತ್ತೀರಿ.
## ಹಾರ್ಡ್ವೇರ್
Wio ಟರ್ಮಿನಲ್ ಗೆ ಸಾನ್ನಿಧ್ಯ ಸೆನ್ಸರ್ ಬೇಕು.
ನೀವು ಬಳಸಲಿರುವ ಸೆನ್ಸರ್ ಒಂದು [Grove Time of Flight distance sensor](https://www.seeedstudio.com/Grove-Time-of-Flight-Distance-Sensor-VL53L0X.html). ಈ ಸೆನ್ಸರ್ ಲೇಸರ್ ರೇಂಜಿಂಗ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು ದೂರವನ್ನು ಪತ್ತೆಮಾಡುತ್ತದೆ. ಈ ಸೆನ್ಸರ್ 10 ಮಿ.ಮೀ ರಿಂದ 2000 ಮಿ.ಮೀ (1ಸೆಂ - 2ಮೀ) ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಆ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು ಬಹಳ ನಿಖರವಾಗಿ ವರದಿ ಮಾಡುತ್ತದೆ, 1000 ಮಿ.ಮೀ ಮೇಲ್ಪಟ್ಟ ದೂರಗಳಿಗೆ 8109 ಮಿ.ಮೀ ಎಂದು ವರದಿ ಮಾಡುತ್ತದೆ.
ಲೇಸರ್ ರೇಂಜರ್ ಸೆನ್ಸರ್ ನ ಹಿಂದಿನ ಭಾಗದಲ್ಲಿದೆ, Grove ಸೋಕೇಟ್ ವಿರುದ್ಧದ ಬದಿಯಲ್ಲಿ.
ಇದು I2C ಸೆನ್ಸರ್ ಆಗಿದೆ.
### ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ
Grove ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಅನ್ನು Wio ಟರ್ಮಿನಲ್ ಗೆ ಸಂಪರ್ಕಿಸಬಹುದು.
#### ಕಾರ್ಯ - ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ
ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ.

1. Grove ಕೇಬಲ್ನ ಒಂದು ಕೊನೆಯನ್ನು ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ನ ಸೋಕೇಟ್ನಲ್ಲಿ ನೆಣಶಿಸಿ. ಇದು ಒಂದೇ ದಿಕ್ಕಿನಲ್ಲಿ ಮಾತ್ರ ಹೋಗುತ್ತದೆ.
1. ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಅಥವಾ ಇತರೆ ವಿದ್ಯುತ್ ಸರಬರಾಜಿನಿಂದ Wio ಟರ್ಮಿನಲ್ ಅನ್ನು ವಿಂಗಡಿಸಿದ ಸ್ಥಿತಿಯಲ್ಲಿ, Grove ಕೇಬಲ್ನ ಇತರ ಕೊನೆಯನ್ನು Wio ಟರ್ಮಿನಲ್ ಮೇಲೆ ವಲಯವಿರುವ ಬಲಬದಿ Grove ಸೋಕೇಟ್ ಗೆ, ನೀವು ಸ್ಕ್ರೀನ್ ನೋಡುವಾಗ ಎಡ ಬದಿಯಲ್ಲಿ ಇರುವ Grove ಸೋಕೇಟ್ಗೆ ಸಂಪರ್ಕಿಸಿ. ಇದು ವಿದ್ಯುತ್ ಬಟನ್ ಗೆ ಅತೀ ಹತ್ತಿರದ ಸೋಕೇಟ್. ಇದು ಸಂಯೋಜಿತ ಡಿಜಿಟಲ್ ಮತ್ತು I2C ಸೋಕೇಟ್ ಆಗಿದೆ.

1. ಈಗ ನೀವು Wio ಟರ್ಮಿನಲ್ ಅನ್ನು ನಿಮ್ಮ ಕಂಪ್ಯೂಟರ್ ಗೆ ಸಂಪರ್ಕಿಸಬಹುದು.
## ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಅನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ
Wio ಟರ್ಮಿನಲ್ ಈಗ ಸಂಯೋಜಿಸಲಾದ ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಬಳಕೆ ಮಾಡಲು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು.
### ಕಾರ್ಯ - ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಅನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ
1. PlatformIO ಬಳಸಿ ಸಂಪೂರ್ಣ ಹೊಸ Wio ಟರ್ಮಿನಲ್ ಪ್ರಾಜೆಕ್ಟ್ ರಚಿಸಿ. ಈ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು `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. ಈ ಕೆಳಗೆ, ದೂರ ಮಾಪನವನ್ನು ಮುದ್ರಿಸಿ, ನಂತರ 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
```
ರೇಂಜರ್ಫೈನ್ಡರ್ ಸೆನ್ಸರ್ ಹಿಂದಿನ ಭಾಗದಲ್ಲಿದ್ದು, ನೀವು ದೂರವನ್ನು ಮಾಪಿಸುವಾಗ ಸರಿಯಾದ ಬದಿಯನ್ನು ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿ.

> 💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು [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) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಸರಿಯಾಗಿರುವುದಕ್ಕೆ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪುಗಳಿರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿನ ಮೂಲ ದಾಖಲೆ ನೈಜ ಮತ್ತು ಅಧಿಕೃತ աղբಾರಿಯಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಬೇಕು. ಬಹುಮುಖ್ಯ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗಬಹುದಾದ ಯಾವುದೇ ಅರ್ಥತರುಗು ಅಥವಾ ಭ್ರಾಂತಿಗಳಿಗಾಗಿ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.