# సన్నిహితత్వాన్ని గుర్తించండి - రాస్బెర్రీ పై
పాఠ్య భాగంలో, మీరు మీ రాస్బెర్రీ పైకి సన్నిహితత్వ సెన్సార్ జోడించి, దానినుండి దూరాన్ని చదువుతారు.
## హార్డువేర్
రాస్బెర్రీ పైకి ఒక సన్నిహితత్వ సెన్సార్ అవసరం.
మీరు ఉపయోగించబోయే సెన్సార్ [Grove Time of Flight distance sensor](https://www.seeedstudio.com/Grove-Time-of-Flight-Distance-Sensor-VL53L0X.html). ఈ సెన్సార్ లేజర్ రేంజింగ్ మాడ్యూల్ను ఉపయోగించి దూరాన్ని గుర్తిస్తుంది. ఈ సెన్సార్ ఇండ్ల మధ్య 10mm నుండి 2000mm (1cm - 2m) వరకు పరిధి కలిగి ఉంటుంది, మరియు ఆ పరిధిలో విలువలను చాలా ఖచ్చితంగా నివేదిస్తుంది, 1000mm పై దూరాలు 8109mm గా నివేదిస్తాయి.
లేజర్ రేంజ్ఫైండర్ సెన్సార్ వెనుక భాగంలో ఉంది, గ్రోవ్ సాకెట్ యొక్క విరుద్ధ వైపు.
ఇది ఒక I2C సెన్సార్.
### టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ కనెక్ట్ చేయండి
గ్రోవ్ టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ను రాస్బెర్రీ పైకి కనెక్ట్ చేయవచ్చు.
#### టాస్క్ - టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ను కనెక్ట్ చేయండి
టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ను కనెక్ట్ చేయండి.

1. టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ సాకెట్లో గ్రోవ్ కేబుల్ చివర ఒకను పెడండి. ఇది ఒక దిశలో మాత్రమే వెళ్ళుతుంది.
1. రాస్బెర్రీ పై పవర్ ఆఫ్ చేసినప్పుడు, గ్రోవ్ కేబుల్ చివర మరియు రాస్బెర్రీ పైకి కనెక్ట్ అయిన గ్రోవ్ బేస్ హాట్ పై గుర్తించిన **I2C** సాకెట్ ఒకటికి కనెక్ట్ చేయండి. ఈ సాకెట్లు కింద వరసలో, GPIO పిన్లకు విరుద్ధ వైపు మరియు కెమెరా కేబుల్ స్లాట్ సమీపంలో ఉంటాయి.

## టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ ప్రోగ్రామ్ చేయండి
ఇప్పుడు రాస్బెర్రీ పైకి జోడించిన టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ ఉపయోగించడానికి ప్రోగ్రామ్ చేయవచ్చు.
### టాస్క్ - టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ ప్రోగ్రామ్ చేయండి
డివైస్ను ప్రోగ్రామ్ చేయండి.
1. పై ని పవర్ చేయండి మరియు బూట్ అవ్వడానికి వేచి ఉండండి.
1. `fruit-quality-detector` కోడ్ను VS Code లో తెరవండి, ఇది నేరుగా పై పై లేదా Remote SSH ఎక్స్టెన్షన్ ద్వారా కనెక్ట్ చేయవచ్చు.
1. rpi-vl53l0x పిఐపి ప్యాకేజీని ఇన్స్టాల్ చేసుకోండి, ఇది VL53L0X టైమ్ ఆఫ్ ఫ్లైట్ దూరం సెన్సార్తో ఒక Python ప్యాకేజీ. దీన్ని ఈ పిపిఇ కమాండ్ ఉపయోగించి ఇన్స్టాల్ చేయండి
```sh
pip install rpi-vl53l0x
```
1. ఈ ప్రాజెక్ట్లో `distance-sensor.py` అనే కొత్త ఫైల్ సృష్టించండి.
> 💁 బహుళ IoT డివైసులను అనుకరించడానికి అత్యంత సులువు పేది, ప్రతి డివైస్ను వేరే Python ఫైల్లో చేయడం మరియు అవి ఒకేసారి నడపడం.
1. ఈ ఫైల్లో క్రింది కోడ్ను జోడించండి:
```python
import time
from grove.i2c import Bus
from rpi_vl53l0x.vl53l0x import VL53L0X
```
ఇది Grove I2C బస్ లైబ్రరీ మరియు Grove టైమ్ ఆఫ్ ఫ్లైట్ సెన్సార్ హార్డ్వేర్కు సెన్సార్ లైబ్రరీని ఇంపోర్ట్ చేస్తుంది.
1. దీనికింద క్రింది కోడ్ను సెన్సార్ యాక్సెస్ చేయడానికి జోడించండి:
```python
distance_sensor = VL53L0X(bus = Bus().bus)
distance_sensor.begin()
```
ఈ కోడ్ Grove 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) ఫోల్డర్లో కనుగొనవచ్చు.
😀 మీ సన్నిహితత్వ సెన్సార్ ప్రోగ్రాం విజయవంతమైంది!
---
**మినహాయింపు**:
ఈ పత్రిక [Co-op Translator](https://github.com/Azure/co-op-translator) అనే AI అనువాద సేవను ఉపయోగించి అనువదించబడింది. మేము సఠికతకు కనిపెడితేను, స్వయంచాలక అనువాదాల్లో లోటులు లేదా అపార్థాలు ఉండొచ్చు అని దయచేసి గమనించండి. ఒరిజినల్ పత్రిక స్థానిక భాషలోనే సార్వభౌమ ప్రామాణిక వనరు గా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, న్యాయనిష్ఠ మానవ అనువాదాన్ని సిఫార్సు చేస్తాము. ఈ అనువాదం వల్ల ఏమైనా అపార్థాలు లేదా తప్పైన అర్ధం పురస్కరించడంపై మేము బాధ్యత వహించము.