Sisällysluettelo:

Esteiden havaitseminen asynkronisesti ultraäänellä: 4 vaihetta
Esteiden havaitseminen asynkronisesti ultraäänellä: 4 vaihetta

Video: Esteiden havaitseminen asynkronisesti ultraäänellä: 4 vaihetta

Video: Esteiden havaitseminen asynkronisesti ultraäänellä: 4 vaihetta
Video: Ammattilehden ensiesittelyssä Uusi Iveco Daily 2024, Heinäkuu
Anonim
Tunnista esteet asynkronisesti ultraäänien avulla
Tunnista esteet asynkronisesti ultraäänien avulla

Rakennan huvin vuoksi robottia, jonka haluan liikkua itsenäisesti talon sisällä.

Se on pitkä työ ja teen askel askeleelta.

Tämä opettavainen keskittyminen esteiden havaitsemiseen Arduino Megan avulla

Ultraäänianturit HC-SR04 vs HY-SRF05 ovat halpoja ja helppokäyttöisiä, mutta voi olla vaikeaa integroida monimutkaisen robotin mikro-ohjaussilmukkaan. Halusin suorittaa esteiden havaitsemisen asynkronisella tavalla.

_

Olen jo julkaissut kolme ohjekirjaa tämän robotin ominaisuuksista:

  • Tee pyörän anturi
  • Tee WIFI -yhdyskäytäväsi
  • Käytä inertiaalimoduulia

Dokumentaatio tekoälyn ja ultraäänen yhdistämisestä robotin paikallistamiseksi.

Vaihe 1: Mikä tarkalleen on ongelma ultraääni -antureissa ja mikro -ohjaimissa?

Mikä on tarkalleen ongelma ultraääni -antureissa ja mikro -ohjaimissa?
Mikä on tarkalleen ongelma ultraääni -antureissa ja mikro -ohjaimissa?
Mikä on tarkalleen ongelma ultraääni -antureissa ja mikro -ohjaimissa?
Mikä on tarkalleen ongelma ultraääni -antureissa ja mikro -ohjaimissa?

Synkroninen odotus ja Arduino -rajoitukset

Mikrokontrollerien koodi kulkee silmukassa eikä tue monisäikeistä. Ultraäänianturit perustuvat signaalin kestoon. Tämä kesto kestää jopa 30 m sekuntia, mikä on erittäin kauan odottamista silmukan sisällä, kun mikro -ohjaimien on käsiteltävä useita moottoreita ja antureita (esimerkiksi servo- ja tasavirtamoottoreita, joissa on pyöränkooderit).

Joten halusin kehittää objektin, joka toimii asynkronisesti.

Vaihe 2: Miten se toimii?

Kuinka se toimii ?
Kuinka se toimii ?

Se on suunniteltu Atmegaa varten esteiden havaitsemiseen. Se tukee jopa 4 ultraäänianturia.

Säännöllisen ajan keskeytyksen ansiosta järjestelmä voi valvoa jopa 4 ultraäänianturia. Pääkoodin on vain määritettävä, mikä anturi aktivoidaan ehdolla ja kynnyksellä.

Päätoiminnot ovat:

  • Hälytys on esteen perustunnistus ja tarjoaa keskeytyksen, jos vähintään yksi neljästä anturista havaitsee etäisyyden sen kynnyksen alapuolella
  • Monitori on laajennettu toiminto, joka tarjoaa keskeytyksen enintään 4 anturin etäisyystilan yhdistelmällä. Mahdolliset olosuhteet ovat kynnysarvojen yläpuolella, alapuolella, yhtä suuret tai yhtä suuret.

Vaihe 3: Tekniset tiedot

Käytä ajastinta4, joten nasta 6 7 8 ei voi olla PWM.

Kullekin anturille kohde tarvitsee liipaisun PIN -koodin ja keskeytys -PIN -koodin.

Keskeytys -PIN -antureiden lisäksi objekti tarvitsee toisen keskeytys -PIN -koodin ohjelmiston käyttöön.

Vaihe 4: Kuinka toteuttaa?

Kuinka toteuttaa?
Kuinka toteuttaa?

Liitä anturit kuten edellä

Lataa tästä GitHub -arkistosta

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • EsimerkkiEchoObstacleDetection.ino

Luo EchoObstacleDetection -hakemisto IDE -kirjastoosi ja siirrä.cpp ja.h

Testaa

Avaa ExampleEchoObstacleDetection.ino.

Tämä on yksinkertainen esteiden havaitsemisen esimerkki, jossa on 2 ultraäänianturia.

Lähtö on suunnattu sarjamonitorille. Aluksi se tulostaa kahden anturin havaitsemat etäisyydet ja tulostaa sitten hälytykset kynnysarvon alapuolella olevien etäisyyksien mukaan.

Suositeltava: