Isi kandungan:

Arduino Sumo Robot: 5 Langkah
Arduino Sumo Robot: 5 Langkah

Video: Arduino Sumo Robot: 5 Langkah

Video: Arduino Sumo Robot: 5 Langkah
Video: Arduino Robot Sumo 2024, Julai
Anonim
Robot Arduino Sumo
Robot Arduino Sumo

Sebelum kita memulakan

Apa itu robot sumo?

Ini adalah robot yang dikendalikan sendiri dengan dimensi dan ciri tertentu, ia juga dirancang dalam bentuk Musuh yang melayakkannya untuk mengambil bahagian dalam peraduan dan pertandingan dengan robot lain.

Nama "sumo" berasal dari sebuah sukan Jepun lama, yang dua lawan bertengkar, masing-masing cuba mendorong lawan yang lain dari itu, Dan inilah yang harus dilakukan oleh robot dalam pertandingan robotik sumo, di mana dua robot diletakkan di gelang dan satu sama lain cuba mengusir lawannya.

Idea:

Bangun robot dengan spesifikasi tertentu dan sepadan dengan undang-undang persaingan itu (Sumo), robot ini mesti berada dalam dimensi yang tepat untuk bertarung dan bertahan agar tidak tersingkir dengan cara apa pun.

Oleh itu, mari kita lihat undang-undang persaingan robot Sumo:

Saya akan menerangkan beberapa peranan penting yang harus anda pertimbangkan semasa membina SUMO anda sendiri, ia juga dapat membantu anda Membayangkan dan melakukan inovasi Idea anda sendiri tanpa menjelaskan secara terperinci.

1. Dimensi: Lebar Maksimum 20 cm, Panjang Maksimum 20 cm, Tinggi tidak ditentukan.

2. Bentuk: bentuk robot dapat diubah setelah memulai perlumbaan, tetapi tanpa bahagian yang tidak dapat dipisahkan untuk tetap menjadi salah satu Objek pusat.

3. Berat: tidak melebihi 3 kg.

4. Robot mesti mengawal diri.

Langkah 1: Komponen

Image
Image
Kegunaan untuk Setiap Komponen
Kegunaan untuk Setiap Komponen

1 Arduino Ano3

2 Motor DC

1 L298N Dual H Bridge untuk Arduino

1 Sensor ultrasonik

2 IR TCRT5000

1 Bateri 9v

Bateri AA 4 * 1.5 v keping + Rumah bateri

4 Roda Robot

wayar pelompat

Langkah 2: Kegunaan untuk Setiap Komponen

Kegunaan untuk Setiap Komponen
Kegunaan untuk Setiap Komponen
Kegunaan untuk Setiap Komponen
Kegunaan untuk Setiap Komponen

Sekarang kita mempunyai komponen yang diperlukan, jadi mari kita perincian secara terperinci untuk mengetahui apa yang digunakan untuk..

1- Arduino Ano3

Ia adalah papan utama yang mengawal semua bahagian dan menghubungkannya bersama

2- Motor DC

Yang membantu robot untuk bergerak dan bergerak dalam gelanggang MENGHADAPI

4- L298N Dual H Bridge untuk Arduino

Ia adalah panel kecil yang memberikan voltan berterusan pada motor, serta sokongan plat Arduino dengan kawalan pergerakan dan voltan yang baik.

5- Sensor ultrasonik

Sensor ultrasonik digunakan untuk mencari robot lawan dan biasanya diletakkan di bahagian atas robot.

6- IR TCRT5000

Seperti yang telah kami sebutkan, cincin pertandingan dirancang dalam ukuran tertentu dan ia memiliki dua warna, isian berwarna hitam dan bingkai berwarna putih. Peserta tidak boleh keluar. Oleh itu, kami menggunakan sensor IR untuk memastikan bahawa robot tidak akan berada di luar gelanggang. Sensor ini mempunyai keupayaan untuk membezakan antara warna cincin).

7- Bateri 9v

Ia menyokong papan utama (Arduino) dengan voltan penting.

8- Bateri AA 4 * 1.5 v keping + Rumah bateri

Ia menyokong dua motor (DC Motor) dengan voltan penting dan ia mesti dipisahkan untuk memberikan daya penuh untuk roda.

9- Wayar pelompat

Langkah 3: Reka bentuk

Reka bentuk
Reka bentuk
Reka bentuk
Reka bentuk

Saya telah membuat dua reka bentuk robot sumo menggunakan sketsa 3D Google kerana saya suka membuat model kertas robot saya sebelum saya memotong bahagian dari akrilik pada pemotong laser. Untuk mengesahkan bahawa semua bahagian akan disatukan dengan betul, adalah penting bahawa model kertas dicetak pada ukuran lukisan yang tepat.

Dan saya mempertimbangkan untuk mengukur secara khusus dengan undang-undang persaingan, jadi cubalah berfikir dengan reka bentuk yang lebih kreatif dan buat model anda sendiri.

Agar lebih peka terhadap berat robot yang diserahkan atau kemudian letakkan bateri di bahagian depan robot dengan pelindung depan pada sudut 45 darjah ke bentuk robot.

Muat turun reka bentuk 1 dari sini

Muat turun reka bentuk 2 dari sini

Anda juga boleh memuat turun templat model Kertas

Buka fail PDF dengan Adobe Acrobat Reader (perisian yang disyorkan)

Langkah 4: Strategi Main

Image
Image
Strategi Main
Strategi Main

Seperti yang telah kami sebutkan sebelumnya bahawa robot mesti memiliki kemampuannya sendiri untuk mengendalikannya, jadi ini memberi kita kemampuan untuk memprogramnya dengan lebih dari satu cara, itu bergantung pada bagaimana anda mahu robot itu bermain di gelanggang seperti lawan dalam sebenarnya mahu memenangi permainan.

Strategi bermain (1):

· Kami akan membuat robot di sekitarnya secara berterusan.

· Robot sentiasa mengukur jarak secara berterusan semasa putaran.

· Jika jarak lawan yang diukur lebih rendah dari (misalnya 10cm), itu bermaksud lawan berada di depan robot kita secara langsung.

· Robot mesti berhenti berputar dan kemudian memulakan serangan (bergerak maju dengan kekuatan penuh dengan cepat).

· Robot mesti mengambil bacaan dari sensor IR untuk memastikan bahawa kita tidak melintasi sempadan cincin.

· Jika Baca tentang keberadaan IR warna putih, ia mesti menggerakkan robot secara langsung ke arah yang berlawanan dari sensor (contohnya: Jika sensor depan, yang memberi petunjuk warna putih robot bergerak ke belakang)!

Strategi bermain (2):

· Pada permulaan robot mengukur jarak di hadapan.

· Robot bergerak ke belakang dengan jarak yang sama.

· Robot berhenti berpusing dan kemudian mula menyerang secara tiba-tiba (bergerak maju dengan kekuatan penuh).

· Sekiranya lawan memasang robot mesti berputar 45 darjah sementara untuk bertahan sendiri jika jatuh dari gelanggang.

· Robot mesti mengambil bacaan dari sensor IR untuk memastikan bahawa kita tidak melintasi sempadan cincin.

· Jika Baca tentang keberadaan IR warna putih, ia mesti menggerakkan robot secara langsung ke arah yang berlawanan dari sensor (contohnya: Jika sensor depan, yang memberi petunjuk warna putih robot bergerak ke belakang)!

Langkah 5: Pengaturcaraan

Pengaturcaraan
Pengaturcaraan

sila periksa litar dan kodnya

* Kemas kini 2019-03-26

Muat turun perpustakaan Ultrasonik dari sini terlebih dahulu dan pasangkannya:

github.com/ErickSimoes/Ultrasonic/blob/mas…

/*

oleh ahmed Azouz

www.instructables.com/id/How-to-Make-Ardu…

Muat turun lib dari sini terlebih dahulu

github.com/ErickSimoes/Ultrasonic/blob/ma…

*/

#sertakan Ultrasonik.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 // sensor depan #define IR_sensor_back A1 // belakang sensor belakang;

persediaan tidak sah ()

{Serial.begin (9600); kelewatan (5000); // mengikut peranan sumo sesuai} gelung kosong () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); jarak = ultrasonik.read (); ROTASI (200); // mulakan rotete jika (jarak <20) {Berhenti (); sementara (jarak 650 || IR_back> 650) {break;} kelewatan (10); } jika (IR_front <650) // <650 bermaksud garis putih {Stop (); kelewatan (50); LATAR BELAKANG (255); kelewatan (500); } jika (IR_back <650) // {Berhenti (); kelewatan (50); KE ATAS (255); kelewatan (500); } / * ----------- debugging ---------------- Serial.print (ultrasonic. Ranging (CM)); Serial.println ("cm"); Serial.println ("IR depan:"); Serial.println (IR_front); Serial.println ("IR kembali:"); Serial.println (IR_back); * /

} //--------------------------------------------

batal FORWARD (int Speed) {// Apabila kita ingin membiarkan Motor bergerak maju, // batalkan bahagian ini pada bahagian gelung sahaja. analogWrite (IN1, Kelajuan); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, Kelajuan); } // -------------------------------------------- batal KEMBALI (int Speed) {// Apabila kita ingin membiarkan Motor bergerak maju, // kosongkan bahagian ini pada bahagian gelung. analogWrite (IN1, 0); analogWrite (IN2, Kelajuan); analogWrite (IN3, Kelajuan); analogWrite (IN4, 0); } // -------------------------------------------- batal ROTATE (int Speed) {// Apabila kita ingin membiarkan Motor Berputar, // kosongkan bahagian ini pada bahagian gelung. analogWrite (IN1, Kelajuan); analogWrite (IN2, 0); analogWrite (IN3, Kelajuan); analogWrite (IN4, 0); } // -------------------------------------------- batal Berhenti () {// Apabila kita mahu Motor Berhenti, // batalkan bahagian ini pada bahagian gelung. analogWrite (IN1, 0); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, 0); }

Disyorkan: