Orodha ya maudhui:

Arduino Sumo Robot: Hatua 5
Arduino Sumo Robot: Hatua 5

Video: Arduino Sumo Robot: Hatua 5

Video: Arduino Sumo Robot: Hatua 5
Video: Arduino robot sumo 2024, Julai
Anonim
Arduino Sumo Robot
Arduino Sumo Robot

Kabla hatujaanza.

Roboti ya sumo ni nini?

Ni roboti zinazodhibitiwa zenye vipimo na huduma maalum, pia imeundwa kwa maumbo ya Uhasama ambayo inastahiki kushiriki mashindano na mashindano na roboti zingine.

Jina "sumo" lilitoka kwa mchezo wa zamani wa Kijapani, ambao ni wapinzani wawili wanaopigania pete, kila mmoja wao akijaribu kushinikiza mpinzani mwenzake atoke nje, Na hii ndio roboti inapaswa pia kufanya katika mashindano ya roboti ya sumo, ambapo mbili roboti zilizowekwa kwenye pete na kila mmoja akijaribu kushinikiza mpinzani wake.

Wazo:

Jenga roboti na uainishaji fulani na inalingana na sheria za mashindano hayo (Sumo), roboti hii lazima iwe katika vipimo halisi vya kupigana na kuishi ili isivuke kwa njia yoyote.

Basi hebu tuangalie sheria za mashindano ya roboti ya Sumo:

Nitaelezea majukumu muhimu ambayo unapaswa kuzingatia wakati wa kujenga SUMO yako mwenyewe pia inaweza kukusaidia Fikiria na uvumbuzi Wazo lako mwenyewe bila kwenda kwa undani wa kina.

1. Vipimo: Upana wa Max 20 cm, Urefu wa Max 20 cm, Urefu haujabainishwa.

2. Umbo: umbo la roboti linaweza kubadilika baada ya kuanza mbio, lakini bila sehemu ambazo haziwezi kutenganishwa kudumisha kuwa kitu kimoja cha kati.

3. Uzito: hauzidi kilo 3.

4. Robot lazima iwe kujidhibiti.

Hatua ya 1: Vipengele

Image
Image
Matumizi kwa Kila Sehemu
Matumizi kwa Kila Sehemu

1 Arduino Ano3

2 DC Pikipiki

1 L298N Dual H Bridge kwa Arduino

1 Ultrasonic sensor

2 IR TCRT5000

1 Betri 9v

Batri ya AA vipande 4 * 1.5 v + Nyumba ya betri

4 Magurudumu ya Roboti

waya za kuruka

Hatua ya 2: Matumizi ya Kila Sehemu

Matumizi kwa Kila Sehemu
Matumizi kwa Kila Sehemu
Matumizi kwa Kila Sehemu
Matumizi kwa Kila Sehemu

Sasa tuna vifaa vinavyohitajika, kwa hivyo wacha tuende kwa maelezo kujua ni nini kinatumiwa..

1- Arduino Ano3

Ni bodi kuu inayodhibiti sehemu zote na kuziunganisha pamoja

2- DC Pikipiki

Ambayo husaidia robot kuendesha na kusonga ndani ya pete ya USHINDANI

4- L298N Dual H Bridge kwa Arduino

Ni jopo ndogo ambalo hutoa voltage ya mara kwa mara kwa motors, na pia msaada wa bamba la Arduino na udhibiti mzuri wa harakati na voltage.

5- sensor ya Ultrasonic

Sensorer ya ultrasonic hutumiwa kupata roboti ya mpinzani na kawaida huwekwa juu ya roboti.

6- IR TCRT5000

Kama tulivyokwisha sema, pete ya mashindano iliyoundwa kwa saizi fulani na ina rangi mbili, kujaza ni nyeusi na sura ni nyeupe. Mshiriki hapaswi kwenda nje. Kwa hivyo, tunatumia sensa ya IR kuhakikisha kuwa roboti haitakuwa nje ya pete. Sensor hii ina uwezo wa kutofautisha kati ya rangi za pete).

7- Betri 9v

Inasaidia bodi kuu (Arduino) na voltage muhimu.

8- AA betri 4 * 1.5 v vipande + Nyumba ya betri

Inasaidia motors mbili (DC Motor) na voltage muhimu na lazima itenganishwe ili kutoa nguvu kamili kwa magurudumu.

9- waya za jumper

Hatua ya 3: Kubuni

Ubunifu
Ubunifu
Ubunifu
Ubunifu

Nimetengeneza miundo miwili ya roboti ya sumo kwa kutumia mchoro wa Google 3D kwa sababu napenda kuunda vielelezo vya karatasi vya roboti zangu kabla ya kukata sehemu kutoka kwa akriliki kwenye mkataji wa laser. Ili kudhibitisha kuwa sehemu zote zitatoshea vizuri, ni muhimu kwamba mifano ya karatasi ichapishwe kwa saizi halisi ya michoro.

Na ninazingatia kuwa katika upimaji maalum na sheria za mashindano, kwa hivyo jaribu kufikiria katika ubunifu zaidi na fanya mfano wako mwenyewe.

Ili kuwa nyeti zaidi kwa uzani wa roboti iliyowasilishwa au kisha weka betri mbele ya roboti na ngao ya mbele kwa pembe ya digrii 45 kwa fomu ya roboti.

Pakua muundo 1 kutoka hapa

Pakua muundo 2 kutoka hapa

Unaweza pia Pakua template ya mfano wa Karatasi

Fungua faili ya PDF na Adobe Acrobat Reader (programu inayopendekezwa)

Hatua ya 4: Mkakati wa Cheza

Image
Image
Mkakati wa Cheza
Mkakati wa Cheza

Kama tulivyosema hapo awali kwamba roboti lazima iwe na uwezo wake wa kuidhibiti yenyewe, kwa hivyo inatupa uwezo wa kuipangilia kwa njia zaidi ya moja, inategemea jinsi unataka roboti icheze kwenye pete kama mpinzani yeyote katika unataka kweli kushinda mchezo.

Mkakati wa kucheza (1):

· Tutafanya roboti ijizunguke kila wakati.

· Roboti hupima umbali kila wakati wakati wa kuzunguka.

· Ikiwa umbali wa mpinzani ni mdogo kuliko (10cm kwa mfano), hiyo inamaanisha mpinzani yuko mbele ya roboti moja kwa moja.

· Roboti lazima iache kuzunguka na kisha ianze shambulio (songa mbele kwa nguvu kamili haraka).

· Roboti lazima ichukue masomo kutoka kwa sensorer za IR kila wakati ili kuhakikisha kuwa hatukuvuka mpaka wa pete.

· Ikiwa kusoma kwa uwepo wa IR ya rangi nyeupe, lazima ielekeze roboti moja kwa moja katika mwelekeo tofauti wa kihisi (kwa mfano: Ikiwa sensor ya mbele, ambayo ilitoa dalili ya rangi nyeupe ya roboti inarudi nyuma)!

Mkakati wa kucheza (2):

· Mwanzoni roboti pima umbali ulio mbele.

· Roboti rudi nyuma umbali ule ule uliopimwa.

· Roboti acha kuzunguka na kisha anza kushambulia ghafla (songa mbele kwa nguvu kamili).

· Endapo mpinzani ambatisha roboti lazima azunguke digrii 45 wakati ili kuishi yenyewe ikiwa ataanguka nje ya pete.

· Roboti lazima ichukue masomo kutoka kwa sensorer za IR kila wakati ili kuhakikisha kuwa hatukuvuka mpaka wa pete.

· Ikiwa kusoma kwa uwepo wa IR ya rangi nyeupe, lazima ielekeze roboti moja kwa moja katika mwelekeo tofauti wa kihisi (kwa mfano: Ikiwa sensor ya mbele, ambayo ilitoa dalili ya rangi nyeupe ya roboti inarudi nyuma)!

Hatua ya 5: Kupanga programu

Kupanga programu
Kupanga programu

tafadhali angalia mzunguko na nambari

* Sasisha 2019-03-26

Pakua maktaba ya Ultrasonic kutoka hapa kwanza na usakinishe:

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

/*

na ahmed Azouz

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

Pakua lib kutoka hapa kwanza

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

*/

# pamoja na Ultrasonic.h

Ultrasonic ultrasonic (4, 3);

const int IN1 = 5;

const int IN2 = 6; const int IN3 = 9; const int IN4 = 10; #fafanua IR_sensor_front A0 // sensor ya mbele #fafanua IR_sensor_back A1 // sensa ya nyuma ya umbali;

kuanzisha batili ()

{Serial.begin (9600); kuchelewesha (5000); // kulingana na majukumu ya sumo compat} kitanzi batili () {int IR_front = analogRead (IR_sensor_front); int IR_back = AnalogSoma (IR_sensor_back); umbali = ultrasonic.read (); ZUNGUKA (200); // kuanza rotete ikiwa (umbali <20) {Stop (); wakati (umbali 650 || IR_back> 650) {mapumziko;} kuchelewesha (10); } ikiwa (IR_front <650) // <650 inamaanisha laini nyeupe {Stop (); kuchelewesha (50); NYUMA (255); kuchelewesha (500); } ikiwa (IR_back <650) // {Stop (); kuchelewesha (50); MBELE (255); kuchelewesha (500); } / * ----------- utatuaji ---------------- Serial.print (ultrasonic. Ranging (CM)); Serial.println ("cm"); Serial.println ("IR mbele:"); Serial.println (IR_front); Serial.println ("IR nyuma:"); Serial.println (IR_back); * /

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

batili MBELE (kasi ya int) {// Tunapotaka kuruhusu Magari kusonga mbele, // tosha tu sehemu hii kwenye sehemu ya kitanzi. AnalogWrite (IN1, Kasi); AnalogWrite (IN2, 0); AnalogWrite (IN3, 0); AnalogWrite (IN4, Speed); } // ------------------------------- kasi ya int) {// Tunapotaka kuruhusu Magari Kusonga mbele, // tu batilisha sehemu hii kwenye sehemu ya kitanzi. AnalogWrite (IN1, 0); AnalogWrite (IN2, Kasi); AnalogWrite (IN3, Kasi); AnalogWrite (IN4, 0); } // ------------------------------- kasi ya int) {// Tunapotaka kuruhusu Magurudumu Kuzunguka, // batisha tu sehemu hii kwenye sehemu ya kitanzi. AnalogWrite (IN1, Kasi); AnalogWrite (IN2, 0); AnalogWrite (IN3, Kasi); AnalogWrite (IN4, 0); } // ---------------------------------- {// Wakati tunataka Motor Kusimama, // batisha tu sehemu hii kwenye sehemu ya kitanzi. AnalogWrite (IN1, 0); AnalogWrite (IN2, 0); AnalogWrite (IN3, 0); AnalogWrite (IN4, 0); }

Ilipendekeza: