Turinys:

Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)
Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)

Video: Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)

Video: Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)
Video: Arduino | Maze Solving Robot (MicroMouse) \ Wall Following Robot 2024, Lapkritis
Anonim
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas
Arduino | Labirinto sprendimo robotas („MicroMouse“) Sienų sekimo robotas

Sveiki, aš esu Izaokas ir tai yra mano pirmasis robotas „Striker v1.0“. Šis robotas buvo sukurtas norint išspręsti paprastą labirintą. Konkurse turėjome du labirintus ir robotas sugebėjo juos identifikuoti. Bet kokie kiti labirinto pakeitimai gali prireikti pakeisti kodą ir dizainą, tačiau tai padaryti paprasta.

1 žingsnis: dalys

Dalys
Dalys
Dalys
Dalys
Dalys
Dalys

Pirmiausia turite žinoti, su kuo susiduriate.

Robotai = elektra + aparatinė įranga + programinė įranga

2- Techninė įranga: „Kėbulas, variklis, variklio tvarkyklė, jutikliai, laidai ir valdiklis“turėtumėte gauti tik svarbias užduotį atliekančias dalis, nereikia paprastos užduoties įsigyti išgalvoto brangaus valdiklio.

3- Programinė įranga: kodas yra susijęs su logika. Kai suprasite, kaip veikia valdiklis, jums bus lengviau pasirinkti funkcijas ir supaprastinti kodą. Kodo kalba nustatoma pagal valdiklio tipą.

Dalių sąrašas:

  1. Arduino UNO
  2. 12V nuolatinės srovės varikliai (x2)
  3. Ratai (x2)
  4. Variklio vairuotojas (L298N)
  5. Atstumo jutiklis (ultragarsinis)
  6. Laidai
  7. 12 V baterija (1000 mAh)

Įrankių sąrašas:

  1. Akumuliatoriaus įkroviklis
  2. Akrilo lakštas
  3. Lituoklis
  4. Vielos pjaustytuvas
  5. Nailono užtrauktukas

Norėdami dar labiau pasilinksminti, galite naudoti šviesos diodus, tačiau tai nėra labai svarbu.

2 žingsnis: kėbulo dizainas

Kėbulo dizainas
Kėbulo dizainas
Kėbulo dizainas
Kėbulo dizainas
Kėbulo dizainas
Kėbulo dizainas

Pagrindinė idėja buvo sudėti dalis virš kūno ir naudoti „Nylon Zip Wrap“, kad stabilizuotų „Arduino“, o laidai stabilizuos likusį dėl lengvo svorio.

Kėbulo dizainui naudojau „CorelDRAW“Ir padariau papildomų skylių, jei ateityje tai pasikeis.

Aš nuėjau į vietinę dirbtuvę, kad galėčiau naudoti lazerinį pjaustytuvą, tada pradėjau jį kurti kartu. Vėliau padariau keletą pakeitimų, nes varikliai buvo ilgesni, nei tikėjausi. Noriu pasakyti, kad jūsų robotas neturi būti pagamintas taip, kaip mano.

Pridedamas PDF failas ir „CorelDRAW“failas.

Jei negalite nupjauti dizaino lazeriu, nesijaudinkite. Kol turite „Arduino“, tuos pačius jutiklius ir variklius, turėtumėte turėti galimybę, kad mano kodas veiktų jūsų robote su nedideliais pakeitimais.

3 žingsnis: diegimas (kūrimas)

Įgyvendinimas (pastatas)
Įgyvendinimas (pastatas)
Įgyvendinimas (pastatas)
Įgyvendinimas (pastatas)
Įgyvendinimas (pastatas)
Įgyvendinimas (pastatas)

Konstrukcija leido lengvai pritvirtinti jutiklius prie kūno.

4 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Čia yra roboto schema. šie ryšiai yra susiję su kodu. Galite pakeisti ryšius, tačiau būtinai pakeiskite kodą. Dalys.

Norėčiau paaiškinti „Ultragarso jutiklį“

Ultragarsinis jutiklis yra prietaisas, galintis išmatuoti atstumą iki objekto naudojant garso bangas. Jis matuoja atstumą, išsiųsdamas garso bangą tam tikru dažniu ir klausydamasis, kad ši garso banga atšoktų. Įrašant prabėgusį laiką nuo sukuriamos garso bangos iki atšokusios garso bangos. Tai atrodo panašu į Sonaro ir Radaro veikimą.

Ultragarso jutiklio prijungimas prie „Arduino“:

  1. GND kaištis prijungtas prie žemės.
  2. VCC kaištis prijungtas prie teigiamo (5v).
  3. Echo kaištis prijungtas prie „Arduino“. (pasirinkite bet kurį kaištį ir suderinkite jį su kodu)
  4. TRIG kaištis prijungtas prie „Arduino“. (pasirinkite bet kurį kaištį ir suderinkite jį su kodu)

Sukursite bendrą įžeminimą ir prie jo prijungsite visus GND (jutiklius, „Arduino“, tvarkyklę).

„Vcc“kaiščiams taip pat prijunkite 3 jutiklius prie 5 V kaiščio

(galite juos prijungti prie „Arduino“arba vairuotojo, kurį rekomenduoju tvarkyklę)

Pastaba: Nejunkite jutiklių prie didesnės nei 5 V įtampos, kitaip jie bus pažeisti.

Variklio vairuotojas

L298N H tiltas: tai IC, kuri leidžia jums valdyti dviejų nuolatinės srovės variklių greitį ir kryptį arba lengvai valdyti vieną bipolinį žingsninį variklį. L298N H tilto tvarkyklę galima naudoti su varikliais, kurių įtampa yra tarp 5 ir 35V DC.

Taip pat yra įmontuotas 5 V reguliatorius, taigi, jei jūsų maitinimo įtampa yra iki 12 V, 5 V šaltinį taip pat galite gauti iš plokštės.

Apsvarstykite vaizdą - suderinkite skaičius su žemiau esančiu sąrašu:

  1. Nuolatinės srovės variklis „+“
  2. Nuolatinės srovės variklis 1 “-”
  3. 12 V trumpiklis - pašalinkite jį, jei maitinimo įtampa yra didesnė nei 12 V DC. Tai įgalina įmontuotą 5V reguliatorių
  4. Čia prijunkite variklio maitinimo įtampą, ne daugiau kaip 35 V DC.
  5. GND
  6. 5v išėjimas, jei 12v trumpiklis yra vietoje
  7. 1 nuolatinės srovės variklis įgalina trumpiklį. Nuimkite trumpiklį ir prijunkite prie PWM išvesties, kad galėtumėte valdyti nuolatinės srovės variklio greitį.
  8. IN1 krypties valdymas
  9. IN2 krypties valdymas
  10. IN3 krypties valdymas
  11. IN4 krypties valdymas
  12. Nuolatinės srovės variklis 2 įgalina trumpiklį. Nuimkite trumpiklį ir prijunkite prie PWM išvesties nuolatinės srovės variklio greičiui valdyti
  13. Nuolatinės srovės variklis „+“
  14. DC variklis 2 "-"

Pastaba: ši tvarkyklė leidžia 1A vienam kanalui, išleidžiant daugiau srovės, bus pažeistas IC.

Baterija

Aš naudoju 12 V bateriją su 1000 mAh.

Aukščiau esančioje lentelėje parodyta, kaip krenta akumuliatoriaus įtampa. turėtumėte to nepamiršti ir nuolat įkrauti akumuliatorių.

Iškrovimo laikas iš esmės yra Ah arba mAh reitingas, padalytas iš srovės.

Taigi, turėdami 1000 mAh bateriją, kurios apkrova yra 300 mA, turite:

1000/300 = 3,3 valandos

Jei išleisite daugiau srovės, laikas sumažės ir pan. Pastaba: įsitikinkite, kad neviršijate akumuliatoriaus išsikrovimo srovės, kitaip ji bus pažeista.

Taip pat vėl sukurkite bendrą įžeminimą ir prijunkite prie jo visus GND (jutiklius, „Arduino“, tvarkyklę).

5 žingsnis: kodavimas

Kodavimas
Kodavimas
Kodavimas
Kodavimas

Aš tai padariau funkcijomis ir man buvo smagu koduoti šį robotą.

Pagrindinė idėja yra vengti smūgių į sienas ir išeiti iš labirinto. Mes turėjome 2 paprastus labirintus ir turėjau tai nepamiršti, nes jie buvo skirtingi.

Mėlynas labirintas naudoja dešinės sienos sekimo algoritmą.

Raudonas labirintas naudoja kairiosios sienos sekimo algoritmą.

Aukščiau esančioje nuotraukoje parodyta išeitis abiejuose labirintuose.

Kodo srautas:

  1. apibrėžiant kaiščius
  2. išvesties ir įvesties kaiščių apibrėžimas
  3. patikrinkite jutiklių rodmenis
  4. sienoms apibrėžti naudokite jutiklių rodmenis
  5. patikrinkite pirmąjį maršrutą (jei jis buvo paliktas, vadovaukitės kairiąja siena, jei dešinė - sekite dešine siena)
  6. Naudokite PID, kad išvengtumėte smūgio į sienas ir valdytumėte variklio greitį

Galite naudoti šį kodą, tačiau norėdami gauti geriausius rezultatus, pakeiskite kaiščius ir pastoviuosius skaičius.

Norėdami gauti kodą, sekite šią nuorodą.

create.arduino.cc/editor/is7aq_shs/391be92…

Sekite šią nuorodą, norėdami rasti biblioteką ir „Arduino“kodo failą.

github.com/Is7aQ/Maze-Solving-Robot

6 žingsnis: linksminkitės

Įsitikinkite, kad linksminatės: DTai viskas smagu, nepanikuokite, jei neveikia arba yra kažkas negerai. stebėkite klaidą ir nepasiduokite. Dėkojame, kad perskaitėte, ir tikiuosi, kad tai padėjo.

Paštas: [email protected]

Rekomenduojamas: