Sisällysluettelo:

Kiinteä tutka (LIDAR) -matriisi Arduinolla: 10 vaihetta (kuvilla)
Kiinteä tutka (LIDAR) -matriisi Arduinolla: 10 vaihetta (kuvilla)

Video: Kiinteä tutka (LIDAR) -matriisi Arduinolla: 10 vaihetta (kuvilla)

Video: Kiinteä tutka (LIDAR) -matriisi Arduinolla: 10 vaihetta (kuvilla)
Video: SOLID STATE LASER OBSTACLE DETECTION SENSOR - LS WT050H 2024, Heinäkuu
Anonim
Kiinteä tutka (LIDAR) -matriisi Arduinon kanssa
Kiinteä tutka (LIDAR) -matriisi Arduinon kanssa
Kiinteä tutka (LIDAR) -matriisi Arduinon kanssa
Kiinteä tutka (LIDAR) -matriisi Arduinon kanssa
Kiinteä tutka (LIDAR) -matriisi Arduinon kanssa
Kiinteä tutka (LIDAR) -matriisi Arduinon kanssa

Kun rakennan kaksijalkaista robottia, ajattelin aina, että minulla on jonkinlainen hieno laite, joka voi jäljittää vastustajan ja tehdä hyökkäysliikkeitä sen kanssa. Täällä on jo olemassa tutka-/lidar -projekteja. Minun tarkoituksessani on kuitenkin joitain rajoituksia:

  • Ultraääniaaltoanturimoduulit ovat melko suuria. Jokainen robotti näyttäisi WALL-E: ltä.
  • Kaikki nykyiset tutkaprojektit sisältävät anturin (joko ultraääniaallot, IR, laser,…) ja keskellä olevan servomoottorin. Ympäristön skannaaminen edellyttää, että servo siirtyy puolelta toiselle. Tavaroiden siirtäminen edestakaisin luo vauhtia muutoksia, mikä on huono kaksijalkaiselle tasapainottamiselle ja kävelylle.
  • Servonopeus rajoittaa skannaustiheyttä. Todennäköisesti vain useita hertsejä voidaan saavuttaa. Vaikka jokin super-servo voi nostaa skannaustiheyttä, tämä aiheuttaisi voimakasta tärinää.
  • [Keskus servomoottori - anturi] -järjestely rajoittaa myös asennusasentoa ja rakennetta. On vaikea asentaa sellaista muuta kuin pää. Mikä tekee minun kaksijalkaisesta näyttävän vapisevalta päältä WALL-E joka kerta. Ei siistiä!
  • [Servo-anturi] -järjestely voidaan rakentaa myös [moottori-anturi] -tyyliksi. Anturi (tai anturit) pyörii jatkuvasti moottorin akselia pitkin. Tämä voi poistaa vauhdin nykäykset ja matalan skannaustiheyden ongelmat, mutta ei vartalon suunnittelun rajoitusta. Myös johdotusvaikeudet lisääntyisivät merkittävästi.

Etsinnän jälkeen tämä pieni anturi VL53L0X ST: ltä roiskui silmiini. Väittämällä "maailman pienin" lennon aika-anturi, mitat ovat vain 4,4 x 2,4 x 1,0 mm. Mukana

  • Sirun IR -lasersäteilijä ja ilmaisin
  • Jopa 2 metrin kantama (1,2 metriä nopeassa tilassa)
  • Ohjelmoitava I2C -osoite
  • GPIO -keskeytyslähtötappi
  • Silmät turvassa

Kaikki nämä erikoisominaisuudet yhdistettynä antoivat minulle mahdollisuuden ratkaista yllä olevat ongelmat, jos joukko VL53L0X -antureita voisi toimia. Alunperin ajattelin, että tätä tutkaa kutsuttaisiin solid state -tutkaksi, mutta huomasin, että tätä termiä käytettiin johonkin muuhun. Siksi otsikossa oleva "paikallaan oleva" sana tarkoittaa, että tässä tutka -laitteessa ei ole liikkuvia osia. Lisäksi vaikka LIDAR (valon tunnistus ja etäisyys) on teknisesti oikea termi tälle sirulle, RADARia kutsutaan tässä yleisemmäksi termiksi.

Syy siihen, miksi ohjelmoitava I2C -osoite ja GPIO -ulostulonappi ovat kriittisiä tälle projektille, selitetään myöhemmin.

Vaihe 1: Työkalut ja osat

Työkalut ja osat
Työkalut ja osat
Työkalut ja osat
Työkalut ja osat

Työkalut

Tässä projektissa tarvitaan seuraavat työkalut:

  • Juotin
  • Juottavat auttavat kädet
  • Dupont -puristustyökalu
  • 1,5 mm kuusiokoloavain
  • Langanpäällysteen poistotyökalu
  • Lankaleikkuri
  • Kuuma liimapistooli
  • Pinsetit
  • Suurennuslasi (fyysinen tai puhelimen sovellukset)
  • Litteät nenäpihdit

Osat

Tässä projektissa käytetään seuraavia osia:

  • 10x VL53L0X GY-530 katkaisulaudat
  • Arduino (Uno, Nano, Mega, Zero, Mini, jne.)
  • Leipälauta ja joitakin leipälautalankoja
  • AWG #26 johdot eri väreillä
  • AWG #30 yksijohtiminen lanka
  • 5x Dupont urosliittimet
  • 5x yhden nastan Dupont -kotelot
  • 10x 3D -tulostetut katkaisulaudan pidikkeet
  • 1x 3D -painettu pyöreä kehys
  • 10x M2x10 litteät ruuvit
  • 10x 0804 LED (sininen suositus)
  • 10x SOT-23 AO3400 N-kanavainen MOSFET
  • Pieni kondensaattori (10 ~ 100uF)

Breakout -lauta

Käyttämäni VL53L0X-murtokortti on GY-530. Saatavilla on myös Adafruit -versio ja Pololu -versio. Jos mahdollista, suosittelen käyttämään Adafruuttia tai Pololun tuotetta, koska ne tarjoavat upeita tuotteita, hienoja opetusohjelmia ja hienoja ohjelmistokirjastoja. Testasin Adafruitin VL53L0X -kirjastolla ja käytin muutettua versiota Pololun VL53L0X -kirjastosta.

Dupont -liittimet

Leipälevyyn käytetään dupont -liittimiä. Voit käyttää mitä tahansa muita käsilläsi olevia yhteyksiä.

Ruuvit ja 3D -tulostetut osat

M2 -ruuveja, pidikkeitä ja pyöreää kehystä käytetään anturien sijoittamiseen pyöreään järjestykseen. Voit käyttää mitä tahansa muita menetelmiä, kuten korttilevyjä, mallipuuta, savea tai jopa kuumaliimaa ne tölkkiin.

Vaihe 2: Breadout Boardin hakkerointi

Breadout Boardin hakkerointi
Breadout Boardin hakkerointi
Breadout Boardin hakkerointi
Breadout Boardin hakkerointi
Breadout Boardin hakkerointi
Breadout Boardin hakkerointi
Breadout Boardin hakkerointi
Breadout Boardin hakkerointi

Kartio tunnistus

Piirsin tunnistuskartion yhdellä moduulilla. Käytä pääosin 3D -tulostettua robottia kohteena. Etäisyys näkyy LED -näytössä ja mitataan karkeasti. Mitatut tiedot tallennetaan Microsoft Excel -tiedostoon ja käytetään käyrän sovitustoimintoa. Paras istuvuus on luonnollinen logaritmikäyrä, jonka tehokas etäisyys on 3 cm - noin 100 cm.

60 cm: n kohdalla yksittäisen anturin tunnistuskäyrä on noin 22 cm. Kun kohde on 20 cm leveä, 10–15 asteen pyöreällä etäisyydellä tutkajärjestelmästä pitäisi saada hyväksyttävä skannaustarkkuus.

I2C -osoite

Vaikka VL53L0X I2C -laitteen osoite on ohjelmoitava, XSHUT-nasta on täysin ohjattava mikro-ohjaimella. Järjestys sen tekemiseksi on seuraava:

  1. Virta kytketään AVDD: hen.
  2. Kaikki VL53L0X -sirut saatetaan Hw -valmiustilaan (nollaus) ajamalla KAIKKI XSHUT -nastat LOW -asentoon.
  3. Jokainen siru poistetaan nollaustilasta yksi kerrallaan. Oletus I2C -osoite käynnistyksen jälkeen on 0x52.
  4. Sirun osoite vaihdetaan uuteen osoitteeseen I2C -komennolla. Esimerkiksi 0x52 muutettiin arvoksi 0x53.
  5. Toista vaiheet 3 ja 4 kaikille siruille.

Teoriassa samassa väylässä voidaan ajaa enintään 126 yksikköä 7-bittisellä osoitealueella. Käytännössä mikro-ohjaimen väyläkapasitanssi ja uppoavan virran rajoitus voivat kuitenkin/pitäisi rajoittaa laitteen enimmäismäärää.

Uutta I2C -osoitetta ei tallenneta VL53L0X -siruun virrankatkaisua tai nollausta vastaan. Tämä prosessi on siis suoritettava kerran jokaisen käynnistyksen yhteydessä. Tämä tarkoittaa yhtä arvokasta tappia jokaista tutkajoukon yksikköä varten. Tämä on liian epäystävällinen johdotukselle ja nastan kulutukselle, kun tutkahihna sisältää 10+ tai 20+ yksikköä.

Kuten vaiheessa STEP1 mainittiin, on onni, että VL53L0X -sirulla on GPIO1 -nasta, jota alun perin käytettiin keskeytykseen.

GPIO-XSHUTN-ketju

GPIO -lähtö on korkean impedanssin tilassa käynnistettäessä ja avoin tyhjennys alhaiselle aktiivisena. GPIO- ja XSHUT-nastat vedetään korkealle AVDD: hen GY-530-murtokortilla, kuten tuoteselosteessa suositellaan. Jotta kaikki VL53L0X -sirut saataisiin luotettavasti Hw Standby -tilaan (XSHUT matala), tarvitsemme logiikan NOT -portin (invertterin) jokaiselle XSHUT -nastalle. Sitten yhdistämme yhden sirun GPIO-lähdön (n. Siru) myöhemmän sirun (N+1-siru) XSHUTN-järjestelmään (XSHUT-NOT).

Kun virta kytketään päälle, kaikki GPIO-nastat (ei-aktiiviset) vedetään ylös, kaikki seuraavat XSHUT-nastat painetaan alas NOT-portin kautta (paitsi varsinainen siru, jossa sen XSHUTN-nasta on kytketty mikro-ohjaimeen). I2C -osoitteen muutos ja XSHUT -vapautus loppupään sirulle tehdään ohjelmistossa yksitellen.

Jos käytät erilaisia katkaisulautoja, sinun on varmistettava, ovatko vetovastusvastukset paikallaan, ja tehtävä asianmukaiset säädöt.

LED -valon lisääminen

Seuraavassa vaiheessa katkaisukorttiin lisätään pieni 0805 SMD -LED, joka yhdistetään XSHUT -tyynystä viereisen kondensaattorin GND -liittimeen. Vaikka LED ei itse vaikuta moduulin toimintaan, se antaa meille hyvän visuaalisen osoitteen XSHUT -logiikkatasolla.

LEDin kytkeminen sarjaan XSHUT-nastan vetovastus (10k minun tapauksessani) aiheuttaa jännitehäviön. Korkean 3,3 V: n logiikkatason sijasta punaisen 0805 -LEDin etujännitehäviö mitataan 1,6 V. Vaikka tämä jännite on korkeampi kuin tietolomakkeen korkea logiikkataso (1.12v), sininen LED on parempi tälle hakkerille. Sinisen LEDin eteenpäin suuntautuva jännitehäviö mitataan noin 2,4 V, mikä on turvallisesti sirun logiikkatason yläpuolella.

N-MOS-invertterin lisääminen (Logic NOT Gate)

Pieni SOT-23 N-kanavainen MOSFET on pinottu lisättyyn LEDiin. Kaksi liitintä (D, S) on juotettava katkaisukorttiin, ja loput liittimet (G) on kytketty ylävirran GPIO -nastaan #26 -johdolla.

Huomautuksia SMD -komponenttien lisäämisestä

SMD -komponenttien juottaminen murtokortille, jota ei ole suunniteltu, ei ole helppo tehtävä. Jos et ole vielä kuullut tuotteista 0805, SMD, SOT-23, on todennäköistä, ettet ole juottanut näitä pieniä pieniä komponentteja aiemmin. Käsitellessään näitä pieniä komponentteja käsin on hyvin yleistä, että:

  • Pieni asia katosi ja katosi lopullisesti,
  • Pienet tyynyt pienen jutun päällä irrotettiin.
  • Pienet jalat pienessä murtuivat juuri.
  • Juotospurkki kokoontui juuri möykkyksi, eikä sitä voitu erottaa.
  • Ja enemmän…

Jos haluat silti tehdä tämän tutkan, voit:

  • Vaihda komponentit suurempaan pakettiin, kuten DIP -tyyliin.
  • Hanki enemmän komponentteja kuin tarvitaan, harjoitteluun ja kulutukseen.

Vaihe 3: Juotetaan 0805 -LED

Juotetaan 0805 LED
Juotetaan 0805 LED
Juotetaan 0805 LED
Juotetaan 0805 LED
Juotetaan 0805 LED
Juotetaan 0805 LED
Juotetaan 0805 LED
Juotetaan 0805 LED

Juotos 0805 SMD LED

0805 -LEDin juottaminen käsin murtokortille, jota ei ole suunniteltu SMD: lle, ei ole ollenkaan helppo tehtävä. Seuraavat vaiheet ovat suositukseni juottaa LED.

  1. Käytä avustajakäsiä pitämään purkulautaa.
  2. Laita juotospastaa SMD -kondensaattorin ja "XSHUT" -levyn reunaan.
  3. Käytä juotosraudalla lisäjuotetta kondensaattorin reunaan.
  4. Laita juotospastaa 0805 -LEDin molempiin päihin.
  5. Käytä juotosraudalla tinaa 0805 -LEDin molempiin päihin.
  6. Sijoita LED pinseteillä kuvan osoittamalla tavalla. Katodipäässä on yleensä merkitty viiva. Esimerkissäni katodin päässä on vihreä viiva. Aseta katodipää kondensaattorin päähän.
  7. Lisää pinseteillä kevyt paine LEDiin kondensaattoria kohti ja juota LED kondensaattorin päähän lisäämällä lämpöä kondensaattorin päähän samanaikaisesti. Älä paina LEDiä voimakkaasti. Sen kansi voi rikkoutua kuumuuden ja liiallisen paineen vaikutuksesta. Lisää juottamisen jälkeen LED -valoa kevyesti sivuttain, jotta voit tarkistaa, onko LED juotettu paikalleen.
  8. Juotos nyt LED XSHUT -dip -padiin. Tämän vaiheen pitäisi olla helpompaa.

Huomautus: Kuvassa näkyvä kondensaattorin pää on tämän katkaisukortin maadoitusliitin. Ja dip pad XSHUT on vedetty ylös vastuksella.

LED -valon testaus

LED -valon pitäisi syttyä, kun kytket virran (esim. 5 V) ja maadoitat katkaisukorttiin.

Vaihe 4: N-kanavaisen MOSFETin juottaminen

N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen
N-kanavan MOSFETin juottaminen

AO3400 N-kanavaisen MOSFETin juottaminen

Tämä MOSFET on SOT-23-paketissa. Meidän on "pinottava" se LEDiin ja lisättävä myös lanka:

  1. Laita juotospasta ja tina kaikki kolme liitintä.
  2. Aseta MOSFET pinseteillä 0805 LED -valon päälle. S -liittimen tulee koskettaa kondensaattorin yläosaa
  3. Juotos S -terminaali kondensaattorin pään kanssa, kuten kuvassa.
  4. Leikkaa pieni osa AWG #30 yksijohtimista lankaa ja poista pinnoite noin 1 cm.
  5. Käytä juotosrautaa sulamaan juote XSHUT -reikään alhaalta ja työnnä #30 johto ylhäältä kuvan osoittamalla tavalla.
  6. Juotoslangan yläpää MOSFET D -liitäntään.
  7. Katkaise ylimääräinen lanka.

Huomautus: MOSFET S -liitin on kytketty kondensaattorin päähän kuvan osoittamalla tavalla. Tämä pää on maadoitusliitin. MOSFET D -liitin on kytketty alkuperäiseen XSHUT -nastaan.

Terminaali G ei ole yhteydessä tällä hetkellä. Sen sijainti on hieman joidenkin vetovoimien yläpuolella. Varmista, että niiden välillä on rako (N-MOS ja vastus), eivätkä ne kosketa toisiaan.

Vaihe 5: Anturiryhmän johdotus

Anturiryhmän johdotus
Anturiryhmän johdotus
Anturiryhmän johdotus
Anturiryhmän johdotus
Anturiryhmän johdotus
Anturiryhmän johdotus

Yhteinen väyläjohdotus

Yhteinen bussi sisältää:

  • Vcc -teho. Punainen kuvassa. Käytän arduino nanoa 5v logiikalla. Katkaisulaudassa on LDO ja tasonvaihtaja. Joten on turvallista käyttää 5v Vinina.
  • Maa. Musta kuvassa.
  • SDA. Vihreä kuvassa.
  • SCL. Keltainen kuvassa.

Nämä neljä riviä ovat yhteisiä viivoja. Katkaise sopivan pituiset johdot ja juota ne rinnakkain kaikkiin anturimoduuleihin. Käytin 20 cm arduinosta ensimmäiseen anturiin ja 5 cm sen jälkeen.

XSHUTN- ja GPIO -johdotus

20 cm valkoinen lanka on arduino -ohjaustapista ensimmäisen anturin XSHUTN -nastaan. Tätä ohjauslinjaa tarvitaan ensimmäisen VL53L0X -sirun poistamiseksi nollasta ja I2C -osoitteen muuttamiseksi.

Kunkin moduulin välinen 5 cm: n valkoinen lanka on ketjunohjauslinja. Ylävirran siru (esimerkiksi siru #3) GPIO-pad on kytketty alavirtaan (esimerkiksi siru #4) XSHUTN-jalkaan (N-kanavainen MOSFET G -pääte).

Varo koskettamasta G -liitintä alla olevaan vastukseen. Voit lisätä eristysnauhan rakoon. Tässä voidaan käyttää tavallisesti VL53L0X -sirun mukana toimitettua suojakalvoa.

Kiinnitä ohjausjohto lämpöpistoolilla.

Kuuma liima

Kuten kuvasta näkyy, valkoisella ohjausjohdolla, lähellä N-MOS G -liitäntää, on lämmintä liimaa. Tämä vaihe on erittäin tärkeä ja ehdottoman välttämätön. Kelluva juotos suoraan SMD -komponentin jalkaan on erittäin heikko. Jopa pieni lankapaine voi rikkoa jalan. Tee tämä vaihe varovasti.

LED -valon testaus

Kun kytket virran (esim. 3.3v-5v) ja maadoitat anturiryhmään, ensimmäisen moduulin LED-valon pitäisi vastata XSHUTN-johdinlogiikkatasolla. Jos liität XSHUTN: n logiikan korkeaan (esim. 3.3v-5v), LED-valon ei pitäisi palaa. Jos liität XSHUTN -johdon matalaan (maadoitettuun), ensimmäisen moduulin LED -valon pitäisi palaa.

Kaikkien seuraavien moduulien LED -valon pitäisi olla pois päältä.

Tämä testi suoritetaan ennen kuin muodostat yhteyden arduinoon.

Vaihe 6: Anturijärjestelmän viimeistely

Image
Image
Anturiryhmän viimeistely
Anturiryhmän viimeistely
Anturiryhmän viimeistely
Anturiryhmän viimeistely
Anturiryhmän viimeistely
Anturiryhmän viimeistely

Daisy -ketjun testaus

Nyt haluamme testata, toimiiko I2C -osoitteenmuutos kaikille matriisin antureille. Kuten mainittiin, ensimmäistä sirua ohjaa arduino. Toista sirua ohjaa ensimmäinen siru ja niin edelleen.

  1. Aseta leipälauta. 5V ja maadoituskisko on kytketty suoraan Adriano 5V: sta ja maasta. Kunkin anturin virrankulutus on arvoltaan 19 mA.
  2. Lisää kondensaattori virtakiskoon Vinin vakauttamiseksi.
  3. Liitä Vin ja Ground anturiryhmästä virtakiskoon.
  4. Liitä SDA arduino Nano-nastaan A4 (voi olla erilainen muille mikro-ohjaimille).
  5. Liitä SCL arduino Nano-nastaan A5 (voi olla erilainen muille mikro-ohjaimille).
  6. Liitä XSHUTN -johto arduino Nano -tappiin D2. (Tätä voidaan muuttaa luonnoksessa).
  7. Siirry githubiin https://github.com/FuzzyNoodle/Fuzzy-Radar ja lataa kirjasto.
  8. Avaa esimerkki "Daisy_Chain_Testing" ja lataa luonnos.

Jos kaikki toimii, tilan merkkivalot syttyvät yksitellen, kuten yllä oleva videoleike.

Voit myös avata sarjaikkunan ja nähdä alustamisen edistymisen. Tulos näyttäisi tältä:

Portin avaaminen Portti auki Käynnistysluonnos. Aseta siru 0 nollaustilaan. Kaikkien tilan merkkivalojen pitäisi olla sammuksissa. Määritä nyt antureita. LEDin pitäisi syttyä yksitellen. Sirun 0 määrittäminen - Nollaa I2C -osoite 83 - Alusta anturi. Sirun 1 määrittäminen - Nollaa I2C -osoite 84 - Alusta anturi. Sirun 2 määrittäminen - Nollaa I2C -osoite 85: ksi - Alusta anturi. Tutkajoukon määritys valmis.

Kokoa pidike ja runko

  1. Aseta jokainen GY-530-moduuli varovasti pidikkeeseen M2x10-ruuvilla. Älä paina MOSFET -laitetta tai vedä XSHUTN -johtoista.
  2. Aseta jokainen pidike pyöreään kehykseen. Liimaa osat kuumalla liimalla.

Jälleen M2 -ruuveja, pidikkeitä ja pyöreää kehystä käytetään anturien sijoittamiseen pyöreään järjestelyyn. Voit käyttää mitä tahansa muita menetelmiä, kuten korttitauluja, mallipuuta, savea tai jopa kuumaliimaa ne tölkkiin.

Käyttämäni 3D -tulostetut tiedostot ovat alla. Pyöreässä kehyksessä on 9 moduulia ja ne on erotettu toisistaan 10 astetta. Jos sinulla on terävä silmä, edellisissä valokuvissa oli 10 moduulia. Syy? Alla selitetty…

Irrota suojakalvo

Jos noudatit vaiheita alusta alkaen, on hyvä hetki poistaa suojakalvo VL53L0X -sirulta. Aiemmissa kuvissani ne on jo poistettu, koska minun on testattava moduulit ja varmistettava, että konsepti toimii ennen tämän ohjeen julkaisemista.

Tietoja suojakalvosta tietolomakkeessa todetaan: "Asiakkaan on poistettava se juuri ennen suojalasin asentamista". VL53L0X -sirun kaksi pientä reikää (lähetin ja vastaanotin) ovat alttiita saasteille, kuten pölylle, rasvalle, kuumaliimalle jne.

Kun alue on saastunut, se voi pienentyä ja lukemat voivat näkyä selvästi. Yksi testimoduulistani on vahingossa saastunut liimasavesta, kantama on pienentynyt 40 cm: iin ja etäisyyslukua suurennetaan virheellisesti 50%. Joten ole varovainen!

Vaihe 7: Tietojen hankkiminen

Image
Image
Laserjäljitin (esittely)
Laserjäljitin (esittely)

Raw_Data_Serial_Output -esimerkin käyttäminen

Nyt haluamme todella nähdä anturiryhmämme tiedot. GitHubin arduino -kirjastossa:

https://github.com/FuzzyNoodle/Fuzzy-Radar

On esimerkki nimeltä Raw_Data_Serial_Output. Tämä esimerkki osoittaa anturiryhmän raakadatan. Lähtöarvot ovat millimetreinä.

Kun anturit on alustettu, sarjaikkunassa pitäisi nähdä jotain tällaista, kun heilutat kättäsi antureiden läpi:

Katso live -esitys videoleikkeestä.

Käyttämällä esimerkkiä Fuzzy_Radar_Serial_Output

Seuraava askel on saada hyödyllisiä tietoja näistä etäisyyslukemista. Halusimme RADARilta kohdeobjektin etäisyyden ja kulman.

  • Etäisyys on millimetreinä suhteessa anturin pintaan. Palauttaminen 0 tarkoittaa, että kohde on alueen ulkopuolella.
  • Kulma on asteina, vaakatasossa. Tällä hetkellä odotettu koodi, että anturit on sijoitettu tasaisesti. 0 asteen palautus tarkoittaa, että kohde on taulukon keskellä.

Joitakin suodatusalgoritmeja käytetään kirjastossa:

  • Melun poisto:

    • Lyhyitä (näytemäärän kannalta) lukemia pidetään meluna ja ne poistetaan.
    • Lukemat, jotka ovat kaukana keskiarvosta, poistetaan.
  • Painokulman laskeminen (katso yllä oleva kuva)

    • Kohde -objektin oletetaan olevan tasainen pinta
    • Jos useat anturit ovat havainneet kohteen samanaikaisesti, jokaiselle anturille lasketaan paino.
    • Kunkin anturin paino on kääntäen verrannollinen sen etäisyyteen.
    • Tulosenkeli lasketaan kunkin anturin painotetusta kulmasta.
  • Ensisijainen kohteen valinta:

    • Jos lukumääräryhmiä on useampi kuin yksi, laajin ryhmä (jossa on enemmän anturilukumääriä) säilyy.
    • Jos esimerkiksi asetat kaksi kättä anturiryhmän eteen, useiden antureiden havaitsema käsi pysyy.
  • Lähin kohteen valinta:

    • Jos havaittuja samantyyppisiä ryhmiä on useita, lähimpänä oleva ryhmä pysyy.
    • Jos esimerkiksi asetat kaksi kättä anturiryhmän eteen ja kahdella havaitulla ryhmällä on sama anturimäärä, lähempänä anturia oleva ryhmä pysyy.

Lähtöetäisyys ja kulma tasoitetaan alipäästösuodattimen kautta

Raw_Data_Serial_Output -toiminnossa raakaetäisyyslukemat muunnetaan etäisyys- ja kulma -arvoiksi. Kun olet ladannut luonnoksen, voit avata sarjaikkunan nähdäksesi samanlaisen tuloksen:

Objektia ei havaittu. Objektia ei havaittu. Etäisyys = 0056 Kulma = 017 Etäisyys = 0066 Kulma = 014 Etäisyys = 0077 Kulma = 011 Etäisyys = 0083 Kulma = 010 Etäisyys = 0081 Kulma = 004 Etäisyys = 0082 Kulma = 000 Etäisyys = 0092 Kulma = 002 Etäisyys = 0097 Kulma = 001 Etäisyys = 0096 Kulma = 001 Etäisyys = 0099 Kulma = 000 Etäisyys = 0101 Kulma = -002 Etäisyys = 0092 Kulma = -004 Etäisyys = 0095 Kulma = -007 Etäisyys = 0101 Kulma = -008 Etäisyys = 0112 Kulma = -014 Etäisyys = 0118 Kulma = -017 Etäisyys = 0122 Kulma = -019 Etäisyys = 0125 Kulma = -019 Etäisyys = 0126 Kulma = -020 Etäisyys = 0125 Kulma = -022 Etäisyys = 0124 Kulma = -024 Etäisyys = 0133 Kulma = -027 Etäisyys = 0138 Kulma = - 031 Etäisyys = 0140 Kulma = -033 Etäisyys = 0136 Kulma = -033 Etäisyys = 0125 Kulma = -037 Etäisyys = 0120 Kulma = -038 Etäisyys = 0141 Kulma = -039 Objektia ei havaittu. Objektia ei havaittu. Objektia ei havaittu.

Joten nyt sinulla on RADAR (LIDAR):

  • Pienempi kuin ultraäänianturimoduulit
  • Ei liikkuvia osia
  • Skannaa 40 Hz: llä.
  • Vyön muotoinen, voidaan asentaa pyöreään runkoon
  • Käytä vain kolmea ohjausjohtoa sekä virta ja maadoitus.
  • Alue on 30–1000 millimetriä.

Seuraavissa vaiheissa näytämme sinulle hienoja esityksiä!

Vaihe 8: Laserjäljitin (esittely)

Image
Image
Laserjäljitin (esittely)
Laserjäljitin (esittely)

Tämä on yksi esimerkki edellisistä vaiheista rakentamamme kiinteän tutkan käytöstä. Tätä vaihetta ei ole kirjoitettu yksityiskohtaisesti, koska tämä on tutkan esittely. Yleensä tarvitset näitä lisäesineitä tämän esittelyprojektin rakentamiseen:

  • Kaksi servoa
  • Laserkynän säteilevä pää
  • MOSFET- tai NPN -transistori ohjaamaan laserpään lähtöä
  • Servojen virtalähde. Se on erotettava mikro-ohjaimesta.

Koodin voi ladata täältä.

Katso video.

Vaihe 9: Poopeyesin tuijottaminen (esittely)

Image
Image

Esittely tutkan käyttämisestä kaukana kohteen sijainnin ja etäisyyden seurantaan.

Suositeltava: