İçindekiler:
- Adım 1: Bileşenler
- Adım 2: Her Bileşen İçin Kullanımlar
- Adım 3: Tasarım
- 4. Adım: Oyun Stratejisi
- Adım 5: Programlama
Video: Arduino Sumo Robotu: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Başlamadan önce.
Sumo robotu nedir?
Belirli boyut ve özelliklere sahip kendi kendini kontrol eden bir robottur, ayrıca diğer robotlarla yarışmalara ve yarışmalara katılmaya hak kazanan bir Düşman şekillerde tasarlanmıştır.
"Sumo" adı, iki rakibin bir ringde dövüşmesi ve her birinin diğer rakibi ondan dışarı atmaya çalışması anlamına gelen eski bir Japon sporundan gelmektedir. ringe yerleştirilen robotlar ve birbirlerine rakiplerini itmeye çalışıyorlar.
Fikir:
Belirli özelliklere sahip bir robot yapın ve o yarışmanın (Sumo) yasalarına uygun bir robot yapın, bu robotun savaşmak için tam boyutlarda olması ve hiçbir şekilde çemberin dışına çıkmaması için hayatta kalması gerekir.
O halde Sumo robot rekabet yasalarına bir göz atalım:
Kendi SUMO'nuzu oluştururken göz önünde bulundurmanız gereken bazı önemli rolleri açıklayacağım, ayrıca derin ayrıntılara girmeden kendi Fikrinizi hayal etmenize ve geliştirmenize yardımcı olabilir.
1. Boyutlar: Maksimum Genişlik 20 cm, Maksimum Uzunluk 20 cm, Yükseklik belirtilmemiştir.
2. Şekil: Robot şekli yarışa başladıktan sonra değiştirilebilir, ancak tek bir merkezi Nesne olmayı sürdürmek için ayrılmaz parçalar olmadan.
3. Ağırlık: 3 kg'ı geçmez.
4. Robot kendi kendini kontrol edebilmelidir.
Adım 1: Bileşenler
1 Arduino Ano3
2 DC Motor
Arduino için 1 L298N Çift H Köprüsü
1 Ultrasonik sensör
2 IR TCRT5000
1 Pil 9v
AA pil 4*1.5 v adet + Pil yuvası
4 Robot Tekerleği
atlama telleri
Adım 2: Her Bileşen İçin Kullanımlar
Artık gerekli bileşenlere sahibiz, o yüzden ne için kullanıldığını öğrenmek için ayrıntılara geçelim..
1- Arduino Ano3
Tüm parçaları kontrol eden ve birbirine bağlayan bir ana karttır.
2- DC Motor
Robotun YARIŞMA halkası içinde manevra yapmasına ve hareket etmesine yardımcı olan
4- Arduino için L298N Çift H Köprüsü
Motorlara sabit voltaj sağlayan, ayrıca iyi hareket ve voltaj kontrolü ile Arduino plakasının desteğini sağlayan küçük bir paneldir.
5- Ultrasonik sensör
Ultrasonik sensör, rakibin robotunu bulmak için kullanılır ve genellikle robotun üstüne yerleştirilir.
6- IR TCRT5000
Daha önce de belirttiğimiz gibi yarışma yüzüğü belli ölçülerde tasarlanmış ve iki renk, dolgu siyah ve çerçeve beyazdır. Yarışmacı dışarı çıkmamalıdır. Bu nedenle robotun ring dışına çıkmamasını sağlamak için IR sensörünü kullanıyoruz. Bu sensör, halkanın renklerini ayırt etme yeteneğine sahiptir).
7- Pil 9v
Ana kartı (Arduino) önemli voltajla destekler.
8- AA pil 4*1.5 v adet + Pil yuvası
Önemli gerilim ile iki motoru (DC Motor) destekler ve tekerleklere tam kuvvet verecek şekilde ayrılmalıdır.
9- Jumper kabloları
Adım 3: Tasarım
Lazer kesicide akrilikten parçalar kesmeden önce robotlarımın kağıt modellerini oluşturmayı sevdiğim için Google 3D Sketch-up'ı kullanarak iki sumo robot tasarımı yaptım. Tüm parçaların düzgün bir şekilde birbirine oturduğunu doğrulamak için kağıt modellerin tam çizimler boyutunda yazdırılması önemlidir.
Ve rekabet yasaları ile belirli ölçülerde olmayı dikkate alıyorum, bu yüzden daha yaratıcı tasarımlarda düşünmeye çalışın ve kendi modelinizi yapın.
Gönderilen robot ağırlığına daha duyarlı olmak için veya daha sonra pilleri robotun önüne 45 derecelik bir açıyla ön kalkan ile robotun formuna yerleştirin.
Tasarım 1'i buradan indirin
Tasarım 2'yi buradan indirin
Ayrıca Kağıt model şablonunu da indirebilirsiniz.
PDF dosyasını Adobe Acrobat Reader ile açın (önerilen yazılım)
4. Adım: Oyun Stratejisi
Daha önce de belirttiğimiz gibi, robotun kendi kendini kontrol etme yeteneğine sahip olması gerekir, bu yüzden bize onu birden fazla şekilde programlama yeteneği verir, bu, tıpkı herhangi bir rakip gibi, robotun ringde nasıl oynamasını istediğinize bağlı olarak değişir. gerçek oyunu kazanmak istiyorum.
Oyun stratejisi (1):
· Robotu sürekli kendi etrafında yapacağız.
· Robot dönüş sırasında sürekli olarak mesafeyi ölçer.
· Rakibin ölçülen mesafesi (örneğin 10 cm'den) daha düşükse, rakip doğrudan robotumuzun önünde demektir.
· Robot dönmeyi durdurmalı ve ardından saldırıya başlamalıdır (hızlı bir şekilde tam güçle ileri hareket edin).
· Robot, halka sınırını geçmediğimizden emin olmak için her zaman IR sensörlerinden okuma yapmalıdır.
· Beyaz rengin IR varlığının Okunması durumunda, robotu doğrudan sensörün ters yönüne hareket ettirmelidir (örneğin: Robotun beyaz rengini gösteren ön sensör geriye doğru hareket ederse)!
Oyun stratejisi (2):
· Başlangıçta robot öndeki mesafeyi ölçün.
· Robot aynı ölçülen mesafeyi geri hareket ettirir.
· Robot dönmeyi durdurur ve sonra aniden saldırmaya başlar (tam güçle ileri hareket eder).
· Rakip takma durumunda robot, ringden düşerse hayatta kalabilmek için 45 derece dönmelidir.
· Robot, halka sınırını geçmediğimizden emin olmak için her zaman IR sensörlerinden okuma yapmalıdır.
· Beyaz rengin IR varlığının Okunması durumunda, robotu doğrudan sensörün ters yönüne hareket ettirmelidir (örneğin: Robotun beyaz rengini gösteren ön sensör geriye doğru hareket ederse)!
Adım 5: Programlama
lütfen devreyi ve kodu kontrol edin
* Güncelleme 2019-03-26
Önce Ultrasonik kütüphaneyi buradan indirin ve kurun:
github.com/ErickSimoes/Ultrasonic/blob/mas…
/*
ahmed Azouz tarafından
www.instructables.com/id/How-to-Make-Ardu…
Önce lib'i buradan indirin
github.com/ErickSimoes/Ultrasonic/blob/ma…
*/
#include Ultrasonic.h
Ultrasonik ultrasonik(4, 3);
const int IN1=5;
const int IN2=6; const int IN3=9; const int IN4=10; #define IR_sensor_front A0 // ön sensör #define IR_sensor_back A1 // arka sensör int mesafesi;
geçersiz kurulum()
{ Serial.başlangıç(9600); gecikme (5000); // sumo uyumlu rollere göre } void loop() { int IR_front = analogRead(IR_sensor_front); int IR_back = analogRead(IR_sensor_back); mesafe = ultrasonic.read(); DÖNDÜR(200); // ezbere başla if (mesafe < 20){ Stop(); while (mesafe 650 || IR_back > 650) { break;} gecikme(10); } if (IR_front < 650) // < 650 beyaz çizgi anlamına gelir { Stop(); gecikme (50); GERİ(255); gecikme (500); } if (IR_back < 650) // { Stop(); gecikme (50); İLERİ(255); gecikme (500); } /* ----------- hata ayıklama ---------------- Serial.print(ultrasonic. Ranging(CM)); Seri.println("cm"); Serial.println("IR ön:"); Serial.println(IR_front); Serial.println("IR geri:"); Serial.println(IR_back); */
} //--------------------------------------------
void FORWARD (int Speed){ //Motorun ileri gitmesine izin vermek istediğimizde // bu kısmı döngü bölümünde geçersiz kılmanız yeterli. analogWrite(IN1, Hız); analogWrite(IN2, 0); analogWrite(IN3, 0); analogWrite(IN4, Hız); }//------------------------------------------- geçersiz GERİ (int Speed){ //Motorun ilerlemesine izin vermek istediğimizde // bu kısmı döngü bölümünde geçersiz kılalım. analogWrite(IN1, 0); analogWrite(IN2, Hız); analogWrite(IN3, Hız); analogWrite(IN4, 0); }//------------------------------------------- geçersiz ROTATE (int Speed) { //Motorun Dönmesine İzin Vermek istediğimizde // bu kısmı loop bölümünde geçersiz kılalım. analogWrite(IN1, Hız); analogWrite(IN2, 0); analogWrite(IN3, Hız); analogWrite(IN4, 0); }//------------------------------------------ geçersiz Dur(){ //Motoru durdurmak istediğimizde // bu kısmı döngü bölümünden geçersiz kılalım. analogWrite(IN1, 0); analogWrite(IN2, 0); analogWrite(IN3, 0); analogWrite(IN4, 0); }
Önerilen:
5'i 1 Arada Arduino Robotu - Beni Takip Et - Satır Takip - sumo - Çizim - Engelden Kaçınma: 6 Adım
5'i 1 Arada Arduino Robotu | Beni Takip Et | Satır Takip | sumo | Çizim | Engelden Kaçınma: Bu robot kontrol panosu, bir ATmega328P mikro denetleyici ve bir L293D motor sürücüsü içerir. Elbette bir Arduino Uno kartından farkı yok ama motoru sürmek için başka bir kalkana ihtiyaç duymadığı için daha kullanışlı! Zıplamaktan muaftır
Arduino 3D Baskılı Sumo Bot: 6 Adım
Arduino 3D Baskılı Sumo Bot: Bu yüzden evimin etrafında bir sürü parça vardı. Birkaç ay sonra çıkacak bir sumo yarışmasına katılmak istiyordum ama botum yoktu. Bir bot satın almak veya pr için bir şeyler satın almamı gerektiren mevcut bir tasarımı kullanmak yerine
Tereyağı Robotu: Varoluşsal Krizi Olan Arduino Robotu: 6 Adım (Resimlerle)
Tereyağı Robotu: Varoluşsal Krizli Arduino Robotu: Bu proje, "Rick and Morty" animasyon dizisine dayanmaktadır. Bölümlerden birinde Rick, tek amacı tereyağı getirmek olan bir robot yapar. Bruface'den (Brüksel Mühendislik Fakültesi) öğrenciler olarak, mecha için bir görevimiz var
[Arduino Robot] Hareket Yakalama Robotu Nasıl Yapılır - Başparmak Robotu - Servo Motor - Kaynak Kodu: 26 Adım (Resimlerle)
[Arduino Robot] Hareket Yakalama Robotu Nasıl Yapılır | Başparmak Robotu | Servo Motor | Kaynak Kodu: Thumbs Robot. MG90S servo motorun bir potansiyometresi kullanıldı. Çok eğlenceli ve kolay! Kod çok basit. Sadece 30 satır civarında. Hareket yakalamaya benziyor.Lütfen herhangi bir soru veya geri bildirim bırakın![Talimat] Kaynak Kodu https://github.c
ARDUINO HDD SUMO ROBOT: 10 Adım (Resimlerle)
ARDUINO HDD SUMO ROBOT: Bunlar, Arduino destekli bir sumo ROBOT'u oluşturmak için eski bir Sabit sürücünün nasıl kullanılacağına dair talimatlar