Innholdsfortegnelse:

Arduino 3D -trykt Sumo Bot: 6 trinn
Arduino 3D -trykt Sumo Bot: 6 trinn

Video: Arduino 3D -trykt Sumo Bot: 6 trinn

Video: Arduino 3D -trykt Sumo Bot: 6 trinn
Video: REAL RACING 3 LEAD FOOT EDITION 2024, November
Anonim
Arduino 3D -trykt Sumo Bot
Arduino 3D -trykt Sumo Bot

Så jeg hadde en haug med deler rundt huset mitt. Jeg ønsket å delta i en sumokonkurranse som kommer om noen måneder, men jeg hadde ikke en bot. I stedet for å kjøpe en bot eller bruke en eksisterende design som ville kreve at jeg kjøpte ting til prosjektet, gikk jeg videre og lagde min egen bot fra mitt eget design fra mine egne deler jeg hadde. Du trenger følgende for denne opplæringen.

  1. En av hver 3D -trykte del finnes her.
  2. Et 7,4 volt batteri eller to 18650 batterier.
  3. En batteriholder om nødvendig.
  4. Arduino uno.
  5. Arduino uno breakout shield.
  6. USB -kabel for Arduino.
  7. Benkeplate strømforsyning (valgfritt).
  8. Lader (valgfritt).
  9. Ledninger og mange av dem.
  10. Standard utstyr for kontinuerlig rotasjon av metallgir.
  11. To ir switch sensorer.
  12. 7 cm servo hjul.
  13. Av og på -bryter.

Denne koden endres stadig. Koden for denne roboten finner du her. Dette er den mest oppdaterte versjonen av denne prosjektkoden. Nyt!

Trinn 1: Montering

Montering
Montering
Montering
Montering
Montering
Montering
  1. Roboten bruker to metallgear -servoer. Du vil skru dem inn med m3 bolter og muttere med servoene inne i chassiset vendt utover i begge retninger. Det er bare en måte servoene kan gå inn i roboten, så dette blir ganske rett frem.
  2. Fest servohjulene.
  3. Fest ir -sensorene slik at de vender ned foran på roboten. De festes med to skruer gjennom M3 -hullene på forsiden av roboten. Det er slisser på bunnen av roboten som de kan se gjennom. Du vil være forsiktig, sensorene tar ikke opp kabinettet og kan se helt gjennom spaltene. Du vil lære mer om dette senere når vi tester roboten for å se om det praktiske arbeidet ditt fungerte.
  4. Sett HC-SR04-sensoren inne i de to hullene som vender utenfor roboten fra innsiden. Hullene er plassert foran på chassiset.
  5. Sett Arduino Uno inne i kabinettet med skjoldet på.
  6. Koble alt sammen i henhold til punktlisten nedenfor.

    1. Strøm fra strømkilden du ønsker, til strømbryteren. Du vil koble positiv eller negativ ledning til bryteren. Hvis du valgte den negative avledningen, vil dette være din grunn, mens hvis du velger den positive avledningen som vil være strømkilden din. Den andre ledningen, avhengig av om den er positiv eller negativ, vil være din positive eller negative.
    2. Koble den positive ledningen til vin på Arduino og de postive ledningene på servoene.
    3. Koble bakken til bakken på servoene og Arduino.
    4. Koble 5v fra 5 volt regulatoren på Arduino til alle de positive terminalene på hver av sensorene.
    5. Led sensorene til jord på Arduino.
    6. Til slutt wire pin 7 på Arduino til høyre ir sensor, pin 6 til venstre IR sensor, pin 8 til en av servoene, pin 9 til den siste servoen.

Advarsel: Unnlatelse av å koble roboten korrekt kan føre til at roboten røyker og ødelegger elektronikken

Trinn 2: Første tegn på liv

Advarsel: Ikke koble roboten til datamaskinen din mens den er slått på eller når servoene er koblet til. Hvis du ikke gjør det, kan det føre til skade på datamaskinen

int -modus = 3;

Denne kodelinjen ovenfor er den avgjørende variabelen for roboten. Den gjør følgende hvis den er lik hvert nummer som er oppført nedenfor.

  1. Mens den er lik null, beveger roboten seg i et bestemt mønster.
  2. Hvis modusen er lik en, skriver roboten ut datamaskinen til hver av sensoravlesningene.
  3. Når den er lik to, unngår roboten kanter og hindringer hvis den kommer over dem.
  4. Roboten kjemper mot andre roboter.

Dette er de forskjellige modusene til roboten som brukes til å teste og hjelpe roboten til å utvikle seg. Du må endre "3" til null for det første trinnet i denne opplæringen.

Last nå opp koden til roboten. Du vil se den bevege seg fremover, bakover, venstre og høyre i den rekkefølgen.

Trinn 3: Det kan se

int -modus = 0;

Endre følgende variabel til "1" hvis forrige trinn er fullført. Når den er koblet til den serielle skjermen på Arduino, vil den skrive ut hva roboten din ser. "0" Betyr for kantfølere at den ser noe. "1" Betyr at den ikke ser noen kanter. Hvis du merker at logikken er invertert, ta det i betraktning for fremtidige trinn.

Ikke bekymre deg for ping -sensoren. Jeg har ikke fått det til å fungere ennå. Denne roboten er under sterk utvikling.

Trinn 4: Det kan unngå kanten av bordet

void Unngå () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

forsinkelse (50);

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

venstre.skrive (0); right.write (90);

}

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

venstre.skrive (90);

right.write (0); }

}

Denne koden ovenfor er koden som er innkalt når modus er lik to. Hvis forrige trinn er fullført, bytt modus til lik "2".

Hvis sensorene er inverterte, må du gjerne invertere "sensorStateLeft" og "sensorStateRight" i hver av "if" -uttalelsene som tilsvarer et annet tall enn de ble gitt, enten "1" eller "0".

Nå kan roboten unngå kanten av en sumoarena. Den er nesten klar til kamp. Test det gjerne ut for å se om det fungerer eller ikke.

Trinn 5: BATTLE

Sumoen din er klar til å kjempe nå med noen få kodeendringer. Endre modus for å være lik "3" og snu logikken etter behov i tomrommet "Sumo". Nå bør roboten din unngå kanten av arenaen, men kan ikke oppdage andre roboter. Den unngår i utgangspunktet kantene på arenaen og beveger seg raskt nok til at den forhåpentligvis kan skyve en robot fra kanten av bordet. Nyt!

Trinn 6: Konklusjon

Roboten din er ferdig nå. Gi meg beskjed hvis det er problemer eller kommentarer til dette prosjektet. Jeg er utrolig overbevist om at jeg er åpen for tilbakemeldinger fordi jeg ikke aner om dette var en godt utført opplæring eller ikke. Nyt!

Anbefalt: