Spisu treści:
- Krok 1: Komponenty
- Krok 2: Zastosowania dla każdego komponentu
- Krok 3: Projekt
- Krok 4: Zagraj w strategię
- Krok 5: Programowanie
Wideo: Robot Arduino Sumo: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Zanim zaczniemy
Czym jest robot sumo?
Jest to samosterujący się robot o określonych wymiarach i funkcjach, jest również zaprojektowany w wrogich kształtach, które kwalifikują go do udziału w zawodach i zawodach z innymi robotami.
Nazwa „sumo” wzięła się od starego japońskiego sportu, czyli dwóch przeciwników walczących na ringu, z których każdy próbuje wypchnąć z niego drugiego przeciwnika. I to właśnie powinny robić roboty w zawodach robotyki sumo, gdzie dwa roboty ustawione w ringu i wzajemnie próbujące wypchnąć swojego przeciwnika.
Pomysł:
Zbuduj robota o określonych specyfikacjach i zgodnych z prawami tej konkurencji (Sumo), ten robot musi mieć dokładne wymiary, aby walczyć i przetrwać, aby w żaden sposób nie został skreślony z ringu.
Przyjrzyjmy się więc przepisom dotyczącym konkurencji robotów Sumo:
Wyjaśnię kilka ważnych ról, które należy wziąć pod uwagę podczas budowania własnego SUMO, może to również pomóc w wyobrażeniu i zinnowowaniu własnego pomysłu bez wnikania w szczegóły.
1. Wymiary: maksymalna szerokość 20 cm, maksymalna długość 20 cm, wysokość nie określona.
2. Kształt: kształt robota można zmienić po rozpoczęciu wyścigu, ale bez nierozłącznych części, które utrzymują się jako jeden centralny obiekt.
3. Waga: nie przekracza 3 kg.
4. Robot musi być samokontrolujący.
Krok 1: Komponenty
1 Arduino Ano3
2 Silnik prądu stałego
1 mostek L298N Dual H dla Arduino
1 czujnik ultradźwiękowy
2 IR TCRT5000
1 bateria 9v
Bateria AA 4*1.5 v sztuk + komora baterii
4 koła robota
przewody połączeniowe
Krok 2: Zastosowania dla każdego komponentu
Teraz mamy wymagane komponenty, więc przejdźmy do szczegółów, aby dowiedzieć się, do czego służy …
1- Arduino Ano3
Jest to płyta główna, która kontroluje wszystkie części i łączy je ze sobą
2-silnik prądu stałego
Które pomagają robotowi manewrować i poruszać się w pierścieniu KONKURENCJI
4-L298N Podwójny mostek H dla Arduino
Jest to niewielki panel, który dostarcza stałe napięcie do silników, a także podporę płytki Arduino z dobrą kontrolą ruchu i napięcia.
5-Czujnik ultradźwiękowy
Czujnik ultradźwiękowy służy do lokalizowania robota przeciwnika i jest zwykle umieszczany na górze robota.
6-IR TCRT5000
Jak już wspomnieliśmy, pierścionek konkursowy zaprojektowany w określonym rozmiarze i w dwóch kolorach, wypełnienie jest czarne, a ramka biała. Zawodnik nie powinien wychodzić. Dlatego używamy czujnika IR, aby mieć pewność, że robot nie wyjdzie poza ring. Ten czujnik ma możliwość rozróżniania kolorów pierścienia).
7- Bateria 9v
Obsługuje płytę główną (Arduino) z ważnym napięciem.
8-bateria AA 4*1.5 v sztuk + komora baterii;
Obsługuje dwa silniki (silnik prądu stałego) ważnym napięciem i musi być oddzielony, aby zapewnić pełną siłę dla kół.
9- Przewody połączeniowe
Krok 3: Projekt
Zrobiłem dwa projekty robotów sumo, korzystając ze szkicu Google 3D, ponieważ lubię tworzyć papierowe modele moich robotów, zanim wycinam części z akrylu na wycinarce laserowej. Aby sprawdzić, czy wszystkie części będą do siebie pasować, ważne jest, aby papierowe modele były drukowane w dokładnym rozmiarze rysunków.
A ja biorę pod uwagę, aby dokładnie mierzyć się z przepisami o konkurencji, więc staraj się myśleć w bardziej kreatywnych projektach i stwórz swój własny model.
Aby być bardziej wrażliwym na wagę robota należy włożyć baterie z przodu robota z przednią osłoną pod kątem 45 stopni do kształtu robota.
Pobierz projekt 1 stąd
Pobierz projekt 2 stąd
Możesz również pobrać szablon modelu papieru
Otwórz plik PDF za pomocą programu Adobe Acrobat Reader (zalecane oprogramowanie)
Krok 4: Zagraj w strategię
Jak wspomnieliśmy wcześniej, robot musi mieć własną zdolność do samodzielnego kontrolowania siebie, więc daje nam to możliwość zaprogramowania go na więcej niż jeden sposób, w zależności od tego, jak chcesz, aby robot grał na ringu tak samo, jak każdy przeciwnik w naprawdę chcą wygrać grę.
Strategia gry (1):
· Będziemy nieustannie otaczać się robotem.
· Robot zawsze mierzy odległość w sposób ciągły podczas obrotu.
· Jeśli zmierzona odległość przeciwnika jest mniejsza niż (na przykład 10 cm), oznacza to, że przeciwnik znajduje się bezpośrednio przed robotem.
· Robot musi przestać się obracać, a następnie rozpocząć atak (szybko poruszać się do przodu z pełną siłą).
· Robot musi zawsze pobierać odczyty z czujników podczerwieni, aby mieć pewność, że nie przekroczyliśmy granicy pierścienia.
· W przypadku odczytu obecności IR koloru białego, należy przesunąć robota bezpośrednio w kierunku przeciwnym do czujnika (na przykład: Jeżeli czujnik przedni, który dał wskazanie koloru białego, robot porusza się do tyłu)!
Strategia gry (2):
· Na początku robot mierzy odległość z przodu.
· Robot cofa się o tę samą zmierzoną odległość.
· Robot przestaje się obracać i nagle zaczyna atakować (poruszać się do przodu z pełną siłą).
· W przypadku przyczepienia przeciwnika robot musi obracać się o 45 stopni, aby przetrwać, jeśli wypadnie z ringu.
· Robot musi zawsze pobierać odczyty z czujników podczerwieni, aby mieć pewność, że nie przekroczyliśmy granicy pierścienia.
· W przypadku odczytu obecności IR koloru białego, należy przesunąć robota bezpośrednio w kierunku przeciwnym do czujnika (na przykład: Jeżeli czujnik przedni, który dał wskazanie koloru białego, robot porusza się do tyłu)!
Krok 5: Programowanie
proszę sprawdzić obwód i kod!
* Aktualizacja 26.03.2019
Pobierz najpierw bibliotekę ultradźwiękową stąd i zainstaluj ją:
github.com/ErickSimoes/Ultrasonic/blob/mas…
/*
autor: Ahmed Azouz
www.instructables.com/id/How-to-Make-Ardu…
Najpierw pobierz bibliotekę stąd
github.com/ErickSimoes/Ultrasonic/blob/ma…
*/
#include Ultrasonic.h
Ultradźwiękowy ultradźwiękowy(4, 3);
const int IN1=5;
const int IN2=6; const int IN3=9; const int IN4=10; #define IR_sensor_front A0 // czujnik przedni #define IR_sensor_back A1 // odległość int czujnika tylnego;
pusta konfiguracja()
{ Szeregowy.początek(9600); opóźnienie (5000); // zgodnie z rolami sumo compat } void loop() { int IR_front = analogRead(IR_sensor_front); int IR_back = analogRead(IR_sensor_back); odległość = ultradźwięk.odczyt(); OBRÓĆ(200); // uruchom rotete if (odległość < 20){ Stop(); while (odległość 650 || IR_back > 650) { break;} delay(10); } if (IR_front < 650) // < 650 oznacza białą linię { Stop(); opóźnienie (50); DO TYŁU(255); opóźnienie (500); } if (IR_back < 650) // { Stop(); opóźnienie (50); DO PRZODU (255); opóźnienie (500); } /* ----------- debugowanie ---------------- Serial.print(ultrason. Ranging(CM)); Serial.println("cm"); Serial.println("Przód IR:"); Serial.println(IR_front); Serial.println("IR tył:"); Serial.println(IR_back); */
} //--------------------------------------------
void FORWARD (int Speed){ //Gdy chcemy, aby Motor poruszał się do przodu, // po prostu unieważnij tę część w sekcji pętli. zapis analogowy (IN1, prędkość); analogZapis(IN2, 0); analogZapis(IN3, 0); zapis analogowy (IN4, prędkość); }//------------------------------------------- nieważne WSTECZ (int Speed){ //Gdy chcemy, aby Motor poruszał się do przodu, // po prostu anuluj tę część w sekcji pętli. analogZapis(IN1, 0); zapis analogowy (IN2, prędkość); zapis analogowy (IN3, prędkość); analogZapis(IN4, 0); }//------------------------------------------- nieważne OBRÓĆ (int Speed) { //Gdy chcemy pozwolić Motor To Rotate, // po prostu unieważnij tę część w sekcji pętli. zapis analogowy (IN1, prędkość); analogZapis(IN2, 0); zapis analogowy (IN3, prędkość); analogZapis(IN4, 0); }//------------------------------------------- void Stop(){ //Kiedy chcemy zatrzymać ruch, // po prostu anuluj tę część w sekcji pętli. analogZapis(IN1, 0); analogZapis(IN2, 0); analogZapis(IN3, 0); analogZapis(IN4, 0); }
Zalecana:
Robot Arduino 5 w 1 - Podążaj za mną - Śledzenie linii - Sumo - Rysunek - Unikanie przeszkód: 6 kroków
Robot Arduino 5 w 1 | Podążaj za mną | Śledzenie linii | Sumo | Rysunek | Unikanie przeszkód: Ta płyta sterująca robota zawiera mikrokontroler ATmega328P i sterownik silnika L293D. Oczywiście nie różni się niczym od płytki Arduino Uno, ale jest bardziej użyteczna, ponieważ nie potrzebuje kolejnej osłony do napędzania silnika! Jest wolny od skoku
Mini-Sumo Bot: 9 kroków
Mini-Sumo Bot: What Is A Sumo Bot? Ten projekt został zainspirowany stylem rywalizacji w robotyce sumo, którego przykład można znaleźć tutaj. Dwa boty są umieszczone w czarnym pierścieniu z białą obwódką, a ich celem jest autonomiczne wybicie drugiego bota z
Robot Mini Sumo: 5 kroków
Robot Mini Sumo: Początkowo musisz mieć wszystkie niezbędne materiały, aby rozpocząć montaż robota sumo. W tym celu musisz mieć następujące urządzenia: 1 PIC 16F877A 2 Kryształ kwarcowy 4 MHz 4 Kondensatory 22 pF 2 Cyfrowy czujnik linii QTR-1RC 1 Tryb Bluetooth HC -05 1 Ultra
Wydrukowany w 3D Arduino Sumo Bot: 6 kroków
Arduino 3D Printed Sumo Bot: Więc miałem kilka części leżących wokół mojego domu. Za kilka miesięcy chciałem wziąć udział w zawodach sumo, ale nie miałem bota. Zamiast kupować bota lub korzystać z istniejącego projektu, który wymagałby ode mnie zakupu rzeczy na pr
ARDUINO HDD SUMO ROBOT: 10 kroków (ze zdjęciami)
ARDUINO HDD SUMO ROBOT: Oto instrukcje, jak używać starego dysku twardego do budowy robota sumo zasilanego Arduino