Turinys:

Asinchroniškai aptikti kliūtis naudojant ultragarsą: 4 žingsniai
Asinchroniškai aptikti kliūtis naudojant ultragarsą: 4 žingsniai

Video: Asinchroniškai aptikti kliūtis naudojant ultragarsą: 4 žingsniai

Video: Asinchroniškai aptikti kliūtis naudojant ultragarsą: 4 žingsniai
Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024, Liepa
Anonim
Asinchroniškai aptikti kliūtis naudojant ultragarsą
Asinchroniškai aptikti kliūtis naudojant ultragarsą

Aš linksmybėms kuriu robotą, kurį noriu savarankiškai perkelti namo viduje.

Tai ilgas darbas, kurį darau žingsnis po žingsnio.

Šis pamokomas dėmesys skiriamas kliūčių aptikimui naudojant „Arduino Mega“

Ultragarsiniai jutikliai HC-SR04 vs HY-SRF05 yra pigūs ir paprasti naudoti, tačiau gali būti sunku integruoti į sudėtingo roboto mikrovaldiklio kilpą. Norėjau paleisti kliūtis asinchroniškai.

_

Aš jau paskelbiau 3 instrukcijas apie šio roboto funkcijas:

  • Padarykite savo ratų kodavimo įrenginį
  • Sukurkite „WIFI Gateway“
  • Naudokite inercinį modulį

Ir dokumentai apie dirbtinio intelekto ir ultragarso derinimą, kad būtų galima nustatyti robotą.

1 žingsnis: Kokia yra ultragarso jutiklių ir mikrovaldiklių problema?

Kokia yra ultragarso jutiklių ir mikrovaldiklių problema?
Kokia yra ultragarso jutiklių ir mikrovaldiklių problema?
Kokia yra ultragarso jutiklių ir mikrovaldiklių problema?
Kokia yra ultragarso jutiklių ir mikrovaldiklių problema?

Sinchroninis laukimas ir „Arduino“apribojimai

Mikrovaldiklių kodas veikia ciklu ir nepalaiko kelių gijų. Ultragarso jutikliai yra pagrįsti signalo trukme. Ši trukmė trunka iki 30 m s, todėl labai ilgai reikia laukti ciklo viduje, kai mikrovaldikliai turi dirbti su keliais varikliais ir jutikliais (pavyzdžiui, servo ir nuolatinės srovės varikliai su ratų kodavimo įrenginiais).

Taigi norėjau sukurti objektą, kuris veikia asinchroniškai.

2 veiksmas: kaip tai veikia?

Kaip tai veikia ?
Kaip tai veikia ?

Jis buvo sukurtas „Atmega“, skirtas kliūtims aptikti. Jis palaiko iki 4 ultragarso jutiklių.

Dėl periodinio laiko pertraukimo sistema gali stebėti iki 4 ultragarso jutiklių. Pagrindinis kodas turi tik apibrėžti, kurį jutiklį suaktyvinti su sąlyga ir slenksčiu. Pagrindinis bus nutrauktas tik tuo atveju, jei pasirodys (sąlyga, slenkstis).

Pagrindinės funkcijos yra šios:

  • Įspėjimas yra pagrindinis kliūčių aptikimas ir suteikia pertrauką, jei bent vienas iš 4 jutiklių aptinka atstumą žemiau slenksčio
  • Monitorius yra išplėstinė funkcija, leidžianti pertraukti iki 4 jutiklių atstumą. Galimos sąlygos viršija, yra mažesnės, lygios arba nelygios.

3 žingsnis: techninė informacija

Naudokite laikmatį4, todėl 6 7 8 kaiščio negalima naudoti kaip PWM.

Kiekvienam jutikliui objektui reikia paleidimo PIN ir pertraukimo PIN.

Be jutiklių pertraukimo PIN kodų, norint naudoti programinę įrangą, objektui reikia kito pertraukimo PIN.

4 žingsnis: kaip įgyvendinti?

Kaip įgyvendinti?
Kaip įgyvendinti?

Prijunkite jutiklius, kaip aprašyta aukščiau

Atsisiųskite iš šios „GitHub“saugyklos

  • „EchoObstacleDetection.cpp“,
  • EchoObstacleDetection.h
  • PavyzdysEchoObstacleDetection.ino

IDE bibliotekoje sukurkite „EchoObstacleDetection“katalogą ir perkelkite.cpp ir.h

Išbandykite

Atidarykite „ExampleEchoObstacleDetection.ino“.

Tai paprastas kliūčių aptikimo pavyzdys, veikiantis su 2 ultragarso jutikliais.

Išvestis nukreipta į serijinį monitorių. Iš pradžių ji atspausdins 2 jutiklių aptiktus atstumus, o tada išspausdins įspėjimus, priklausomai nuo atstumų, esančių žemiau slenksčių.

Rekomenduojamas: