Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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?
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?
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?
Ü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.