Sisukord:

Takistuste tuvastamine asünkroonselt ultraheliga: 4 sammu
Takistuste tuvastamine asünkroonselt ultraheliga: 4 sammu

Video: Takistuste tuvastamine asünkroonselt ultraheliga: 4 sammu

Video: Takistuste tuvastamine asünkroonselt ultraheliga: 4 sammu
Video: Takistuse tuvastamine! 2024, November
Anonim
Avastage takistused asünkroonselt ultraheli abil
Avastage takistused asünkroonselt ultraheli abil

Ma ehitan oma lõbuks robotit, mida tahan majas iseseisvalt liigutada.

See on pikk töö ja ma teen seda samm -sammult.

See juhendatav keskendumine takistuste avastamisele Arduino Mega abil

Ultraheli andurid HC-SR04 vs HY-SRF05 on odavad ja hõlpsasti kasutatavad, kuid keerulise roboti mikrokontrolleri ahelasse integreerimine võib muutuda keeruliseks. Tahtsin takistuste tuvastamist asünkroonsel viisil käivitada.

_

Olen juba avaldanud kolm juhendit selle roboti funktsioonide kohta:

  • Tehke oma ratta kodeerija
  • Tehke oma WIFI -lüüs
  • Kasutage inertsiaalmoodulit

Ja dokumentatsioon tehisintellekti ja ultraheli kombineerimise kohta roboti lokaliseerimiseks.

Samm: mis on ultraheli andurite ja mikrokontrollerite probleem?

Mis on ultraheli andurite ja mikrokontrollerite probleem?
Mis on ultraheli andurite ja mikrokontrollerite probleem?
Mis on ultraheli andurite ja mikrokontrollerite probleem?
Mis on ultraheli andurite ja mikrokontrollerite probleem?

Sünkroonne ootamine ja Arduino piirangud

Mikrokontrollerite kood töötab silmusena ja ei toeta mitme lõimega. Ultraheli andurid põhinevad signaali kestusel. See kestus kestab kuni 30 m, mida silmusiseselt tuleb oodata väga kaua, kui mikrokontrollerid peavad tegelema mitme mootori ja anduriga (näiteks servo- ja alalisvoolumootorid koos rattakodeerijatega).

Seega tahtsin arendada objekti, mis töötab asünkroonselt.

Samm 2: Kuidas see toimib?

Kuidas see töötab ?
Kuidas see töötab ?

See on loodud Atmega jaoks takistuste avastamiseks. See toetab kuni 4 ultraheliandurit.

Tänu perioodilisele katkestusele saab süsteem jälgida kuni 4 ultraheliandurit. Põhikood peab määratlema ainult selle, millist andurit tingimuste ja lävega aktiveerida. Peamine katkestatakse ainult juhul, kui ilmub (tingimus, lävi).

Peamised funktsioonid on järgmised:

  • Häire on põhiline takistuste tuvastamine ja katkestab, kui vähemalt üks neljast andurist tuvastab selle läve alla jääva vahemaa
  • Monitor on laiendatud funktsioon, mis võimaldab katkestada kuni 4 anduri kauguse tingimuste kombinatsiooni. Võimalikud tingimused on künnistest üle, alla, võrdsed või mitte.

Samm: tehnilised üksikasjad

Kasutage taimerit 4, nii et tihvti 6 7 8 ei saa kasutada PWM -na.

Iga anduri jaoks vajab objekt päästiku PIN -koodi ja katkestus -PIN -koodi.

Lisaks andurite katkestamise PIN -koodidele vajab objekt tarkvara kasutamiseks teist katkestus -PIN -koodi.

4. samm: kuidas rakendada?

Kuidas rakendada?
Kuidas rakendada?

Ühendage andurid ülaltoodud viisil

Laadige alla sellest GitHubi hoidlast

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • NäideEchoObstacleDetection.ino

Looge oma IDE teeki EchoObstacleDetection kataloog ja liigutage.cpp ja.h

Testige

Avage ExampleEchoObstacleDetection.ino.

See on lihtne takistuste tuvastamise näide, mis töötab kahe ultrahelianduriga.

Väljund on suunatud seeriamonitorile. Alguses prindib see 2 anduri tuvastatud vahemaad ja seejärel prindib hoiatused sõltuvalt künniste all olevatest kaugustest.

Soovitan: