Šajā projektā mēs saskaramies ar HC-SR04 ultraskaņas sensoru moduli ar Raspberry Pi, lai izmērītu attālumu. Iepriekš mēs izmantojām ultraskaņas sensoru ar Raspberry Pi, lai izveidotu robotu, kas ļauj izvairīties no šķēršļiem. Pirms doties tālāk, ļaujiet uzzināt par ultraskaņas sensoru.
HC-SR04 ultraskaņas sensors:
Ultraskaņas sensoru izmanto, lai mērītu attālumu ar augstu precizitāti un stabiliem rādījumiem. Tas var izmērīt attālumu no 2 cm līdz 400 cm vai no 1 collas līdz 13 pēdām. Tas gaisā izstaro ultraskaņas viļņu frekvenci 40KHz, un, ja objekts nonāks ceļā, tas atgriezīsies pie sensora. Izmantojot laiku, kas nepieciešams objekta sitienam un atgriešanās brīdim, jūs varat aprēķināt attālumu.
Ultraskaņas sensors izmanto paņēmienu, ko sauc par “ECHO”. “ECHO” ir vienkārši atspoguļots skaņas vilnis. Jums būs ECHO, kad pēc strupceļa sasniegšanas skaņa atspoguļosies atpakaļ.
HCSR04 modulis ģenerē skaņas vibrāciju ultraskaņas diapazonā, kad mēs izveidojam 'Trigger' tapu augstu apmēram 10us, kas ar skaņas ātrumu nosūtīs 8 ciklu skaņas sprādzienu, un pēc objekta sitiena to saņems Echo pin. Atkarībā no laika, kas nepieciešams, lai atgrieztos skaņas vibrācija, tas nodrošina atbilstošu impulsu izvadi. Ja objekts atrodas tālu, ECHO dzirdēšanai nepieciešams vairāk laika, un izejas impulsa platums būs liels. Un, ja šķērslis ir tuvu, ECHO dzirdēs ātrāk un izejas impulsa platums būs mazāks.
Mēs varam aprēķināt objekta attālumu, pamatojoties uz laiku, kas nepieciešams ultraskaņas viļņiem, lai atgrieztos atpakaļ pie sensora. Tā kā ir zināms skaņas laiks un ātrums, attālumu varam aprēķināt pēc šādām formulām.
- Attālums = (laiks x skaņas ātrums gaisā (343 m / s)) / 2.
Vērtība tiek dalīta ar divām, jo vilnis pārvietojas uz priekšu un atpakaļ, aptverot to pašu attālumu. Tādējādi laiks, lai sasniegtu šķērsli, ir tikai puse no kopējā patērētā laika.
Tātad attālums centimetros = 17150 * T
Iepriekš mēs esam izveidojuši daudz noderīgu projektu, izmantojot šo ultraskaņas sensoru un Arduino, pārbaudiet tos zemāk:
- Arduino bāzes attāluma mērīšana, izmantojot ultraskaņas sensoru
- Durvju trauksme, izmantojot Arduino un ultraskaņas sensoru
- IOT balstīta atkritumu savākšanas uzraudzība, izmantojot Arduino
Nepieciešamās sastāvdaļas:
Šeit mēs izmantojam Raspberry Pi 2 B modeli ar Raspbian Jessie OS. Visas aparatūras un programmatūras pamatprasības ir iepriekš apspriestas, lai sāktu darbu, varat to apskatīt Raspberry Pi ievadā un mirgo Raspberry PI LED, izņemot mums nepieciešamo:
- Aveņu Pi ar iepriekš instalētu OS
- HC-SR04 ultraskaņas sensors
- Barošanas avots (5v)
- 1KΩ rezistors (3 gab.)
- 1000uF kondensators
- 16 * 2 rakstzīmju LCD
Ķēdes skaidrojums:
Savienojumi starp Raspberry Pi un LCD ir norādīti zemāk esošajā tabulā:
LCD savienojums |
Aveņu Pi savienojums |
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 |
Šajā shēmā mēs izmantojām 8 bitu sakarus (D0-D7), lai savienotu LCD ar Raspberry Pi, taču tas nav obligāti, mēs varam izmantot arī 4 bitu sakarus (D4-D7), bet ar 4 bitu sakaru programma kļūst mazliet komplekss iesācējiem, tāpēc vienkārši dodieties ar 8 bitu komunikāciju. Šeit mēs esam savienojuši 10 LCD tapas ar Raspberry Pi, kurā 8 tapas ir datu tapas un 2 tapas ir vadības tapas.
Zemāk ir shēma, kā savienot HC-SR04 sensoru un LCD ar Raspberry Pi attāluma mērīšanai.
Kā parādīts attēlā, HC-SR04 ultraskaņas sensoram ir četras tapas,
- PIN1- VCC vai + 5V
- PIN2- TRIGGER (10us augsts impulss, kas norādīts, lai sensors uztvertu attālumu)
- PIN3- ECHO (nodrošina impulsa izvadi, kura platums apzīmē attālumu pēc sprūda)
- PIN4- ZEME
Echo pin nodrošina + 5V izejas impulsu, kuru nevar tieši savienot ar Raspberry Pi. Tātad, lai iegūtu + 3,3 V loģiku, nevis 5 V loģiku, mēs izmantosim sprieguma dalītāja shēmu (izveidota, izmantojot R1 un R2).
Darba skaidrojums:
Pilnīga Raspberry Pi attāluma mērīšanas darbība notiek, 1. Sensora iedarbināšana, uzvelkot sprūda tapu 10uS.
2. Skaņas vilni sūta sensors. Pēc ECHO saņemšanas sensora modulis nodrošina izeju proporcionāli attālumam.
3. Mēs ierakstīsim laiku, kad izejas impulss iet no LOW uz HIGH un kad atkal, kad tas iet no HIGH uz LOW.
4. Mums būs sākuma un beigu laiks. Lai aprēķinātu attālumu, mēs izmantosim attāluma vienādojumu.
5. Attālums tiek parādīts 16x2 LCD displejā.
Attiecīgi mēs esam uzrakstījuši Python programmu Raspberry Pi, lai veiktu šādas funkcijas:
1. Lai nosūtītu sprūdu sensoram
2. Pierakstiet sensora impulsa izejas sākuma un beigu laiku.
3. Lai aprēķinātu attālumu, izmantojot START un STOP laiku.
4. Lai parādītu iegūto rezultātu 16 * 2 LCD displejā.
Pilna programma un demonstrācijas video ir sniegti zemāk. Programma ir labi izskaidrota ar komentāriem, ja jums ir kādas šaubas, varat uzdot komentāru sadaļā zemāk.