Tässä projektissa aiomme liittää HC-SR04-ultraäänianturimoduulin Raspberry Pi -laitteeseen etäisyyden mittaamiseksi. Olemme aiemmin käyttäneet Raspberry Pi: n kanssa ultraäänitunnistinta rakentaaksemme esteen välttävän robotin. Ennen kuin jatkat, kerro siitä ultraäänianturista.
HC-SR04-ultraäänianturi:
Ultraäänianturia käytetään mittaamaan etäisyys suurella tarkkuudella ja vakailla lukemilla. Se voi mitata etäisyyden 2 cm - 400 cm tai 1 tuumasta 13 jalkaan. Se lähettää ultraääniaallon taajuudella 40KHz ilmassa ja jos esine tulee tielle, se palautuu takaisin anturiin. Käyttämällä aikaa, joka kuluu kohteen lyömiseen ja paluuseen, voit laskea etäisyyden.
Ultraäänianturi käyttää tekniikkaa nimeltä "ECHO". ”ECHO” on yksinkertaisesti heijastunut ääniaalto. Sinulla on ECHO, kun ääni heijastuu takaisin umpikujaan pääsyn jälkeen.
HCSR04-moduuli tuottaa äänen värähtelyn ultraäänialueella, kun teemme 'Trigger' -nastan korkeaksi noin 10us: lle, mikä lähettää 8-syklisen äänipurskeen äänen nopeudella ja kun esine on osunut, Echo-nasta vastaanottaa sen. Äänen värähtelyn paluuaikaan riippuen se tarjoaa sopivan pulssilähdön. Jos kohde on kaukana, ECHO: n kuuleminen vie enemmän aikaa ja lähtöimpulssin leveys on suuri. Ja jos este on lähellä, ECHO kuuluu nopeammin ja lähtöimpulssin leveys on pienempi.
Voimme laskea kohteen etäisyyden sen ajan perusteella, jonka ultraääniaalto palaa takaisin anturiin. Koska äänen aika ja nopeus tunnetaan, voimme laskea etäisyyden seuraavilla kaavoilla.
- Etäisyys = (aika x äänen nopeus ilmassa (343 m / s)) / 2.
Arvo jaetaan kahdella, koska aalto kulkee eteenpäin ja taaksepäin samalla etäisyydellä, joten esteen saavuttamiseen kuluva aika on vain puolet kokonaisajasta
Joten etäisyys senttimetreinä = 17150 * T
Olemme aiemmin tehneet monia hyödyllisiä projekteja käyttämällä tätä ultraäänianturia ja Arduinoa, tarkista ne alla:
- Arduino-pohjainen etäisyyden mittaus ultraäänianturilla
- Ovihälytys Arduino- ja ultraäänianturilla
- IOT-pohjainen kaatopaikkaseuranta Arduinolla
Vaaditut komponentit:
Tässä käytämme Raspberry Pi 2 -mallia B Raspbian Jessie -käyttöjärjestelmän kanssa. Kaikista laitteisto- ja ohjelmistovaatimuksista on keskusteltu aiemmin, voit etsiä niitä Raspberry Pi -esittelystä ja Vadelma PI -merkkivalo vilkkuu aloittaaksesi, paitsi mitä tarvitsemme:
- Raspberry Pi esiasennetulla käyttöjärjestelmällä
- HC-SR04-ultraäänianturi
- Virtalähde (5v)
- 1KΩ vastus (3 kpl)
- 1000uF kondensaattori
- 16 * 2 merkin LCD
Piirin selitys:
Yhteydet Vadelma Pi: n ja LCD: n välillä on annettu alla olevassa taulukossa:
LCD-liitäntä |
Vadelma Pi -yhteys |
GND |
GND |
VCC |
+ 5 V |
VEE |
GND |
RS |
GPIO17 |
R / W |
GND |
FI |
GPIO27 |
D0 |
GPIO24 |
D1 |
GPIO23 |
D2 |
GPIO18 |
D3 |
GPIO26 |
D4 |
GPIO5 |
D5 |
GPIO6 |
D6 |
GPIO13 |
D7 |
GPIO19 |
Tässä piirissä käytimme 8-bittistä tiedonsiirtoa (D0-D7) LCD: n yhdistämiseen Raspberry Pi: n kanssa, mutta tämä ei ole pakollista, voimme käyttää myös 4-bittistä tiedonsiirtoa (D4-D7), mutta 4-bittisellä viestintäohjelmalla tulee vähän monimutkainen aloittelijoille, joten siirry vain 8-bittiseen viestintään. Täällä olemme liittäneet 10 nastaista LCD-näyttöä Raspberry Pi: hen, jossa 8 nastaa on datanastoja ja 2 nastaa on ohjausnastoja.
Alla on kytkentäkaavio HC-SR04-anturin ja LCD-näytön yhdistämiseksi Vadelma Pi: n kanssa etäisyyden mittaamiseksi.
Kuten kuvassa näkyy, HC-SR04-ultraäänianturissa on neljä nastaa,
- PIN1 - VCC tai + 5 V
- PIN2- TRIGGER (10us korkea pulssi annetaan käskemään anturia tunnistamaan etäisyys)
- PIN3- ECHO (tarjoaa pulssilähdön, jonka leveys edustaa etäisyyttä liipaisun jälkeen)
- PIN4- MAA
Kaiutappi tarjoaa + 5 V: n lähtöpulssin, jota ei voida kytkeä suoraan Raspberry Pi: hen. Joten käytämme jännitteenjakajan piiriä (rakennettu R1: llä ja R2: lla) saadaksesi + 3,3 V logiikan + 5 V: n logiikan sijaan.
Työselitys:
Täydellinen toiminnan Raspberry Pi Etäisyys Toimenpide sujuu, 1. Käynnistä anturi vetämällä liipaisintappia ylöspäin 10 uS: n ajan.
2. Anturi lähettää ääniaallon. Vastaanotettuaan ECHO: n, anturimoduuli tarjoaa lähdön, joka on verrannollinen etäisyyteen.
3. Tallennamme ajan, jolloin lähtöpulssi siirtyy LOW-arvosta HIGH-arvoon ja milloin taas, kun sen pulssi kulkee muodosta HIGH-LOW.
4. Meillä on aloitus- ja lopetusaika. Käytämme etäisyysyhtälöä etäisyyden laskemiseen.
5. Etäisyys näytetään 16x2 LCD-näytössä.
Vastaavasti olemme kirjoittaneet Python-ohjelman Raspberry Pi: lle suorittamaan seuraavat toiminnot:
1. Lähettimen lähettäminen anturille
2. Tallenna anturin alkaman pulssin lähtö- ja lopetusaika.
3. Laske etäisyys käyttämällä START- ja STOP-aikoja.
4. Tulosten näyttäminen 16 * 2 LCD-näytöllä.
Täydellinen ohjelma ja esittelyvideo ovat alla. Ohjelma on selitetty hyvin kommenttien avulla, jos sinulla on epäilyksiä, voit kysyä alla olevasta kommenttiosasta.