Kuinka perustaa ultraääni Range Finder Arduino

ultraääni alue löytäjät ovat hauskoja vähän anturit, jotka voivat mitata etäisyyttä. Niiden avulla voit löytää etäisyyden kohteeseen tai havaita, milloin jokin on lähellä sensoria, kuten liiketunnistin. Ne ovat ihanteellisia projekteihin, jotka liittyvät navigointiin, esineiden välttämiseen ja kodin turvallisuuteen. Koska ne mittaavat etäisyyden äänen avulla, ne toimivat yhtä hyvin pimeässä kuin valossakin., Ultraääni-etäisyysmittarin tulen käyttämään tässä oppaassa on HC-SR04, joka voi mitata etäisyyksiä 2 cm 400 cm, jonka tarkkuus on ±3 mm.

tässä artikkelissa, minä näytän sinulle, miten tehdä kolme eri etäisyysmittarin piirit Arduino. Ensimmäinen range finder piiri on helppo asentaa, ja on melko hyvä tarkkuus. Kaksi muuta ovat hieman monimutkaisempia, mutta tarkempia, koska ne vaikuttavat lämpötilaan ja kosteuteen. Mutta ennen kuin pääsemme siihen, puhutaan siitä, miten range finder mittaa etäisyyden.,

BONUS: tein quick start guide varten tämä opetusohjelma, jonka voit ladata ja palata myöhemmin, jos et voi määrittää tämän juuri nyt. Se kattaa kaikki vaiheet, kaaviot, ja koodi sinun täytyy aloittaa.

Äänen Nopeus

Ultraääni-alue etsijöitä mittaa etäisyyden lähettämällä pulssin ultraääni ääni, joka kulkee ilmassa, kunnes se osuu objektin. Kun äänipulssi osuu kohteeseen, se heijastuu kohteesta ja siirtyy takaisin ultraäänialueen löytäjälle., Ultraääni range finder-mittaa, kuinka kauan kestää äänen pulssi matkustaa sen edestakainen matka-anturi ja takaisin. Sen jälkeen se lähettää arduinolle signaalin, jossa on tietoa siitä, kuinka kauan sonic-pulssin matka kesti.

Tietäen, aika kuluu pulssi matkustaa edestakaisin objektiin, ja myös tietäen äänen nopeus, Arduino voidaan laskea etäisyys kohteeseen., Kaava koskee äänen nopeuden, matkan ja ajan matkustanut on:

Järjestämässä tätä kaavaa, saamme kaavaa käytetään laskea etäisyys:

kun muuttuja on aika, joka kuluu pulssin lähteä anturi, kimpoavat kohde, ja palaa anturiin., Me itse jakaa tällä kertaa kahtia, koska me emme vain täytyy mitata etäisyys kohteeseen, ei etäisyys kohteeseen ja takaisin anturiin. Nopeusmuuttuja on nopeus, jolla ääni kulkee ilman läpi.

äänen nopeus ilmassa muuttuu lämpötilan ja kosteuden myötä. Siksi, jotta tarkasti laskea etäisyys, meidän täytyy harkita ympäristön lämpötila ja kosteus., Kaava äänen nopeus ilmassa, jossa lämpötila ja kosteus osuus on:

esimerkiksi, lämpötilassa 20°C ja 50% kosteus, ääni kulkee nopeudella:

yllä olevassa kaavassa, se on selvää, että lämpötila on suurin vaikutus äänen nopeus. Kosteudella on jonkin verran vaikutusta, mutta se on paljon vähemmän kuin lämpötilan vaikutus.,

kuinka Ultrasonic Range Finder mittaa etäisyyden

ultrasonic range Finderin etuosassa on kaksi metallisylinteriä. Nämä ovat muuntimia. Muuntimet muuntavat mekaaniset voimat sähkösignaaleiksi. Ultrasonic range Finderissa on lähettävä anturi ja vastaanottava anturi. Lähettävä anturi muuntaa sähköisen signaalin osaksi ultraääni-pulssi, ja vastaanottava anturi muuntaa heijastuneen pulssin takaisin sähköiseksi signaaliksi., Jos katsot takaisin range finder, näet IC takana lähettävä anturi merkitty MAX3232. Tämä on IC, joka ohjaa lähettävää anturia. Vastaanottavan anturin takana on IC-merkintä LM324. Tämä on quad Op-Amp, joka vahvistaa signaalin tuottamat vastaanottava anturi signaalin, joka on tarpeeksi vahva lähettää Arduino.,

HC-SR04 ultraääni-range finder on neljä nastaa:

  • Vcc – virta tuottaa ultraääni-pulssien
  • GND – kytketty maahan
  • Trig – jossa Arduino lähettää signaalin aloittaa pulssi
  • Echo – missä ultraääni-etäisyysmittarin lähettää tietoa matkan kesto ottanut pulssi Arduino

aloittaa etäisyyden mittaus, meidän täytyy lähettää 5V korkea signaali Trig pin vähintään 10 µs., Kun moduuli vastaanottaa tämän signaalin, se lähettää 8 pulssia ultraääni ääni taajuudella 40 KHz lähettävästä anturi. Sitten se odottaa ja kuuntelee vastaanottavaa anturia heijastuneen signaalin varalta. Jos esine on kantaman sisällä, 8 pulssia heijastuu takaisin anturiin. Kun pulssi osuu vastaanottavaan anturiin, Kaikutappi lähettää suurjännitesignaalin.

pituus tämän korkean jännitteen signaali on yhtä suuri kuin yhteensä aika 8 pulsseja ottaa matkustaa lähettävän anturin ja takaisin vastaanottava anturi., Haluamme kuitenkin vain mitata etäisyyden kohteeseen, emmekä sen polun etäisyyttä, jonka äänipulssi vei. Siksi me jakaa, että aika puoli saada aikamuuttuja D = S x T yhtälö edellä. Koska tiedämme jo äänen nopeuden (s), voimme ratkaista yhtälön etäisyyden.

Ultraääni-etäisyysmittarin Setup Serial Monitor-Ulostulo

aloitetaan tekemällä yksinkertainen ultraääni-etäisyysmittarin, että lähtö etäisyys mittaukset teidän serial monitor. Jos haluat lähettää lukemat LCD sen sijaan, tutustu seuraavaan osioon., Yhdistää kaikki on helppoa, vain lanka sen näin:

Kun sinulla on kaikki kytketty, lataa tämä ohjelma Arduino:

kuvaus Koodi

  • Linja 11: Julistaa muuttujia duration ja distance.
  • Linjat 12 ja 13: Lähettää 2 µs ALHAINEN signaali trigPin varmista, että se on pois päältä alussa program silmukka.,
  • Rivit 15-17: Lähettää 10 µs KORKEA signaali trigPin aloittaa sekvenssin kahdeksan 40 KHz ultraääni-pulssien lähetetään lähettävän anturin.
  • Linja 19: Määritellään duration muuttuja, koska pituus (µs) mitään HIGH input signal detected at echoPin. Echo pin ulostulo on yhtä kuin aika, joka se vie säteilevän ultraääni pulssi matkustaa kohteeseen ja takaisin anturi.,
  • Linja 20: Määritellään distance muuttuja kesto (aika d = s x t) kerrottuna äänen nopeus muuntaa metriä sekunnissa senttiä per µs (0.0344 cm/µs).
  • Rivit 22-24: Jos etäisyys on suurempi tai yhtä suuri kuin 400 cm, tai pienempi tai yhtä suuri kuin 2 cm, näyttö ”Etäisyys = Out of range” on serial monitor.
  • linjat 26-30: jos etäisyysmittaus ei ole kantaman ulkopuolella, Näytä sarjamonitorissa rivillä 20 laskettu etäisyys 500 ms.,

Ultraääni-etäisyysmittari LCD-Lähtö

Jos haluat lähtö etäisyys mittaukset on 16X2 LCD, seuraa tämä kaavio yhdistää range finder ja LCD Arduino:

Jos tarvitset enemmän apua kytkeminen LCD-näyttöön, kokeile muita opetusohjelma määrittäminen LCD Arduino., Kun kaikki on kytketty, lataa tämä koodi Arduino:

Suurempi Tarkkuus Ultraääni-etäisyysmittarin

Koska lämpötila on muuttuja äänen nopeuden yhtälö edellä (c = 331.4 + (0.606 x T) + (0.0124 x H)), ilman lämpötila noin anturi vaikuttaa meidän etäisyyden mittaukset. Kompensoidaksemme tämän, meidän tarvitsee vain lisätä termistori meidän piiri ja syöttää sen lukemat yhtälöön. Tämän pitäisi antaa etäisyysmittauksillemme enemmän tarkkuutta., Termistori on muuttuva vastus, joka muuttaa vastuksen lämpötilan. Lisätietoja thermistors, tutustu artikkeli, Arduino Thermistor Lämpötila anturi opetusohjelma. Tässä on kaavio, joka auttaa sinua lisätä termistori teidän range finder-piiri:

  • R1 = 10K Ohm vastus
  • Th = termistori 10K Ohmia

Huomautus: arvo R1 olisi yhtä suuri vastus oman termistori.,

Kun kaikki on kytketty, lataa tämä koodi Arduino:

kuvaus Koodi

perus range finder-ohjelman alussa tämän artikkelin, me käytetään kaavalla d = s x t laskea etäisyys. Tässä ohjelmassa, käytämme kaavaa, että osuus on lämpötila ja kosteus (c = 331.4 + (0.606 x T) + (0.0124 x S)).

linjat 5-10, Steinhartin-Hart yhtälö käytetään muuntamaan termistori vastus arvot lämpötilan, joka tallennetaan muuttujaan nimeltä temp., Rivillä 35, me lisätä uusi muuttuja (spdSnd), joka sisältää äänen nopeuden yhtälö. Ulostulo spdSnd muuttujaa käytetään, kun nopeus distance toiminto rivillä 36.

Erittäin Korkea (Liian Korkea) Tarkkuus Ultraääni-etäisyysmittarin

lämpötilakompensoitu ultraääni-etäisyysmittarin piiri on melko tarkka siitä, mitä useimmat ihmiset käyttävät sitä. Kuitenkin, on toinen tekijä, joka vaikuttaa äänen nopeus ilmassa (ja siksi, että etäisyyden laskenta), ja se on kosteus., Voit kertoa äänen nopeuden yhtälö, että kosteus on vain pieni vaikutus äänen nopeus, mutta voit tarkistaa sen ulos.

Arduinolla on useita erilaisia kosteusantureita, mutta käytän DHT11-kosteus-ja lämpötila-anturia. Tämä moduuli on itse asiassa termistori lisäksi kosteus-anturi, joten sarja on todella yksinkertainen:

Kun kaikki on kytketty, meidän täytyy asentaa erityinen library ajaa koodia., Kirjasto on Rob Tillaartin kirjoittama dhtlib-kirjasto. Kirjasto on helppo asentaa. Ensimmäinen, Lataa .zip-tiedosto alla. Sitten Arduino IDE, mennä Luonnos>Sisällytä Library>Lisää ZIP-Kirjasto, valitse DHTLib.zip-tiedosto.,

DHTLib

sen Jälkeen, kun kirjasto on asennettu, lataa tämä koodi Arduino:

kuvaus Koodi

lämpötilan ja kosteuden lukemat tuotos DHT11 ovat digitaalisia, joten meidän ei tarvitse käyttää Steinhartin-Hart yhtälö muuntaa termistori on vastus lämpötilan. Se DHTLib kirjasto sisältää kaikki toiminnot, joita tarvitaan saada lämpötila ja kosteus yksiköissä voimme käyttää suoraan äänen nopeuden yhtälö. Muuttujat, lämpötila ja kosteus ovat nimeltään DHT.temperature ja DHT.humidity., Tämän jälkeen nopeutta käytetään muuttujana linjan 28 etäisyysyhtälössä.

lähtö etäisyys mittaukset LCD, ensin kytke LCD seuraavat opetusohjelma Miten perustaa LCD-Näyttö Arduino, sitten ladata tämän koodin:

Katso video opetusohjelma nähdä ultraääni-etäisyysmittarin piirien toiminta:

Kiitos käsittelyssä! Jätä kommentti, jos sinulla on kysyttävää siitä, miten perustaa nämä., Jos pidät artikkeleita täällä Piiri Perusteet, tilata ja me ilmoitamme sinulle kun julkaisemme uusia artikkeleita. Myös, jos tunnet jonkun muun, joka pitäisi tätä artikkelia hyödyllisenä, ole hyvä ja jaa se!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *