Obsah:

Arduino 3D tlačený sumo robot: 6 krokov
Arduino 3D tlačený sumo robot: 6 krokov

Video: Arduino 3D tlačený sumo robot: 6 krokov

Video: Arduino 3D tlačený sumo robot: 6 krokov
Video: Шагающий робот 2024, Júl
Anonim
Arduino 3D tlačený sumo bot
Arduino 3D tlačený sumo bot

Okolo môjho domu som teda nechal ležať veľa dielov. Chcel som sa zúčastniť súťaže sumo, ktorá bude trvať niekoľko mesiacov, ale nemal som robota. Namiesto toho, aby som si kúpil robota alebo použil existujúci dizajn, ktorý by od mňa vyžadoval nákup vecí pre projekt, pokračoval som a vyrobil som si vlastného robota podľa vlastného návrhu z vlastných dielov, ktoré som mal. K tomuto tutoriálu budete potrebovať nasledujúce.

  1. Tu nájdete jednu z každej 3D tlačenej časti.
  2. 7,4 voltová batéria alebo dve batérie 18650.
  3. V prípade potreby držiak batérie.
  4. Arduino uno.
  5. Odlamovací štít Arduino uno.
  6. USB kábel pre Arduino.
  7. Napájanie na stole (voliteľné).
  8. Nabíjačka (voliteľné).
  9. Drôty a veľa z nich.
  10. Serva s nepretržitým otáčaním kovového prevodu.
  11. Dva senzory prepínača ir.
  12. Servo kolieska 7 cm.
  13. Vypínač.

Tento kód sa neustále mení. Kód pre tohto robota nájdete tu. Toto je najaktuálnejšia verzia kódu tohto projektu. Užite si to!

Krok 1: Montáž

Zhromaždenie
Zhromaždenie
Zhromaždenie
Zhromaždenie
Zhromaždenie
Zhromaždenie
  1. Robot používa dve kovová prevodovka. Budete ich chcieť zaskrutkovať pomocou skrutiek a matíc m3 so servom vo vnútri šasi smerom von v oboch smeroch. Servo môže ísť do robota iba jedným spôsobom, takže to bude celkom jednoduché.
  2. Pripojte servo kolesá.
  3. Pripojte senzory ir tak, aby smerovali nadol v prednej časti robota. Sú pripevnené dvoma skrutkami cez otvory M3 v prednej časti robota. V spodnej časti robota sú štrbiny, cez ktoré môžu nahliadnuť. Chcete byť opatrní, senzory nezachytávajú podvozok a vidia úplne cez štrbiny. Viac sa o tom dozviete neskôr, keď robota testujeme, aby sme zistili, či vaša šikovná práca fungovala.
  4. Vložte snímač HC-SR04 do dvoch otvorov zvnútra obrátených zvonku robota. Otvory sú umiestnené v prednej časti podvozku.
  5. Vložte Arduino Uno do šasi so štítom.
  6. Spojte všetko dohromady podľa nižšie uvedeného zoznamu odrážok.

    1. Napájanie zo zdroja napájania podľa vášho výberu do vypínača. K prepínaču zapojíte kladný alebo záporný vodič. Ak ste vybrali záporný vodič, bude to vaša základňa, zatiaľ čo ak zvolíte kladný vodič, bude to váš vodič zdroja energie. Druhý vodič podľa toho, či je kladný alebo záporný, bude váš kladný alebo záporný.
    2. Pripojte kladný vodič k vin na Arduine a postívne káble na servách.
    3. Pripojte uzemnenie k servu a Arduinu.
    4. Pripojte 5 V z 5 voltového regulátora na Arduine ku všetkým kladným svorkám na každom zo senzorov.
    5. Pripojte senzory k zemi na Arduine.
    6. Nakoniec zapojte kolík 7 na senzore Arduino k pravému ir, kolík 6 k ľavému infračervenému senzoru, kolík 8 k jednému zo servov, kolík 9 k poslednému servu.

Varovanie: Nesprávne zapojenie robota môže viesť k fajčeniu a zničeniu elektroniky

Krok 2: Prvé známky života

Varovanie: Nepripájajte robota k počítaču, pokiaľ je napájaný alebo je zapojené servo. V opačnom prípade môže dôjsť k poškodeniu počítača

int režim = 3;

Tento riadok kódu vyššie je rozhodujúcou premennou pre robota. Vykonáva nasledujúce činnosti, ak sa rovná každému z nižšie uvedených čísel.

  1. Aj keď sa rovná nule, robot sa pohybuje v určitom vzore.
  2. Ak je režim rovný jednému, robot vytlačí výstup z počítača na hodnoty snímačov.
  3. Keď sa rovná dvom, robot sa vyhne hranám a prekážkam, ak na ne narazí.
  4. Robot bojuje s inými robotmi.

Toto sú rôzne režimy robota používané na testovanie a napomáhanie pokroku robota. V prvom kroku tohto tutoriálu budete musieť zmeniť „3“na nulu.

Teraz nahrajte kód do robota. Uvidíte, ako sa bude pohybovať vpred, vzad, vľavo a vpravo v uvedenom poradí.

Krok 3: Môže to vidieť

int režim = 0;

Ak bol predchádzajúci krok dokončený, zmeňte nasledujúcu premennú na „1“. Teraz, keď je pripojený k vášmu sériovému monitoru na Arduine, vytlačí, čo vidí váš robot. „0“znamená pre senzory na okraji, že niečo vidí. „1“znamená, že nevidí žiadne hrany. Ak si všimnete, že logika je obrátená, vezmite to na vedomie pre ďalšie kroky.

O snímač ping si nerobte starosti. Aj tak mi to zatiaľ nefunguje. Tento robot je vo veľkom vývoji.

Krok 4: Môže sa vyhnúť okraju stola

neplatné Vyhnite sa () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

oneskorenie (50);

if (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); right.write (90);

}

if (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write (90);

right.write (0); }

}

Tento kód vyššie je kód vyvolaný, keď sa režim rovná dvom. Ak bol predchádzajúci krok dokončený, zmeňte režim na „2“.

Ak sú senzory obrátené, pokojne prevráťte „sensorStateLeft“a „sensorStateRight“v každom z príkazov „if“na rovnaké číslo, ako bolo zadané, a to buď „1“alebo „0“.

Teraz sa robot môže vyhnúť okraju arény sumo. Je takmer pripravený na boj. Neváhajte a vyskúšajte, či funguje alebo nie.

Krok 5: BITVA

Vaše sumo je pripravené na boj s niekoľkými zmenami kódu. Zmeňte režim na „3“a podľa potreby invertujte logiku v prázdnote „Sumo“. Teraz by sa váš robot mal vyhýbať okraju arény, ale nemôže detekovať ostatných robotov. V zásade sa vyhýba okrajom arény a pohybuje sa dostatočne rýchlo, aby to dúfalo mohlo vytlačiť robota z okraja stola. Užite si to!

Krok 6: Záver

Vaša robota je teraz hotová. V prípade akýchkoľvek problémov alebo pripomienok k tomuto projektu ma neváhajte kontaktovať. Som neuveriteľne presvedčený, že som otvorený spätnej väzbe, pretože netuším, či to bol dobre vykonaný návod alebo nie. Užite si to!

Odporúča: