Satura rādītājs:

Arduino 3D drukāts Sumo Bot: 6 soļi
Arduino 3D drukāts Sumo Bot: 6 soļi

Video: Arduino 3D drukāts Sumo Bot: 6 soļi

Video: Arduino 3D drukāts Sumo Bot: 6 soļi
Video: Amazing arduino project 2024, Novembris
Anonim
Arduino 3D drukāts Sumo Bot
Arduino 3D drukāts Sumo Bot

Tāpēc man bija daudz detaļu, kas gulēja ap manu māju. Es gribēju pēc dažiem mēnešiem piedalīties sumo sacensībās, bet man nebija robota. Tā vietā, lai nopirktu robotu vai izmantotu esošu dizainu, kas prasītu man iegādāties lietas projektam, es turpināju un izveidoju savu robotu no sava dizaina no savām daļām. Šai apmācībai jums būs nepieciešams šāds.

  1. Viena no katrām 3D drukātajām daļām atrodama šeit.
  2. 7,4 voltu akumulators vai divas 18650 baterijas.
  3. Ja nepieciešams, akumulatora turētājs.
  4. Arduino uno.
  5. Arduino uno izlaušanās vairogs.
  6. USB kabelis Arduino.
  7. Strāvas padeve (pēc izvēles).
  8. Lādētājs (pēc izvēles).
  9. Vadi un daudzi no tiem.
  10. Standarta izmēra metāla pārnesumu nepārtrauktas rotācijas servo.
  11. Divi slēdža sensori.
  12. Servo riteņi 7 cm.
  13. Ieslēgšanas un izslēgšanas slēdzis.

Šis kods tiek pastāvīgi mainīts. Šī robota kodu var atrast šeit. Šī ir šī projekta koda jaunākā versija. Izbaudi!

1. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
  1. Robots izmanto divus metāla zobratu servoservisus. Jūs vēlaties tos ieskrūvēt, izmantojot m3 bultskrūves un uzgriežņus ar servo šasijas iekšpusē abos virzienos uz āru. Servos var iekļūt robotā tikai vienā veidā, tāpēc tas būs diezgan taisni uz priekšu.
  2. Pievienojiet servo riteņus.
  3. Pievienojiet ir sensorus tā, lai tie būtu vērsti uz leju robota priekšpusē. Tie ir piestiprināti ar divām skrūvēm caur M3 caurumiem robota priekšpusē. Robota apakšā ir spraugas, lai tās varētu izlauzties cauri. Jūs vēlaties būt uzmanīgiem, jo sensori neuzņem šasiju un var redzēt visu caur spraugām. Jūs uzzināsit vairāk par to vēlāk, kad mēs pārbaudām robotu, lai noskaidrotu, vai jūsu ērtais darbs strādāja.
  4. Ielieciet HC-SR04 sensoru divos caurumos, kas vērsti ārpus robota no iekšpuses. Caurumi atrodas šasijas priekšpusē.
  5. Ielieciet Arduino Uno šasijas iekšpusē ar aizsargu.
  6. Savienojiet visu kopā saskaņā ar zemāk esošo aizzīmju sarakstu.

    1. Jauda no jūsu izvēlētā barošanas avota līdz barošanas slēdzim. Jūs pievienosit slēdzim pozitīvu vai negatīvu vadu. Ja izvēlēsities negatīvo vadu, tas būs jūsu pamats, savukārt, ja izvēlēsities pozitīvo, tas būs jūsu enerģijas avota vads. Otrs vads atkarībā no tā, vai tas ir pozitīvs vai negatīvs, būs jūsu pozitīvais vai negatīvais.
    2. Pievienojiet pozitīvo vadu vinjam Arduino un pozitīvos vadus servos.
    3. Savienojiet zemi ar zemi servos un Arduino.
    4. Pievienojiet 5v no Arduino 5 voltu regulatora pie visiem katra sensora pozitīvajiem spailēm.
    5. Pievienojiet sensorus zemē uz Arduino.
    6. Visbeidzot vadu 7. tapu uz Arduino uz labo ir sensoru, 6. taustiņu pie kreisā IR sensora, 8. tapu pie viena no servos, 9. tapu līdz pēdējam servo.

Brīdinājums: nepareiza vadu pievienošana robotam var izraisīt smēķēšanu un elektronikas bojājumus

2. solis: pirmās dzīves pazīmes

Brīdinājums: nepievienojiet robotu datoram, kad tas ir barots vai ja ir pieslēgti servos. Pretējā gadījumā var tikt bojāts dators

int režīms = 3;

Šī iepriekš minētā koda rinda ir robota izšķirošais mainīgais. Tā ir šāda, ja tā ir vienāda ar katru zemāk uzskaitīto skaitli.

  1. Kamēr robots ir vienāds ar nulli, tas pārvietojas noteiktā veidā.
  2. Ja režīms ir vienāds ar vienu, robots izdrukā katra sensora rādījumus datorā.
  3. Ja robots ir vienāds ar diviem, tas izvairās no malām un šķēršļiem, ja tas tiem pāri.
  4. Robots cīnās ar citiem robotiem.

Šie ir dažādi robota režīmi, ko izmanto, lai pārbaudītu un palīdzētu robotam progresēt. Šīs apmācības pirmajā solī jums būs jāmaina “3” uz nulli.

Tagad augšupielādējiet kodu robotam. Jūs redzēsit, kā tas virzās uz priekšu, atpakaļ, pa kreisi un pa labi šādā secībā.

3. solis: tas var redzēt

int režīms = 0;

Mainiet šo mainīgo uz "1", ja iepriekšējais solis ir pabeigts. Tagad, kad tas ir savienots ar Arduino sērijas monitoru, tas izdrukās to, ko redz jūsu robots. "0" Malu sensoriem nozīmē, ka tas kaut ko redz. "1" nozīmē, ka neredz nevienu malu. Ja pamanāt, ka loģika ir apgriezta, ņemiet to vērā turpmākajos soļos.

Neuztraucieties par ping sensoru. Katrā ziņā man tas vēl nav izdevies. Šis robots tiek aktīvi attīstīts.

4. solis: tas var izvairīties no tabulas malas

void Izvairīties () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

kavēšanās (50);

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

pa kreisi. rakstīt (0); labi.rakstīt (90);

}

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

pa kreisi.rakstīt (90);

tiesības.rakstīt (0); }

}

Šis kods ir kods, kas tiek izsaukts, ja režīms ir vienāds ar diviem. Ja iepriekšējais solis ir pabeigts, nomainiet režīmu uz “2”.

Ja sensori ir apgriezti, brīvi apgrieziet "sensorStateLeft" un "sensorStateRight" katrā "if" paziņojumā, lai tie būtu vienādi ar citu skaitli, nekā tie tika doti, kas ir "1" vai "0".

Tagad robots var izvairīties no sumo arēnas malas. Tas ir gandrīz gatavs cīņai. Jūtieties brīvi to pārbaudīt, lai redzētu, vai tas darbojas vai ne.

5. solis: CĪŅA

Jūsu sumo ir gatavs cīņai, veicot dažas koda izmaiņas. Mainiet režīmu, lai tas būtu vienāds ar "3", un apgrieziet loģiku pēc nepieciešamības tukšumā "Sumo". Tagad jūsu robotam vajadzētu izvairīties no arēnas malas, bet nevar atklāt citus robotus. Tas būtībā izvairās no arēnas malām un pārvietojas pietiekami ātri, lai, cerams, varētu nobīdīt robotu no galda malas. Izbaudi!

6. solis: secinājums

Jūsu robots ir gatavs. Ja šim projektam ir kādas problēmas vai komentāri, lūdzu, dariet man to zināmu. Es esmu neticami pārliecināts, ka esmu gatavs atgriezeniskajai saitei, jo man nav ne jausmas, vai šī bija labi veikta apmācība. Izbaudi!

Ieteicams: