Kazalo:

Arduino 3D natisnjeni sumo bot: 6 korakov
Arduino 3D natisnjeni sumo bot: 6 korakov

Video: Arduino 3D natisnjeni sumo bot: 6 korakov

Video: Arduino 3D natisnjeni sumo bot: 6 korakov
Video: Leap Motion SDK 2024, November
Anonim
Arduino 3D natisnjeni sumo bot
Arduino 3D natisnjeni sumo bot

Tako sem imel kar nekaj delov po hiši. Želel sem se udeležiti sumo tekmovanja, ki bo prišlo čez nekaj mesecev, vendar nisem imel bot. Namesto, da bi kupil bot ali uporabil obstoječo zasnovo, ki bi zahtevala, da kupim stvari za projekt, sem šel naprej in naredil svojega lastnega bota iz lastne zasnove iz svojih delov, ki sem jih imel. Za to vadnico boste potrebovali naslednje.

  1. Tu najdete enega od vsakega 3D tiskanega dela.
  2. 7,4 -voltna baterija ali dve bateriji 18650.
  3. Držalo za baterije, če je potrebno.
  4. Arduino uno.
  5. Arduino uno prelomni ščit.
  6. USB kabel za Arduino.
  7. Napajanje iz namiznega računalnika (neobvezno).
  8. Polnilec (neobvezno).
  9. Žice in veliko njih.
  10. Servo motorji s kovinsko prestavo standardne velikosti.
  11. Dva senzorja stikala ir.
  12. 7 cm servo platišča.
  13. Stikalo za vklop in izklop.

Ta koda se nenehno spreminja. Kodo za tega robota najdete tukaj. To je najnovejša različica te kode projekta. Uživajte!

1. korak: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža
  1. Robot uporablja dva kovinska servomotorja. Priviti jih boste morali z vijaki in maticami m3 s servomotorji znotraj ohišja navzven v obe smeri. Servomotorji lahko vstopijo v robota samo na en način, zato bo to precej naravnost.
  2. Pritrdite servo kolesa.
  3. Senzorje ir pritrdite tako, da bodo spredaj robota obrnjeni navzdol. Pritrjena sta z dvema vijakoma skozi luknje M3 na sprednji strani robota. Na dnu robota so reže, skozi katere lahko pokukajo. Želite biti previdni, senzorji ne dvignejo ohišja in lahko vidijo vse skozi reže. Več o tem boste izvedeli kasneje, ko bomo preizkusili robota, ali je vaše priročno delo delovalo.
  4. Senzor HC-SR04 vstavite v dve luknji, obrnjeni navzven robota od znotraj. Luknje se nahajajo na sprednji strani ohišja.
  5. Arduino Uno postavite v ohišje s ščitnikom.
  6. Povežite vse skupaj v skladu s spodnjim seznamom oznak.

    1. Napajanje iz vira napajanja po vaši izbiri do stikala za vklop. Na stikalo boste priključili pozitiven ali negativen vod. Če ste izbrali negativni odvod, bo to vaša podlaga, če pa pozitivni odvod, bo to vaš vir napajanja. Druga žica, odvisno od tega, ali je pozitivna ali negativna, bo vaša pozitivna ali negativna.
    2. Priključite pozitivni vod na vin na Arduinu in pozitivne vodi na servomotorjih.
    3. Povežite ozemljitev z zemljo na servomotorjih in Arduinu.
    4. Priključite 5v iz 5 -voltnega regulatorja na Arduinu na vse pozitivne sponke na vsakem od senzorjev.
    5. Senzorje priključite na ozemljitev na Arduinu.
    6. Nazadnje priključite pin 7 na Arduino na desni ir senzor, pin 6 na levi IR senzor, pin 8 na enega od servomotorjev, pin 9 na zadnji servo.

Opozorilo: Nepravilna povezava robota lahko povzroči njegovo kajenje in uničenje elektronike

Korak: Prvi znaki življenja

Opozorilo: Ne povezujte robota z računalnikom, medtem ko je napajan ali s servomotorji, ki so priključeni. Če tega ne storite, lahko poškodujete računalnik

int način = 3;

Ta zgornja vrstica kode je ključna spremenljivka za robota. To naredi, če je enako vsaki spodaj navedeni številki.

  1. Medtem ko je enak nič, se robot premika po določenem vzorcu.
  2. Če je način enak enemu, robot natisne izpise vsakega od senzorjev v računalnik.
  3. Ko je enak dvema, se robot izogne robom in oviram, če naleti nanje.
  4. Robot se bori z drugimi roboti.

To so različni načini robota, ki se uporabljajo za testiranje in pomoč pri napredovanju robota. Za prvi korak te vadnice boste morali to "3" spremeniti v nič.

Zdaj kodo naložite v robota. Videli boste, da se premika naprej, nazaj, levo in desno v tem vrstnem redu.

3. korak: Lahko se vidi

int način = 0;

Naslednjo spremenljivko spremenite v "1", če je bil prejšnji korak dokončan. Ko bo priključen na vaš serijski monitor na Arduinu, bo natisnil, kaj vidi vaš robot. "0" Za robne senzorje pomeni, da nekaj vidi. "1" pomeni, da ne vidi nobenih robov. Če opazite, da je logika obrnjena, upoštevajte to pri prihodnjih korakih.

Ne skrbite za senzor pinga. Vseeno mi to še ni uspelo. Ta robot se močno razvija.

4. korak: Lahko se izogne robu mize

void Izogibajte se () {

int sensorStateLeft = digitalRead (levoSensor);

int sensorStateRight = digitalRead (desno senzor);

zamuda (50);

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

left.write (0); desno.piši (90);

}

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

left.write (90);

right.write (0); }

}

Ta zgornja koda je koda, ki jo pokličete, ko je način enak dvema. Če je bil prejšnji korak zaključen, spremenite način na "2".

Če so senzorji obrnjeni, lahko obrnete "sensorStateLeft" in "sensorStateRight" v vsakem od stavkov "if", ki je enako različnemu številu, kot sta bila podana, to je "1" ali "0".

Zdaj se lahko robot izogne robu sumo arene. Skoraj je pripravljen za boj. Lahko ga preizkusite in preverite, ali deluje ali ne.

5. korak: BITKA

Vaš sumo je pripravljen na boj z nekaj spremembami kode. Spremenite način, da bo enak "3", in po potrebi obrnite logiko v praznini "Sumo". Zdaj bi se vaš robot moral izogibati robu arene, ne more pa zaznati drugih robotov. V bistvu se izogiba robovom arene in se premika dovolj hitro, da lahko upamo, da bo robota potisnil z roba mize. Uživajte!

Korak 6: Zaključek

Vaš robot je zdaj končan. Če obstajajo kakršne koli težave ali komentarji za ta projekt, mi sporočite. Neverjetno sem neverjetno odprt za povratne informacije, ker nimam pojma, ali je bila to dobro opravljena vadba ali ne. Uživajte!

Priporočena: