I dette prosjektet skal vi grensesnitt HC-SR04 Ultralydsensormodul til Raspberry Pi for å måle avstand. Vi har tidligere brukt ultralydssensor med Raspberry Pi til å bygge hindring som unngår robot. La oss vite om ultralydsensor før du går videre.
HC-SR04 Ultralydssensor:
Ultralydssensoren brukes til å måle avstanden med høy nøyaktighet og stabile målinger. Den kan måle avstand fra 2 cm til 400 cm eller fra 1 tomme til 13 fot. Den avgir en ultralydbølge med frekvensen 40KHz i luften, og hvis objektet kommer i veien, vil den sprette tilbake til sensoren. Ved å bruke den tiden det tar å slå objektet og kommer tilbake, kan du beregne avstanden.
Ultralydssensoren bruker en teknikk kalt “ECHO”. “ECHO” er ganske enkelt en reflektert lydbølge. Du vil få ECHO når lyden reflekteres tilbake etter å ha nådd en blindvei.
HCSR04-modulen genererer en lydvibrasjon i ultralydområdet når vi gjør 'Trigger' -pinnen høy i omtrent 10us, noe som vil sende en 8-syklus sonisk utbrudd med lydhastigheten, og etter å ha truffet objektet vil den bli mottatt av Echo-pinnen. Avhengig av tid det tar av lydvibrasjoner å komme tilbake, gir den passende pulsutgang. Hvis objektet er langt borte, tar det mer tid før ECHO høres og utgangspulsbredden vil være stor. Og hvis hindringen er i nærheten, vil ECHO bli hørt raskere og utgangspulsbredden blir mindre.
Vi kan beregne avstanden til objektet basert på tiden det tar av ultralydbølgen å komme tilbake til sensoren. Siden lydens tid og hastighet er kjent, kan vi beregne avstanden ved hjelp av følgende formler.
- Avstand = (Tid x Lydhastighet i luft (343 m / s)) / 2.
Verdien er delt på to siden bølgen beveger seg fremover og bakover og dekker samme avstand. Dermed er tiden for å nå hindring bare halvparten av den totale tiden det tar
Så Avstand i centimeter = 17150 * T
Vi har tidligere laget mange nyttige prosjekter ved hjelp av denne ultralydsensoren og Arduino, sjekk dem nedenfor:
- Arduino-basert avstandsmåling ved bruk av ultralydssensor
- Døralarm ved hjelp av Arduino og ultralydssensor
- IOT-basert dumperovervåking ved hjelp av Arduino
Nødvendige komponenter:
Her bruker vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alle de grunnleggende maskinvare- og programvarekravene er tidligere diskutert, du kan slå opp i Raspberry Pi Introduction og Raspberry PI LED Blinking for å komme i gang, annet enn det vi trenger:
- Raspberry Pi med forhåndsinstallert OS
- HC-SR04 Ultralydssensor
- Strømforsyning (5v)
- 1KΩ motstand (3 stk)
- 1000uF kondensator
- 16 * 2 tegn LCD
Kretsforklaring:
Forbindelser mellom Raspberry Pi og LCD er gitt i tabellen nedenfor:
LCD-tilkobling |
Raspberry Pi-tilkobling |
GND |
GND |
VCC |
+ 5V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
EN |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
I denne kretsen brukte vi 8-biters kommunikasjon (D0-D7) for å koble LCD med Raspberry Pi, men dette er ikke obligatorisk, vi kan også bruke 4-biters kommunikasjon (D4-D7), men med 4-bits kommunikasjonsprogram blir det litt kompleks for nybegynnere, så bare gå med 8-biters kommunikasjon. Her har vi koblet 10 pinner LCD til Raspberry Pi, hvor 8 pinner er datapinner og 2 pinner er kontrollpinner.
Nedenfor er kretsskjemaet for tilkobling av HC-SR04-sensor og LCD med Raspberry Pi for måling av avstanden.
Som vist på figuren, har HC-SR04 ultralydssensor fire pinner,
- PIN1- VCC eller + 5V
- PIN2- TRIGGER (10us høy puls gitt for å fortelle sensoren å registrere avstanden)
- PIN3- ECHO (gir pulsutgang hvis bredde representerer avstand etter utløser)
- PIN4- JORD
Echo pin gir + 5V utgangspuls som ikke kan kobles direkte til Raspberry Pi. Så vi bruker Voltage Divider Circuit (bygget med R1 og R2) for å få + 3.3V logikk i stedet for + 5V logikk.
Arbeidsforklaring:
Fullstendig bearbeiding av Raspberry Pi Distance Measure går som, 1. Utløs sensoren ved å trekke ut avtrekkerstiften i 10uS.
2. Lydbølgen sendes av sensoren. Etter mottak av ECHO gir sensormodulen en utgang proporsjonal med avstanden.
3. Vi registrerer tiden når utgangspulsen går fra LAV til HØY, og når igjen når den går fra HØY til LAV.
4. Vi vil ha start- og stopptid. Vi vil bruke avstandsligning for å beregne avstanden.
5. Avstanden vises i 16x2 LCD-skjerm.
Derfor har vi skrevet Python-programmet for Raspberry Pi for å utføre følgende funksjoner:
1. For å sende utløseren til sensoren
2. Registrer start- og stopptid for pulsutgang fra sensor.
3. Å beregne avstanden ved å bruke START- og STOPP-tid.
4. For å vise resultatet oppnådd på 16 * 2 LCD-skjermen.
Komplett program og demo-video er gitt nedenfor. Programmet er godt forklart gjennom kommentarene. Hvis du er i tvil kan du spørre i kommentarseksjonen nedenfor.