Innehållsförteckning:

Arduino 3D -tryckt Sumo Bot: 6 steg
Arduino 3D -tryckt Sumo Bot: 6 steg

Video: Arduino 3D -tryckt Sumo Bot: 6 steg

Video: Arduino 3D -tryckt Sumo Bot: 6 steg
Video: Robótica - Tópico 1 - Reposição da aula de Segunda Feira - 17 de Maio de 2021 - 19 horas 2024, November
Anonim
Arduino 3D -tryckt Sumo Bot
Arduino 3D -tryckt Sumo Bot

Så jag hade ett gäng delar som låg runt mitt hus. Jag ville delta i en sumotävling som kommer om några månader men jag hade ingen bot. Istället för att köpa en bot eller använda en befintlig design som skulle kräva att jag köpte saker till projektet gick jag vidare och gjorde min egen bot av min egen design från mina egna delar jag hade. Du behöver följande för denna handledning.

  1. En av varje 3D -tryckt del som finns här.
  2. Ett 7,4 volt batteri eller två 18650 batterier.
  3. En batterihållare om det behövs.
  4. Arduino uno.
  5. Arduino uno breakout shield.
  6. USB -kabel för Arduino.
  7. Bänkspänningsförsörjning (tillval).
  8. Laddare (tillval).
  9. Trådar och många av dem.
  10. Standardstorlekar för kontinuerlig rotation av metallväxlar.
  11. Två ir switch sensorer.
  12. 7 cm servohjul.
  13. På och av strömbrytare.

Denna kod ändras ständigt. Koden för denna robot hittar du här. Detta är den senaste versionen av denna projektkod. Njut av!

Steg 1: Montering

Hopsättning
Hopsättning
Hopsättning
Hopsättning
Hopsättning
Hopsättning
  1. Roboten använder två metallväxlar. Du kommer att vilja skruva in dem med m3 bultar och muttrar med servon inuti chassit utåt i båda riktningarna. Det finns bara ett sätt som servon kan gå in i roboten så det här kommer att vara ganska rakt fram.
  2. Fäst servohjulen.
  3. Fäst IR -sensorerna så att de är vända nedåt på framsidan av roboten. De fästs med två skruvar genom M3 -hålen på robotens framsida. Det finns slitsar på botten av roboten för dem att titta igenom. Du vill vara försiktig, sensorerna tar inte upp chassit och kan se hela vägen genom slitsarna. Du lär dig mer om detta senare när vi testar roboten för att se om ditt praktiska arbete fungerade.
  4. Sätt HC-SR04-sensorn inuti de två hålen som vetter mot roboten inifrån. Hålen är placerade på framsidan av chassit.
  5. Sätt Arduino Uno inuti chassit med skölden på den.
  6. Koppla ihop allt enligt punktlistan nedan.

    1. Ström från den valda strömkällan till strömbrytaren. Du kommer att köra positiv eller negativ ledning till omkopplaren. Om du väljer den negativa avledningen kommer detta att vara din mark medan du om du väljer den positiva avledningen som kommer att vara din strömkällans ledning. Den andra tråden beroende på om den är positiv eller negativ kommer att vara din positiva eller negativa.
    2. Anslut den positiva ledningen till vin på Arduino och de postiva ledningarna på servon.
    3. Anslut mark till jord på servon och Arduino.
    4. Anslut 5v från 5 volt regulatorn på Arduino till alla positiva terminaler på var och en av sensorerna.
    5. Anslut sensorerna till jord på Arduino.
    6. Slutligen trådstift 7 på Arduino till höger ir -sensor, stift 6 till vänster IR -sensor, stift 8 till en av servon, stift 9 till den sista servon.

Varning: Underlåtenhet att kabela roboten korrekt kan leda till att roboten röker och förstörs av elektroniken

Steg 2: Första tecken på liv

Varning: Anslut inte roboten till din dator medan den är påslagen eller när servon är uppkopplad. Om du inte gör det kan det leda till skador på din dator

int -läge = 3;

Denna kodrad ovan är den avgörande variabeln för roboten. Det gör följande om det är lika med varje nummer som anges nedan.

  1. Medan den är lika med noll rör sig roboten i ett visst mönster.
  2. Om läget är lika med ett skriver roboten ut utdata till datorn för var och en av sensoravläsningarna.
  3. När den är lika med två undviker roboten kanter och hinder om den stöter på dem.
  4. Roboten bekämpar andra robotar.

Det här är robotens olika lägen som används för att testa och hjälpa roboten att utvecklas. Du måste ändra det "3" till noll för det första steget i denna handledning.

Ladda nu upp koden till roboten. Du kommer att se den gå framåt, bakåt, vänster och höger i den ordningen.

Steg 3: Det kan se

int -läge = 0;

Ändra följande variabel till "1" om föregående steg har slutförts. Nu när den är ansluten till din seriella bildskärm på Arduino kommer den att skriva ut vad din robot ser. "0" betyder för kantsensorerna att den ser något. "1" Innebär att det inte ser några kanter. Om du märker att logiken är inverterad, notera det för framtida steg.

Oroa dig inte för ping -sensorn. Jag har inte fått det att fungera än i alla fall. Denna robot är under hård utveckling.

Steg 4: Det kan undvika bordets kant

void Undvik () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

fördröjning (50);

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

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

}

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

left.write (90);

right.write (0); }

}

Denna kod ovan är koden som kallas när läget är två. Om föregående steg har slutförts ändras läge till "2".

Om sensorerna är inverterade är du välkommen att invertera "sensorStateLeft" och "sensorStateRight" i vart och ett av "if" -uttygen för att vara lika med ett annat tal än de fick, antingen "1" eller "0".

Nu kan roboten undvika kanten av en sumoarena. Det är nästan klart att slåss. Testa det gärna för att se om det fungerar eller inte.

Steg 5: BATTLE

Din sumo är redo att slåss nu med några kodändringar. Ändra läge för att vara lika med "3" och invertera logiken efter behov i tomrummet "Sumo". Nu bör din robot undvika kanten av arenan men kan inte upptäcka andra robotar. Det undviker i princip arenans kanter och rör sig tillräckligt snabbt för att förhoppningsvis kunna skjuta en robot från bordskanten. Njut av!

Steg 6: Slutsats

Din robot är klar nu. Om det finns några problem eller kommentarer för det här projektet får du gärna meddela mig. Jag är otroligt öppen för öppenhet för feedback eftersom jag inte har en aning om detta var en välgjord handledning eller inte. Njut av!

Rekommenderad: