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

1. ಗ್ರೋವ್ ಕೇಬಲ್ ಒಂದು ಮುಖ್ಯ ತುದಿಯನ್ನು ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸಾರ್上的ಸಾಕೆಟ್ಗೆ ಹಾಕಿ. ಇದು ಒಂದು ದಿಕ್ಕಿನಲ್ಲಿ ಮಾತ್ರ ಹೋಗುತ್ತದೆ.
1. ರಾಸ್ಬೆರ್ರಿ ಪೈ ಪವರ್ ಆಫ್ ಆಗಿರುವಾಗ, ಗ್ರೋವು ಕೇಬಲ್ ಇತರೆ ತುದಿಯನ್ನು ಪೈಗೆ ಅಟ್ಯಾಚ್ ಆಗಿರುವ ಗ್ರೋವ್ ಬೇಸ್ ಹ್ಯಾಟ್ನ I2C ಟ್ಯಾಗ್ ಇರುವ ಸಾಕೆಟ್ಗೆ ಸೇರಿಸಿ. ಈ ಸಾಕೆಟ್ಗಳು ಕೆಳಗಿನ ಸಾಲಿನಲ್ಲಿ, GPI ಪಿನ್ಸ್ ವಿರುದ್ಧದ ತುದಿಯಲ್ಲಿರುವ ಕ್ಯಾಮೆರಾ ಕೇಬಲ್ ಸ್ಲಾಟ್ ಹತ್ತಿರದಲ್ಲಿವೆ.

## ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ
ರಾಸ್ಬೆರ್ರಿ ಪೈ ಈಗ ಅಟ್ಯಾಚ್ ಆಗಿರುವ ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸಾರ್ ಬಳಸಲು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಬಹುದು.
### ಕಾರ್ಯ - ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ
ಯಂತ್ರವನ್ನು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ.
1. ಪೈಯನ್ನು ಪವರ್ ಅಪ್ ಮಾಡಿ, ಬುಟ್ ಆಗುವದನ್ನು ಕಾಯಿರಿ.
1. `fruit-quality-detector` ಕೋಡ್ ಅನ್ನು VS ಕೋಡ್ನಲ್ಲಿ ತೆರೆಯಿರಿ, ಅದು ನೇರವಾಗಿ ಪೈನಲ್ಲಿ ಅಥವಾ ರಿಮೋಟ್ SSH ವಿಸ್ತರಣೆಯ ಮೂಲಕ ಸಂಪರ್ಕಿಸಿ.
1. rpi-vl53l0x ಪಿಪ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ, ಇದು VL53L0X ಟೈಮ್-ಆಫ್-ಫ್ಲೈಟ್ ದೂರ ಸೆನ್ಸಾರ್ ಜೊತೆ ಸಂವಹನ ಮಾಡುವ ಪೈಥಾನ್ ಪ್ಯಾಕೇಜ್ ಆಗಿದೆ. ಈ ಪಿಪ್ ಕಮಾಂಡ್ ಬಳಸಿ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿರಿ
```sh
pip install rpi-vl53l0x
```
1. ಈ ಯೋಜನೆಯಲ್ಲಿ ಹೊಸ ಫೈಲ್ `distance-sensor.py` ಎಂಬುದನ್ನು ರಚಿಸಿ.
> 💁 ಹಲವು ಆਈಒಟಿ ಸಾಧನಗಳನ್ನು ನಕಲಿಸುವ ಸುಲಭ ಮಾರ್ಗ ಒಂದೊಂದುವಾಗಿ ವಿಭಿನ್ನ ಪೈಥಾನ್ ಫೈಲ್ಗಳಲ್ಲಿ ಮಾಡುವುದು, ನಂತರ ಅವುಗಳನ್ನು ಒಂದೇ ಕಾಲದಲ್ಲಿ ರನ್ ಮಾಡುವುದು.
1. ಈ ಫೈಲ್ಗೆ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
```python
import time
from grove.i2c import Bus
from rpi_vl53l0x.vl53l0x import VL53L0X
```
ಇದು ಗ್ರೋವ್ I2C ಬಸ್ ಲೈಬ್ರರಿ ಮತ್ತು ಗ್ರೋವ್ ಟೈಮ್ ಆಫ್ ಫ್ಲೈಟ್ ಸೆನ್ಸರ್ ನ ಕೋರ್ ಸೆನ್ಸರ್ ಹಾರ್ಡ್ವೇರ್ ಗ್ರಂಥಾಲಯಗಳನ್ನು ಇಂಪೋರ್ಟ್ ಮಾಡುತ್ತದೆ.
1. ಇದಕ್ಕೆ ಕೆಳಗಿನ ಕೋಡ್ ಸೆನ್ಸಾರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಸೇರಿಸಿ:
```python
distance_sensor = VL53L0X(bus = Bus().bus)
distance_sensor.begin()
```
ಈ ಕೋಡ್ ಗ್ರೋವ್ I2C ಬಸ್ ಬಳಸಿಕೊಂಡು ದೂರ ಸೆನ್ಸಾರ್ ಅನ್ನು ಘೋಷಿಸುತ್ತದೆ, ನಂತರ ಸೆನ್ಸರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.
1. ಕೊನೆಗೆ, ದೂರಗಳನ್ನು ಓದಲು ಅನಂತ ಲೂಪ್ ಸೇರಿಸಿ:
```python
while True:
distance_sensor.wait_ready()
print(f'Distance = {distance_sensor.get_distance()} mm')
time.sleep(1)
```
ಈ ಕೋಡ್ ಸენსರ್ನಿಂದ ಓದಲು ಮೌಲ್ಯ ಸಿದ್ಧವಾಗುವವರೆಗೆ ಕಾಯುತ್ತದೆ, ನಂತರ ಅದನ್ನು ಕಾನ್ಸೋಲ್ಗೆ ಪ್ರಿಂಟ್ ಮಾಡುತ್ತದೆ.
1. ಈ ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ.
> 💁 ಈ ಫೈಲ್ ಹೆಸರಿನು `distance-sensor.py` ಆಗಿದೆ ಎಂದು ಮರೆಯಬೇಡಿ! Python ಮೂಲಕ ರನ್ ಮಾಡಿರಿ, `app.py` ಮೂಲಕ ಅಲ್ಲ.
1. ನೀವು ದೂರ ಅಳತೆಗಳನ್ನು ಕಾನ್ಸೋಲ್ನಲ್ಲಿ ಕಾಣುತ್ತೀರಿ. ಸೆನ್ಸರ್ ಹತ್ತಿರ ವಸ್ತುಗಳನ್ನು ಇಟ್ಟು ಆಸ್ಪತ್ರೆಗೆ ಅವರು ದೂರ ಅಳತೆಗೆ ಪ್ರತೀತವಾಗಿ ಕಾಣುತ್ತದೆ:
```output
pi@raspberrypi:~/fruit-quality-detector $ python3 distance_sensor.py
Distance = 29 mm
Distance = 28 mm
Distance = 30 mm
Distance = 151 mm
```
ಶ್ರೇಣಾನ್ವೇಷಕ ಸೆನ್ಸರ್ ಬೆನ್ನಭಾಗದಲ್ಲಿದೆ, ಆಯ್ದ ದಿಕ್ಕಿನ ಮೂಲಕ ದೂರವನ್ನು ಅಳೆಯುವುದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

> 💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು [code-proximity/pi](../../../../../4-manufacturing/lessons/4-trigger-fruit-detector/code-proximity/pi) ಫೋಲ್ಡರ್ನಲ್ಲೂ ಹುಡುಕಬಹುದು.
😀 ನಿಮ್ಮ ಅಂಚಿನನಂತರ ಸೆನ್ಸರ್ ಪ್ರೋಗ್ರಾಂ ಯಶಸ್ವಿಯಾಯಿತು!
---
**ತ್ಯಾಗಪತ್ರಿಕೆ**:
ಈ ದಸ್ತಾವೇಜನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿಕೊಂಡು ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪು ವಿವರಗಳಿರುವ ಸಾಧ್ಯತೆ ಇದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿ ಲಭ್ಯವಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಪ್ರಾಮಾಣಿಕ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ತರ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಸಂಭವಿಸುವ ಯಾವುದೇ ಅರ್ಥಾದೃಷ್ಟಿ ಅಥವಾ ತಪ್ಪುವಾಖ್ಯಾನಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.