Inhoudsopgave:

Arduino 3D-geprinte Sumo Bot - Ajarnpa
Arduino 3D-geprinte Sumo Bot - Ajarnpa

Video: Arduino 3D-geprinte Sumo Bot - Ajarnpa

Video: Arduino 3D-geprinte Sumo Bot - Ajarnpa
Video: Arduino Mini sumo robot mk3 test 2024, Juli-
Anonim
Arduino 3D-geprinte Sumo Bot
Arduino 3D-geprinte Sumo Bot

Dus ik had een heleboel onderdelen rond mijn huis liggen. Ik wilde over een paar maanden meedoen aan een sumowedstrijd, maar ik had geen bot. In plaats van een bot te kopen of een bestaand ontwerp te gebruiken waarvoor ik dingen voor het project moest kopen, ging ik door en maakte mijn eigen bot van mijn eigen ontwerp van mijn eigen onderdelen die ik had. Voor deze tutorial heb je het volgende nodig.

  1. Een van elk 3D-geprint onderdeel dat hier te vinden is.
  2. Een 7,4 volt batterij of twee 18650 batterijen.
  3. Eventueel een batterijhouder.
  4. Arduino uno.
  5. Arduino uno breakout schild.
  6. USB-kabel voor Arduino.
  7. Tafelvoeding (optioneel).
  8. Oplader (optioneel).
  9. Draden en veel van hen.
  10. Standaard metalen tandwiel servo's met continue rotatie.
  11. Twee ir-schakelaarsensoren.
  12. Servowielen van 7 cm.
  13. Aan en uit schakelaar.

Deze code wordt voortdurend gewijzigd. De code voor deze robot vind je hier. Dit is de meest actuele versie van deze projectcode. Genieten van!

Stap 1: Montage

Samenkomst
Samenkomst
Samenkomst
Samenkomst
Samenkomst
Samenkomst
  1. De robot maakt gebruik van twee metalen tandwielservo's. U wilt ze vastschroeven met m3-bouten en -moeren met de servo's in het chassis in beide richtingen naar buiten gericht. Er is maar één manier waarop de servo's in de robot kunnen gaan, dus dit zal vrij eenvoudig zijn.
  2. Bevestig de servowielen.
  3. Bevestig de ir-sensoren zodat ze naar beneden gericht zijn aan de voorkant van de robot. Ze worden met twee schroeven door de M3-gaten aan de voorkant van de robot bevestigd. Er zijn sleuven aan de onderkant van de robot waar ze doorheen kunnen kijken. Je moet oppassen dat de sensoren het chassis niet oppakken en helemaal door de spleten kunnen kijken. U komt hier later meer over te weten als we de robot testen om te zien of uw handige werk heeft gewerkt.
  4. Plaats de HC-SR04-sensor in de twee gaten die van binnenuit naar buiten gericht zijn. De gaten bevinden zich aan de voorkant van het chassis.
  5. Zet de Arduino Uno in het chassis met het schild erop.
  6. Sluit alles aan elkaar volgens de lijst met opsommingstekens hieronder.

    1. Stroom van de stroombron van uw keuze naar de aan/uit-schakelaar. U sluit een positieve of negatieve draad aan op de schakelaar. Als u de negatieve leiding kiest, is dit uw aarde, terwijl als u de positieve leiding kiest, dat uw stroombronkabel zal zijn. De andere draad, afhankelijk van of deze positief of negatief is, zal uw positief of negatief zijn.
    2. Verbind de positieve kabel met vin op de Arduino en de positieve kabels op de servo's.
    3. Verbind aarde met aarde op de servo's en de Arduino.
    4. Verbind 5v van de 5 volt-regelaar op de Arduino met alle positieve terminals op elk van de sensoren.
    5. Sluit de sensoren aan op aarde op de Arduino.
    6. Sluit ten slotte pin 7 op de Arduino aan op de rechter IR-sensor, pin 6 op de linker IR-sensor, pin 8 op een van de servo's, pin 9 op de laatste servo.

Waarschuwing: Als de robot niet correct wordt aangesloten, kan de robot gaan roken en kan de elektronica worden vernietigd

Stap 2: Eerste tekenen van leven

Waarschuwing: Sluit de robot niet aan op uw computer terwijl deze is ingeschakeld of terwijl de servo's zijn aangesloten. Als u dit niet doet, kan dit leiden tot schade aan uw computer

int-modus = 3;

Deze regel code hierboven is de cruciale variabele voor de robot. Het doet het volgende als het gelijk is aan elk nummer dat hieronder wordt vermeld.

  1. Terwijl gelijk aan nul beweegt de robot in een bepaald patroon.
  2. Als de modus gelijk is aan één, drukt de robot de uitvoer van elk van de sensormetingen af naar de computer.
  3. Wanneer gelijk aan twee, vermijdt de robot randen en obstakels als hij ze tegenkomt.
  4. De robot vecht tegen andere bots.

Dit zijn de verschillende modi van de robot die worden gebruikt om de robot te testen en vooruit te helpen. U moet die "3" wijzigen in nul voor de eerste stap van deze zelfstudie.

Upload nu de code naar de robot. Je zult het in die volgorde vooruit, achteruit, links en rechts zien bewegen.

Stap 3: Het kan zien

int-modus = 0;

Wijzig de volgende variabele in "1" als de vorige stap is voltooid. Wanneer deze nu is aangesloten op uw seriële monitor op Arduino, wordt afgedrukt wat uw robot ziet. "0" Betekent voor de randsensoren dat hij iets ziet. "1" Betekent dat het geen randen ziet. Als u merkt dat de logica is omgekeerd, let daar dan op voor de toekomstige stappen.

Maak je geen zorgen over de ping-sensor. Ik heb dat in ieder geval nog niet werkend. Deze robot is volop in ontwikkeling.

Stap 4: Het kan de rand van de tafel vermijden

ongeldig Vermijd(){

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

vertraging (50);

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

links.schrijven(0); rechts.schrijven(90);

}

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

links.schrijven(90);

rechts.schrijven(0); }

}

Deze code hierboven is de code die wordt opgeroepen wanneer modus gelijk is aan twee. Als de vorige stap is voltooid, wijzigt u de modus naar "2".

Als de sensoren omgekeerd zijn, kunt u "sensorStateLeft" en "sensorStateRight" in elk van de "if"-instructies omkeren om gelijk te zijn aan een ander getal dan ze kregen, namelijk "1" of "0".

Nu kan de robot de rand van een sumo-arena ontwijken. Het is bijna klaar om te strijden. Voel je vrij om het uit te proberen om te zien of het werkt of niet.

Stap 5: STRIJD

Je sumo is nu klaar voor de strijd met een paar codewijzigingen. Wijzig de modus zodat deze gelijk is aan "3" en keer de logica indien nodig om in de leegte "Sumo". Nu zou je robot de rand van de arena moeten vermijden, maar kan hij geen andere robots detecteren. Het vermijdt in feite de randen van de arena en beweegt snel genoeg zodat het hopelijk een robot van de rand van de tafel kan duwen. Genieten van!

Stap 6: Conclusie

Je robot is nu klaar. Als er problemen of opmerkingen zijn voor dit project, laat het me dan gerust weten. Ik sta ongelooflijk open voor feedback omdat ik geen idee heb of dit een goed uitgevoerde tutorial was of niet. Genieten van!

Aanbevolen: