Talaan ng mga Nilalaman:

Arduino Sumo Robot: 5 Mga Hakbang
Arduino Sumo Robot: 5 Mga Hakbang

Video: Arduino Sumo Robot: 5 Mga Hakbang

Video: Arduino Sumo Robot: 5 Mga Hakbang
Video: Sabungan ng mga Robots |Sumobot, Arduino,mbot,ATX 2024, Hulyo
Anonim
Arduino Sumo Robot
Arduino Sumo Robot

Bago tayo magsimula.

Ano ang sumo robot?

Ito ay isang self-control robot na may tukoy na mga sukat at tampok, dinisenyo din ito sa isang Hostile na mga hugis na kwalipikado upang lumahok sa mga paligsahan at kumpetisyon sa iba pang mga robot.

Ang pangalang "sumo" ay nagmula sa isang lumang isport sa Hapon, na kung saan ay dalawang kalaban na nakikipaglaban sa isang singsing, bawat isa sa kanila ay sinusubukang itulak ang iba pang kalaban dito, At ito ang dapat ding gawin ng mga robot sa mga kumpetisyon ng sumo robotics, kung saan dalawa mga robot na inilagay sa singsing at bawat isa ay sinusubukang itulak ang kalaban nito.

Ang ideya:

Bumuo ng isang robot na may isang tiyak na pagtutukoy at naaayon sa mga batas ng kumpetisyon na (Sumo), ang robot na ito ay dapat na nasa eksaktong sukat upang labanan at mabuhay upang hindi ma-cross out ng ring sa anumang paraan.

Kaya't tingnan natin ang mga batas sa kumpetisyon ng The Sumo robot:

Ipapaliwanag ko ang ilang mahahalagang tungkulin na dapat mong isaalang-alang habang nagtatayo ng iyong sariling SUMO maaari rin itong makatulong sa iyo na Isipin at makabago ang iyong sariling Idea nang hindi dumarating sa malalim na mga detalye.

1. Mga Dimensyon: Max Lapad 20 cm, Max Haba 20 cm, Hindi tinukoy ang Taas.

2. Hugis: ang hugis ng robot ay maaaring mabago pagkatapos simulan ang karera, ngunit nang walang mga hindi mapaghihiwalay na mga bahagi upang mapanatili ang pagiging isang pangunahing Bagay.

3. Timbang: hindi lalampas sa 3 kg.

4. Ang robot ay dapat na pagpipigil sa sarili.

Hakbang 1: Mga Bahagi

Image
Image
Gumagamit para sa bawat Bahagi
Gumagamit para sa bawat Bahagi

1 Arduino Ano3

2 DC Motor

1 L298N Dual H Bridge para sa Arduino

1 Ultrasonic sensor

2 IR TCRT5000

1 Baterya 9v

AA baterya 4 * 1.5 v na piraso + Baterya bahay

4 Robot Wheels

jumper wires

Hakbang 2: Gumagamit para sa bawat Component

Gumagamit para sa bawat Bahagi
Gumagamit para sa bawat Bahagi
Gumagamit para sa bawat Bahagi
Gumagamit para sa bawat Bahagi

Ngayon mayroon kaming mga kinakailangang sangkap, kaya't pumunta tayo sa mga detalye upang malaman kung ano ang ginagamit para sa..

1- Arduino Ano3

Ito ay isang pangunahing board na kumokontrol sa lahat ng mga bahagi at maiugnay ito nang magkasama

2- DC Motor

Alin ang makakatulong sa robot na magmamaniobra at lumipat sa loob ng singsing ng PAGKumpitensya

4- L298N Dual H Bridge para sa Arduino

Ito ay isang maliit na panel na nagbibigay ng patuloy na boltahe sa mga motor, pati na rin ang suporta ng Arduino plate na may mahusay na kontrol ng paggalaw at boltahe.

5- Ultrasonic sensor

Ginagamit ang sensor ng ultrasonic upang hanapin ang robot ng kalaban at karaniwang inilalagay sa tuktok ng robot.

6- IR TCRT5000

Tulad ng nabanggit na namin, ang ring ng paligsahan na idinisenyo sa isang tiyak na sukat at mayroon itong dalawang kulay, itim ang pagpuno at puti ang frame. Hindi dapat lumabas ang contestant. Samakatuwid, ginagamit namin ang IR sensor upang matiyak na ang robot ay hindi makakalabas sa ring. Ang sensor na ito ay may kakayahang makilala sa pagitan ng mga kulay ng singsing).

7- Baterya 9v

Sinusuportahan nito ang pangunahing board (Arduino) na may mahalagang boltahe.

8- AA baterya 4 * 1.5 v piraso + Baterya bahay

Sinusuportahan nito ang dalawang motor (DC Motor) na may mahalagang boltahe at dapat itong ihiwalay upang maibigay ang buong puwersa para sa mga gulong.

9- Jumper wires

Hakbang 3: Disenyo

Disenyo
Disenyo
Disenyo
Disenyo

Gumawa ako ng dalawang mga disenyo ng sumo robot gamit ang Google 3D sketch-up dahil nais kong lumikha ng mga modelo ng papel ng aking mga robot bago ko pinutol ang mga bahagi ng acrylic sa pamutol ng laser. Upang mapatunayan na ang lahat ng mga bahagi ay magkakasamang maayos, mahalaga na ang mga modelo ng papel ay nakalimbag sa eksaktong laki ng mga guhit.

At isasaalang-alang ko na maging tiyak na pagsukat sa mga batas sa kumpetisyon, kaya subukang mag-isip sa isang mas malikhaing disenyo at gawin ang iyong sariling modelo.

Upang maging mas sensitibo sa bigat ng robot na isinumite o pagkatapos ay ilagay ang mga baterya sa harap ng robot na may harap na kalasag sa isang 45 degree na anggulo sa anyo ng robot.

I-download ang disenyo 1 mula dito

I-download ang disenyo 2 mula dito

Maaari mo ring I-download ang template ng modelo ng Papel

Buksan ang PDF file gamit ang Adobe Acrobat Reader (inirekumendang software)

Hakbang 4: Diskarte sa Paglaro

Image
Image
Diskarte sa Pag-play
Diskarte sa Pag-play

Tulad ng nabanggit namin dati na ang robot ay dapat magkaroon ng sariling kakayahan upang makontrol ito sa sarili, kaya binibigyan tayo nito ng kakayahang mai-program ito sa higit sa isang paraan, nakasalalay sa kung paano mo nais ang robot na maglaro sa ring tulad ng anumang kalaban sa tunay na nais na manalo sa laro.

Diskarte sa pag-play (1):

· Gagawa naming tuloy-tuloy ang robot sa paligid nito.

· Ang robot ay palaging sumusukat sa distansya ng patuloy sa panahon ng pag-ikot.

· Kung ang sinusukat na distansya ng kalaban ay mas mababa kaysa sa (10cm halimbawa), nangangahulugan iyon na ang kalaban ay nasa harap ng robot sa amin nang direkta.

· Ang robot ay dapat huminto sa pag-ikot at pagkatapos ay simulan ang pag-atake (sumulong nang buong lakas nang mabilis).

· Dapat kunin ng robot ang mga pagbabasa mula sa mga IR sensor palaging siguraduhin na hindi kami tumawid sa hangganan ng singsing.

· Kung Basahin ang IR pagkakaroon ng puting kulay, dapat itong direktang ilipat ang robot sa kabaligtaran ng direksyon ng sensor (halimbawa: Kung ang front sensor, na nagbigay ng pahiwatig ng puting kulay ng robot ay umaatras)!

Diskarte sa pag-play (2):

· Sa panimulang robot sukatin ang distansya sa harap.

· Robot ilipat pabalik ang parehong sinusukat distansya.

· Tumigil sa pag-ikot ang Robot at pagkatapos ay magsimulang biglang atake (sumulong nang buong lakas).

· Sa kaso ng kalaban ilakip ang robot ay dapat paikutin ang 45 degree habang upang mabuhay mismo kung nahuhulog sa labas ng ring.

· Dapat kunin ng robot ang mga pagbabasa mula sa mga IR sensor palaging sigurado na hindi kami tumawid sa hangganan ng singsing.

· Kung Basahin ang IR pagkakaroon ng puting kulay, dapat itong direktang ilipat ang robot sa kabaligtaran ng direksyon ng sensor (halimbawa: Kung ang front sensor, na nagbigay ng pahiwatig ng puting kulay ng robot ay umaatras)!

Hakbang 5: Programming

Programming
Programming

mangyaring suriin ang circuit at code

* I-update ang 2019-03-26

I-download muna ang library ng Ultrasonic mula rito at i-install ito:

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

/*

ni ahmed Azouz

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

I-download muna ang lib mula rito

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

*/

# isama ang Ultrasonic.h

Ultrasonic ultrasonic (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 distansya;

walang bisa ang pag-setup ()

{Serial.begin (9600); pagkaantala (5000); // as per sumo compat roles} void loop () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); distansya = ultrasonic.read (); ROTATE (200); // start rotete if (distansya <20) {Itigil (); habang (distansya 650 || IR_back> 650) {break;} antala (10); } kung (IR_front <650) // <650 nangangahulugang puting linya {Stop (); antala (50); BACKWARD (255); pagkaantala (500); } kung (IR_back <650) // {Stop (); antala (50); FORWARD (255); pagkaantala (500); } / * ----------- debugging ---------------- Serial.print (ultrasonic. Ranging (CM)); Serial.println ("cm"); Serial.println ("IR harap:"); Serial.println (IR_front); Serial.println ("IR back:"); Serial.println (IR_back); * /

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

void FORWARD (int Speed) {// Kapag nais naming hayaan ang Motor Na sumulong, // i-void lamang ang bahaging ito sa seksyon ng loop. analogWrite (IN1, Bilis); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, Bilis); } // -------------------------------------------- walang bisa BACKWARD (int Speed) {// Kapag nais naming hayaan ang Motor Na sumulong, // i-void lamang ang bahaging ito sa seksyon ng loop. analogWrite (IN1, 0); analogWrite (IN2, Bilis); analogWrite (IN3, Bilis); analogWrite (IN4, 0); } // -------------------------------------------- walang bisa ROTATE (int Speed) {// Kapag nais naming hayaan ang Motor To Rotate, // i-void lamang ang bahaging ito sa seksyon ng loop. analogWrite (IN1, Bilis); analogWrite (IN2, 0); analogWrite (IN3, Bilis); analogWrite (IN4, 0); } // -------------------------------------------- void Stop () {// Kapag nais naming tumigil sa Motor, // i-void lamang ang bahaging ito sa seksyon ng loop. analogWrite (IN1, 0); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, 0); }

Inirerekumendang: