Turinys:

„Arduino 3D“spausdintas „Sumo Bot“: 6 žingsniai
„Arduino 3D“spausdintas „Sumo Bot“: 6 žingsniai

Video: „Arduino 3D“spausdintas „Sumo Bot“: 6 žingsniai

Video: „Arduino 3D“spausdintas „Sumo Bot“: 6 žingsniai
Video: Robot manipulator on arduino nano soon on the channel! 2024, Liepa
Anonim
„Arduino“3D spausdintas „Sumo Bot“
„Arduino“3D spausdintas „Sumo Bot“

Taigi aplink mano namus gulėjo krūva dalių. Norėjau dalyvauti sumo varžybose, kurios vyks po kelių mėnesių, bet neturėjau roboto. Vietoj to, kad nusipirkčiau robotą ar naudojančią esamą dizainą, dėl kurio turėčiau nusipirkti daiktų projektui, aš pradėjau ir sukūriau savo robotą iš savo dizaino iš savo turimų dalių. Šiai pamokai jums reikės šių dalykų.

  1. Čia rasite vieną iš kiekvienos 3D spausdintos dalies.
  2. 7,4 volto baterija arba dvi 18650 baterijos.
  3. Jei reikia, akumuliatoriaus laikiklis.
  4. Arduino uno.
  5. „Arduino uno“skydas.
  6. USB kabelis „Arduino“.
  7. Maitinimas ant stalo (neprivaloma).
  8. Įkroviklis (pasirinktinai).
  9. Laidai ir daug jų.
  10. Standartinio dydžio metalinės pavaros nuolatinio sukimosi servos.
  11. Du jutiklių jungikliai.
  12. 7 cm servo ratai.
  13. Įjungimo ir išjungimo jungiklis.

Šis kodas nuolat keičiamas. Šio roboto kodą rasite čia. Tai yra naujausia šio projekto kodo versija. Mėgautis!

1 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
  1. Robotas naudoja du metalinius reduktorius. Jūs norėsite juos įsukti naudodami m3 varžtus ir veržles, o važiuoklės viduje esančios servo dalys nukreiptos į išorę abiem kryptimis. Yra tik vienas būdas, kuriuo servo gali patekti į robotą, todėl tai bus gana tiesiai.
  2. Pritvirtinkite servo ratus.
  3. Prijunkite ir jutiklius taip, kad jie būtų nukreipti žemyn roboto priekyje. Jie pritvirtinami dviem varžtais per M3 skyles roboto priekyje. Roboto apačioje yra plyšių, kad jie galėtų žiūrėti. Norite būti atsargūs, kad jutikliai nepakeltų važiuoklės ir matytųsi per plyšius. Daugiau apie tai sužinosite vėliau, kai išbandysime robotą, ar jūsų patogus darbas pavyko.
  4. Įdėkite HC-SR04 jutiklį į dvi skyles, nukreiptas į roboto išorę iš vidaus. Skylės yra važiuoklės priekyje.
  5. Įdėkite „Arduino Uno“į važiuoklę su skydeliu.
  6. Sujunkite viską pagal toliau pateiktą kulkų sąrašą.

    1. Maitinimas nuo pasirinkto maitinimo šaltinio iki maitinimo jungiklio. Prie jungiklio prijungsite teigiamą ar neigiamą laidą. Jei pasirinksite neigiamą laidą, tai bus jūsų pagrindas, o jei pasirinksite teigiamą, tai bus jūsų energijos šaltinis. Kitas laidas, priklausomai nuo to, ar jis teigiamas, ar neigiamas, bus jūsų teigiamas ar neigiamas.
    2. Prijunkite teigiamą laidą prie „vin“„Arduino“ir posistyvinius laidus prie servo.
    3. Prijunkite žemę prie žemės servo ir „Arduino“.
    4. Prijunkite 5 V iš „Arduino“5 voltų reguliatoriaus prie visų teigiamų kiekvieno jutiklio gnybtų.
    5. Prijunkite jutiklius prie „Arduino“žemės.
    6. Galiausiai „Arduino“kaištį prijunkite prie dešinio ir jutiklio, 6 kaiščio prie kairiojo IR jutiklio, 8 kaiščio prie vieno iš servo, 9 kaiščio iki paskutinio servo.

Įspėjimas: netinkamai prijungus robotą, robotas gali rūkyti ir sugadinti elektroniką

2 žingsnis: pirmieji gyvenimo ženklai

Įspėjimas: Nejunkite roboto prie kompiuterio, kai yra įjungtas maitinimas arba kai prijungti servo įtaisai. Jei to nepadarysite, galite sugadinti kompiuterį

int režimas = 3;

Ši aukščiau esanti kodo eilutė yra esminis roboto kintamasis. Tai daroma taip, jei jis lygus kiekvienam žemiau išvardytam skaičiui.

  1. Nors robotas yra lygus nuliui, jis juda tam tikru modeliu.
  2. Jei režimas yra lygus vienam, robotas išspausdina kiekvieno jutiklio rodmenų išvestį į kompiuterį.
  3. Kai robotas yra lygus dviem, jis vengia kraštų ir kliūčių, jei susiduria su jais.
  4. Robotas kovoja su kitais robotais.

Tai yra skirtingi roboto režimai, naudojami robotui išbandyti ir padėti jam progresuoti. Pirmajame šios pamokos žingsnyje turėsite pakeisti „3“į nulį.

Dabar įkelkite kodą į robotą. Pamatysite, kaip ji juda pirmyn, atgal, kairėn ir dešinėn tokia tvarka.

3 žingsnis: jis gali pamatyti

int režimas = 0;

Pakeiskite šį kintamąjį į „1“, jei ankstesnis veiksmas buvo atliktas. Dabar, prijungus prie serijinio monitoriaus „Arduino“, jis atspausdins tai, ką mato jūsų robotas. „0“Krašto jutikliams reiškia, kad jis kažką mato. „1“reiškia, kad nemato jokių kraštų. Jei pastebite, kad logika yra apversta, atkreipkite dėmesį į tolesnius veiksmus.

Nesijaudinkite dėl ping jutiklio. Bet kokiu atveju man tai dar neveikia. Šis robotas yra intensyviai kuriamas.

4 žingsnis: jis gali išvengti stalo krašto

void Vengti () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

vėlavimas (50);

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

kairėje.parašykite (0); right.write (90);

}

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

kairėje.parašykite (90);

right.write (0); }

}

Šis kodas yra kodas, iškviestas, kai režimas yra lygus dviem. Jei ankstesnis veiksmas buvo baigtas, pakeiskite režimą į „2“.

Jei jutikliai yra apversti, nedvejodami apverskite „sensorStateLeft“ir „sensorStateRight“kiekviename iš „if“teiginių, kad jie atitiktų skirtingą skaičių, nei jie buvo pateikti, tai yra „1“arba „0“.

Dabar robotas gali išvengti sumo arenos krašto. Jis beveik paruoštas kovai. Nesivaržykite išbandyti, kad pamatytumėte, ar jis veikia, ar ne.

5 žingsnis: MŪŠIS

Jūsų sumo yra pasirengęs kovoti dabar, atlikęs kelis kodo pakeitimus. Pakeiskite režimą į „3“ir, jei reikia, pakeiskite logiką tuštumoje „Sumo“. Dabar jūsų robotas turėtų vengti arenos krašto, bet negali aptikti kitų robotų. Tai iš esmės vengia arenos kraštų ir juda pakankamai greitai, kad, tikiuosi, galėtų nustumti robotą nuo stalo krašto. Mėgautis!

6 žingsnis: Išvada

Jūsų robotas baigtas. Jei turite kokių nors problemų ar komentarų dėl šio projekto, nedvejodami praneškite man. Esu neįtikėtinai atviras atsiliepimams, nes neįsivaizduoju, ar tai buvo gerai padaryta pamoka, ar ne. Mėgautis!

Rekomenduojamas: