Inhoudsopgave:
- Stap 1: Componenten
- Stap 2: Gebruik voor elke component
- Stap 3: Ontwerp
- Stap 4: Speel Strategie
- Stap 5: Programmeren
Video: Arduino Sumo-robot - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Voor we beginnen
Wat is de sumo-robot?
Het is een zelfgestuurde robot met specifieke afmetingen en functies, het is ook ontworpen in een vijandige vorm die het kwalificeert om deel te nemen aan de wedstrijden en wedstrijden met andere robots.
De naam "sumo" kwam van een oude Japanse sport, twee tegenstanders die in een ring vechten, elk van hen probeert de andere tegenstander eruit te duwen. En dit is wat robots ook moeten doen in de sumo-robotica-competities, waar twee robots die in de ring worden geplaatst en elkaar proberen de tegenstander eruit te duwen.
Het idee:
Bouw een robot met bepaalde specificaties en in overeenstemming met de wetten van die competitie (Sumo), deze robot moet in exacte afmetingen zijn om te vechten en te overleven om op geen enkele manier uit de ring te raken.
Dus laten we eens kijken naar de Sumo robot concurrentiewetten:
Ik zal enkele belangrijke rollen uitleggen die je zou moeten overwegen bij het bouwen van je eigen SUMO. Het kan je ook helpen om je eigen idee voor te stellen en te innoveren zonder diep in details te treden.
1. Afmetingen: Max Breedte 20 cm, Max Lengte 20 cm, Hoogte niet gespecificeerd.
2. Vorm: de vorm van de robot kan worden gewijzigd na het starten van de race, maar zonder dat de onafscheidelijke onderdelen één centraal object vormen.
3. Gewicht: niet meer dan 3 kg.
4. Robot moet zelfsturend zijn.
Stap 1: Componenten
1 Arduino Ano3
2 gelijkstroommotor
1 L298N Dual H-brug voor Arduino
1 Ultrasone sensor
2 IR TCRT5000
1 batterij 9v
AA batterij 4*1.5 v stuks + Batterijhuis
4 robotwielen
jumperdraden
Stap 2: Gebruik voor elke component
Nu hebben we de vereiste componenten, dus laten we in detail gaan om te weten waarvoor..
1- Arduino Ano3
Het is een moederbord dat alle onderdelen bestuurt en aan elkaar koppelt
2- DC-motor
Welke robot helpen om te manoeuvreren en te bewegen binnen de ring van COMPETING
4- L298N Dual H-brug voor Arduino
Het is een klein paneel dat een constante spanning aan de motoren levert, evenals de ondersteuning van de Arduino-plaat met een goede controle van beweging en spanning.
5- Ultrasone sensor
De ultrasone sensor wordt gebruikt om de robot van de tegenstander te lokaliseren en wordt meestal bovenaan de robot geplaatst.
6- IR TCRT5000
Zoals we al hebben vermeld, is de wedstrijdring ontworpen in een bepaalde maat en heeft deze twee kleuren, de vulling is zwart en het frame is wit. De deelnemer mag niet uitgaan. Daarom gebruiken we de IR-sensor om ervoor te zorgen dat de robot niet uit de ring komt. Deze sensor heeft de mogelijkheid om onderscheid te maken tussen de kleuren van de ring).
7- Batterij 9v
Het ondersteunt het moederbord (Arduino) met de belangrijke spanning.
8- AA-batterij 4 * 1.5 v stuks + Batterijhuis
Het ondersteunt de twee motoren (DC-motor) met de belangrijke spanning en moet worden gescheiden om de volledige kracht voor de wielen te geven.
9- Jumper-draden
Stap 3: Ontwerp
Ik heb twee sumo-robotontwerpen gemaakt met Google 3D-schets omdat ik graag papieren modellen van mijn robots maak voordat ik onderdelen uit acryl op de lasersnijder snij. Om te controleren of alle onderdelen goed in elkaar passen, is het belangrijk dat de papieren modellen worden afgedrukt op het exacte formaat van de tekeningen.
En ik houd er rekening mee om specifiek te meten met concurrentiewetten, dus probeer in creatievere ontwerpen te denken en maak je eigen model.
Om gevoeliger te zijn voor het robotgewicht, plaatst u de batterijen voorin de robot met het voorscherm in een hoek van 45 graden ten opzichte van de vorm van de robot.
Download het ontwerp 1 van hier
Download het ontwerp 2 van hier
U kunt ook een papieren modelsjabloon downloaden
Open het PDF-bestand met Adobe Acrobat Reader (aanbevolen software)
Stap 4: Speel Strategie
Zoals we eerder vermeldden, moet de robot zijn eigen vermogen hebben om zichzelf te besturen, dus het geeft ons de mogelijkheid om het op meer dan één manier te programmeren, afhankelijk van hoe je wilt dat de robot op de ring speelt, net als elke tegenstander in echt het spel willen winnen.
Speelstrategie (1):
· We maken de robot continu om zich heen.
· Tijdens de rotatie meet de robot continu de afstand.
· Als de gemeten afstand van de tegenstander kleiner is dan (bijvoorbeeld 10 cm), betekent dit dat de tegenstander direct voor robot ons staat.
· De robot moet stoppen met draaien en dan de aanval starten (snel met volle kracht vooruit gaan).
· De robot moet altijd de metingen van de IR-sensoren opnemen om er zeker van te zijn dat we de ringgrens niet hebben overschreden.
· Als IR-aanwezigheid van witte kleur wordt gelezen, moet deze de robot rechtstreeks in de tegenovergestelde richting van de sensor bewegen (bijvoorbeeld: als de sensor aan de voorkant, die een indicatie gaf van de witte kleur van de robot, achteruit beweegt)!
Speelstrategie (2):
· Bij de start meet de robot de afstand vooraan.
· Robot beweegt dezelfde gemeten afstand terug.
· Robot stopt met draaien en begint dan plotseling aan te vallen (beweeg met volle kracht vooruit).
· In het geval van een tegenstander moet de robot 45 graden draaien om zichzelf te overleven als hij uit de ring valt.
· De robot moet altijd de metingen van de IR-sensoren opnemen om er zeker van te zijn dat we de ringgrens niet hebben overschreden.
· Als IR-aanwezigheid van witte kleur wordt gelezen, moet deze de robot rechtstreeks in de tegenovergestelde richting van de sensor bewegen (bijvoorbeeld: als de sensor aan de voorkant, die een indicatie gaf van de witte kleur van de robot, achteruit beweegt)!
Stap 5: Programmeren
controleer het circuit en de code!
* Update 2019-03-26
Download hier eerst de Ultrasonic-bibliotheek en installeer deze:
github.com/ErickSimoes/Ultrasonic/blob/mas…
/*
door ahmed Azouz
www.instructables.com/id/How-to-Make-Ardu…
Download eerst de lib van hier
github.com/ErickSimoes/Ultrasonic/blob/ma…
*/
#include Ultrasonic.h
Ultrasoon ultrasoon (4, 3);
const int IN1=5;
const int IN2=6; const int IN3=9; const int IN4=10; #define IR_sensor_front A0 // front sensor #define IR_sensor_back A1 // rear senson int distance;
ongeldige setup()
{ Serieel.begin (9600); vertraging (5000); // volgens sumo compat-rollen} void loop () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); afstand = ultrasoon.lezen(); DRAAIEN(200); // start rotete if (afstand <20) {Stop(); while (afstand 650 || IR_back > 650) {pauze;} vertraging (10); } if (IR_front < 650) // < 650 betekent witte lijn { Stop(); vertraging (50); ACHTERUIT (255); vertraging (500); } if (IR_back < 650) // { Stop(); vertraging (50); VOORUIT (255); vertraging (500); } /* ----------- debugging ---------------- Serial.print(ultrasoon. Ranging(CM)); Serieel.println("cm"); Serial.println ("IR-front:"); Serial.println(IR_front); Serial.println ("IR terug:"); Serial.println(IR_back); */
} //--------------------------------------------
void FORWARD (int Speed) { // Als we Motor vooruit willen laten gaan, // maak dit deel gewoon ongeldig in de loop-sectie. analoogSchrijven (IN1, Snelheid); analoogWrite(IN2, 0); analoogWrite(IN3, 0); analoogSchrijven (IN4, Snelheid); }//-------------------------------------------- ongeldig ACHTERUIT (int Speed) { // Als we Motor vooruit willen laten gaan, // laat dit deel gewoon vervallen in de lussectie. analoogWrite(IN1, 0); analoog schrijven (IN2, snelheid); analoogSchrijven (IN3, Snelheid); analoogWrite(IN4, 0); }//-------------------------------------------- ongeldig DRAAIEN (int Speed) {//Als we de motor willen laten roteren, // laat dit deel gewoon vervallen in de lussectie. analoogSchrijven (IN1, Snelheid); analoogWrite(IN2, 0); analoogSchrijven (IN3, Snelheid); analoogWrite(IN4, 0); }//-------------------------------------------- ongeldig Stop(){ //Als we willen stoppen met de motor, // maak dit deel gewoon ongeldig in de lussectie. analoogWrite(IN1, 0); analoogWrite(IN2, 0); analoogWrite(IN3, 0); analoogWrite(IN4, 0); }
Aanbevolen:
Hoe maak je RADAR met behulp van Arduino voor Science Project - Beste Arduino-projecten: 5 stappen
Hoe maak je RADAR met behulp van Arduino voor Science Project | Beste Arduino-projecten: Hallo vrienden, in deze instructable laat ik je zien hoe je een geweldig radarsysteem kunt maken dat is gebouwd met behulp van Arduino nano. Dit project is ideaal voor wetenschappelijke projecten en je kunt dit gemakkelijk doen met heel minder investeringen en kansen als het winnen van een prijs geweldig is om
Arduino tekst-naar-spraak-converter met LM386 - Pratend Arduino-project - Talkie Arduino-bibliotheek: 5 stappen
Arduino tekst-naar-spraak-converter met LM386 | Pratend Arduino-project | Talkie Arduino-bibliotheek: Hallo allemaal, in veel projecten hebben we arduino nodig om zoiets als een pratende klok te spreken of wat gegevens te vertellen, dus in deze instructables zullen we tekst omzetten in spraak met behulp van Arduino
Mini Sumo: 5 stappen
Mini Sumo: Vandaag zullen we uitleggen hoe het ontwerp, de bediening en de constructie van een sumo-robot moeten worden uitgevoerd. Een robot wordt beschouwd als een automatisch geprogrammeerde machine om een bepaalde taak uit te voeren. In deze gelegenheid heeft onze robot de taak om tegenover een andere robo te staan
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
Goedkoopste Arduino -- Kleinste Arduino -- Arduino Pro Mini -- Programmeren -- Arduino Neno: 6 stappen (met afbeeldingen)
Goedkoopste Arduino || Kleinste Arduino || Arduino Pro Mini || Programmeren || Arduino Neno:…………………………….. ABONNEER aub op mijn YouTube-kanaal voor meer video's……. Dit project gaat over hoe je een kleinste en goedkoopste arduino ooit kunt aansluiten. De kleinste en goedkoopste arduino is arduino pro mini. Het lijkt op arduino