I det här projektet ska vi ansluta HC-SR04 ultraljudssensormodul till Raspberry Pi för att mäta avstånd. Vi har tidigare använt ultraljudssensor med Raspberry Pi för att bygga hinder som undviker robot. Låt oss veta om ultraljudssensorn innan du går vidare.
HC-SR04 ultraljudssensor:
Ultraljudsensorn används för att mäta avståndet med hög noggrannhet och stabila avläsningar. Den kan mäta avstånd från 2 cm till 400 cm eller från 1 tum till 13 fot. Det avger en ultraljudsvåg med frekvensen 40KHz i luften och om objektet kommer i vägen kommer det att studsa tillbaka till sensorn. Genom att använda den tid det tar att slå objektet och kommer tillbaka kan du beräkna avståndet.
Ultraljudsgivaren använder en teknik som kallas "ECHO". "ECHO" är helt enkelt en reflekterad ljudvåg. Du kommer att få en ECHO när ljudet reflekteras tillbaka när du når en återvändsgränd.
HCSR04-modulen genererar en ljudvibration i ultraljudsområdet när vi gör 'Trigger' -stiften hög i ungefär 10us vilket kommer att skicka en 8-cyklisk ljudutbrott vid ljudets hastighet och efter att ha slagit på objektet kommer den att tas emot av Echo-stiftet. Beroende på hur lång tid vibrationerna tar för att komma tillbaka, ger det lämplig pulsutgång. Om objektet är långt borta tar det mer tid för ECHO att höras och utgångspulsbredden blir stor. Och om hindret är nära kommer ECHO att höras snabbare och utsignalens pulsbredd blir mindre.
Vi kan beräkna objektets avstånd baserat på den tid som ultraljudsvåg tar för att återvända till sensorn. Eftersom ljudets tid och hastighet är känd kan vi beräkna avståndet med följande formler.
- Avstånd = (Tid x Ljudets hastighet i luft (343 m / s)) / 2.
Värdet divideras med två eftersom vågen går framåt och bakåt och täcker samma avstånd. Då är tiden för att nå hinder bara hälften av den totala tiden det tar
Så Avstånd i centimeter = 17150 * T.
Vi har tidigare gjort många användbara projekt med denna ultraljudssensor och Arduino, kolla in dem nedan:
- Arduino-baserad avståndsmätning med ultraljudssensor
- Dörrlarm med Arduino och ultraljudssensor
- IOT-baserad Dumpster-övervakning med Arduino
Komponenter som krävs:
Här använder vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alla grundläggande hårdvaru- och mjukvarukrav har tidigare diskuterats, du kan slå upp det i Raspberry Pi Introduction och Raspberry PI LED Blinking för att komma igång, annat än vad vi behöver:
- Raspberry Pi med förinstallerat operativsystem
- HC-SR04 ultraljudssensor
- Strömförsörjning (5v)
- 1KΩ motstånd (3 delar)
- 1000uF kondensator
- 16 * 2 tecken LCD
Kretsförklaring:
Anslutningar mellan Raspberry Pi och LCD ges i nedanstående tabell:
LCD-anslutning |
Raspberry Pi-anslutning |
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 den här kretsen använde vi 8-bitars kommunikation (D0-D7) för att ansluta LCD med Raspberry Pi, men detta är inte obligatoriskt, vi kan också använda 4-bitars kommunikation (D4-D7), men med 4-bitars blir kommunikationsprogrammet lite komplex för nybörjare så gå bara med 8-bitars kommunikation. Här har vi anslutit 10 stift LCD till Raspberry Pi där 8 stift är datapinnar och 2 stift är kontrollstift.
Nedan visas kretsschemat för anslutning av HC-SR04-sensor och LCD med Raspberry Pi för mätning av avståndet.
Som visas i figuren har HC-SR04 ultraljudssensor fyra stift,
- PIN1- VCC eller + 5V
- PIN2- TRIGGER (10us hög puls ges för att berätta sensorn att känna avståndet)
- PIN3- ECHO (ger pulsutgång vars bredd representerar avstånd efter utlösare)
- PIN4- JORD
Echo pin ger + 5V utgångspuls som inte kan anslutas direkt till Raspberry Pi. Så vi kommer att använda Voltage Divider Circuit (byggd med R1 och R2) för att få + 3.3V-logik istället för + 5V-logik.
Arbetsförklaring:
Komplett bearbetning av Raspberry Pi Distance Measure går som, 1. Utlös sensorn genom att dra upp avtryckaren i 10uS.
2. Ljudvåg skickas av sensorn. Efter mottagning av ECHO ger sensormodulen en utgång som är proportionell mot avståndet.
3. Vi registrerar tiden när utgångspulsen går från LÅG till HÖG och när igen när den går från HÖG till LÅG.
4. Vi kommer att ha start- och stopptid. Vi använder distansekvationen för att beräkna avståndet.
5. Avståndet visas i 16x2 LCD-display.
Följaktligen har vi skrivit Python-programmet för Raspberry Pi för att utföra följande funktioner:
1. För att skicka avtryckaren till sensorn
2. Spela in start- och stopptid för pulsutgången från sensorn.
3. Beräkna avståndet med START- och STOPP-tiden.
4. För att visa resultatet på 16 * 2 LCD.
Komplett program och demo-video ges nedan. Programmet förklaras väl genom kommentarerna. Om du är osäker kan du fråga i kommentarsektionen nedan.