En aquest projecte, farem una interfície del mòdul de sensor ultrasònic HC-SR04 amb Raspberry Pi per mesurar la distància. Anteriorment, hem utilitzat el sensor d’ultrasons amb Raspberry Pi per construir un robot per evitar obstacles. Abans d’anar més lluny, informeu-vos del sensor ultrasònic.
Sensor d'ultrasons HC-SR04:
El sensor d'ultrasons s'utilitza per mesurar la distància amb alta precisió i lectures estables. Pot mesurar la distància de 2cm a 400cm o d’1 polzada a 13 peus. Emet una ona d’ultrasò a la freqüència de 40 KHz a l’aire i, si l’objecte s’interposarà, tornarà al sensor. Utilitzant el temps que triga a copejar l’objecte i torna, podeu calcular la distància.

El sensor d'ultrasons utilitza una tècnica anomenada "ECHO". "ECHO" és simplement una ona sonora reflectida. Tindreu un ECHO quan el so es reflecteixi després d’arribar a un carreró sense sortida.
El mòdul HCSR04 genera una vibració sonora en un rang ultrasònic quan fem el pin "Trigger" alt durant uns 10us que enviarà una ràfega sonora de 8 cicles a la velocitat del so i després de colpejar l'objecte, el rebrà el pin Echo. Depenent del temps que torni la vibració del so per tornar, proporciona una sortida de pols adequada. Si l’objecte està lluny, es necessita més temps per escoltar ECHO i l’amplada de pols de sortida serà gran. I si l’obstacle és a prop, l’ECO s’escoltarà més ràpidament i l’amplada del pols de sortida serà menor.

Podem calcular la distància de l’objecte en funció del temps que triga l’ona ultrasònica a tornar al sensor. Com que es coneix el temps i la velocitat del so, podem calcular la distància mitjançant les següents fórmules.
- Distància = (Temps x Velocitat del so a l’aire (343 m / s)) / 2.
El valor es divideix per dos, ja que l’ona viatja cap endavant i cap enrere cobrint la mateixa distància. Per tant, el temps per arribar a l’obstacle és només la meitat del temps total pres
Llavors, la distància en centímetres = 17150 * T
Anteriorment hem fet molts projectes útils mitjançant aquest sensor ultrasònic i Arduino, comproveu-los a continuació:
- Mesura de distància basada en Arduino mitjançant sensor d'ultrasons
- Alarma de porta mitjançant Arduino i sensor d'ultrasons
- Monitorització basada en IOT amb Arduino
Components necessaris:
Aquí fem servir Raspberry Pi 2 Model B amb Raspbian Jessie OS. Tots els requisits bàsics de maquinari i programari s’han comentat prèviament. Podeu consultar-los a la Introducció de Raspberry Pi i al LED Raspberry PI Parpellejant per començar, a part del que necessitem:
- Raspberry Pi amb sistema operatiu preinstal·lat
- Sensor d'ultrasons HC-SR04
- Font d'alimentació (5v)
- Resistència 1KΩ (3 peces)
- Condensador de 1000uF
- LCD de 16 * 2 caràcters
Explicació del circuit:
Les connexions entre Raspberry Pi i LCD es donen a la taula següent:
|
Connexió LCD |
Connexió Raspberry Pi |
|
GND |
GND |
|
VCC |
+ 5V |
|
VEE |
GND |
|
RS |
GPIO17 |
|
R / N |
GND |
|
EN |
GPIO27 |
|
D0 |
GPIO24 |
|
D1 |
GPIO23 |
|
D2 |
GPIO18 |
|
D3 |
GPIO26 |
|
D4 |
GPIO5 |
|
D5 |
GPIO6 |
|
D6 |
GPIO13 |
|
D7 |
GPIO19 |
En aquest circuit, hem utilitzat la comunicació de 8 bits (D0-D7) per connectar LCD amb Raspberry Pi, però això no és obligatori, també podem utilitzar la comunicació de 4 bits (D4-D7), però amb el programa de comunicació de 4 bits es converteix en una mica complex per a principiants, així que només cal anar amb una comunicació de 8 bits. Aquí hem connectat 10 pins de LCD a Raspberry Pi en què 8 pins són pins de dades i 2 pins són pins de control.
A continuació es mostra el diagrama de circuits per connectar el sensor HC-SR04 i la pantalla LCD amb Raspberry Pi per mesurar la distància.

Com es mostra a la figura, el sensor ultrasònic HC-SR04 té quatre pins,
- PIN1- VCC o + 5V
- PIN2- TRIGGER (es dóna un impuls de 10us per indicar al sensor que detecta la distància)
- PIN3- ECHO (proporciona sortida de pols l'amplada que representa la distància després del disparador)
- PIN4- TERRA
El pin Echo proporciona un impuls de sortida de + 5V que no es pot connectar directament a Raspberry Pi. Per tant, utilitzarem el circuit divisor de tensió (construït amb R1 i R2) per obtenir una lògica de + 3,3 V en lloc de una lògica de + 5 V.
Explicació de treball:
El funcionament complet de la mesura de distància Raspberry Pi funciona com, 1. Activació del sensor estirant el passador del disparador durant 10uS.
2. L’ona sonora és enviada pel sensor. Després de rebre l'ECO, el mòdul del sensor proporciona una sortida proporcional a la distància.
3. Registrarem el temps en què el pols de sortida passa de BAIX a ALT i quan tornarà a passar de ALTA a BAIX.
4. Tindrem hora d’inici i aturada. Utilitzarem l’equació de distància per calcular la distància.
5. La distància es mostra a la pantalla LCD de 16x2.
Per tant, hem escrit el programa Python perquè Raspberry Pi faci les funcions següents:
1. Per enviar el disparador al sensor
2. Registre el temps d’inici i aturada de la sortida d’impulsos des del sensor.
3. Per calcular la distància utilitzant el temps START i STOP.
4. Mostra el resultat obtingut a la pantalla LCD de 16 * 2.
A continuació es mostra el programa complet i el vídeo de demostració. El programa s’explica bé a través dels comentaris, si teniu cap dubte, podeu demanar-ho a la secció de comentaris següent.
