ዝርዝር ሁኔታ:

አርዱዲኖ ሱሞ ሮቦት 5 ደረጃዎች
አርዱዲኖ ሱሞ ሮቦት 5 ደረጃዎች

ቪዲዮ: አርዱዲኖ ሱሞ ሮቦት 5 ደረጃዎች

ቪዲዮ: አርዱዲኖ ሱሞ ሮቦት 5 ደረጃዎች
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ሀምሌ
Anonim
አርዱዲኖ ሱሞ ሮቦት
አርዱዲኖ ሱሞ ሮቦት

ከመጀመራችን በፊት

የሱሞ ሮቦት ምንድነው?

እሱ የተወሰኑ ልኬቶች እና ባህሪዎች ያሉት ራሱን የቻለ ሮቦቶች ነው ፣ እሱ ከሌሎች ሮቦቶች ጋር በውድድሮች እና ውድድሮች ውስጥ ለመሳተፍ ብቁ በሚሆን በጠላት ቅርጾች ውስጥም የተነደፈ ነው።

“ሱሞ” የሚለው ስም የመጣው ከቀድሞው የጃፓን ስፖርት ነው ፣ እሱም ሁለት ተቃዋሚዎች በቀለበት ውስጥ የሚዋጉ ፣ እያንዳንዳቸው ሌላውን ተቃዋሚውን ከእሱ ውስጥ ለማስወጣት የሚሞክሩ ፣ እና ሮቦቶች እንዲሁ በሱሞ ሮቦቲክስ ውድድሮች ውስጥ ማድረግ ያለባቸው ይህ ነው ፣ ሁለት ሮቦቶች ቀለበቱ ውስጥ ተጭነው ተቃዋሚውን ለመግፋት እየሞከሩ ነው።

ሃሳቡ:

ከተወሰኑ ዝርዝሮች ጋር እና ከዚያ ውድድር ህጎች (ሱሞ) ጋር የሚመጣጠን ሮቦት ይገንቡ ፣ ይህ ሮቦት በማንኛውም መንገድ ቀለበት እንዳይወጣ ለመዋጋት እና ለመኖር በትክክለኛ ልኬቶች ውስጥ መሆን አለበት።

ስለዚህ የሱሞ ሮቦት ውድድር ሕጎችን እንመልከት።

የራስዎን SUMO በሚገነቡበት ጊዜ እርስዎ ሊገምቷቸው የሚገቡ አንዳንድ አስፈላጊ ሚናዎችን እገልጻለሁ ፣ እሱ ደግሞ በጥልቀት ዝርዝሮች ውስጥ ሳይገቡ የራስዎን ሀሳብ እንዲያስቡ እና እንዲፈጥሩ ሊረዳዎ ይችላል።

1. ልኬቶች - ከፍተኛው ስፋት 20 ሴ.ሜ ፣ ከፍተኛው ርዝመት 20 ሴ.ሜ ፣ ቁመት አልተገለጸም።

2. ቅርፅ - ሮቦት ቅርፅ ውድድሩን ከጀመረ በኋላ ሊለወጥ የሚችል ነው ፣ ነገር ግን የማይነጣጠሉ ክፍሎች ሳይኖሩ አንድ ማዕከላዊ ነገር ሆኖ እንዲቆይ።

3. ክብደት - ከ 3 ኪ.ግ አይበልጥም።

4. ሮቦት ራሱን መቆጣጠር አለበት።

ደረጃ 1: አካላት

Image
Image
ለእያንዳንዱ አካል ይጠቀማል
ለእያንዳንዱ አካል ይጠቀማል

1 አርዱዲኖ አኖ 3

2 ዲሲ ሞተር

1 L298N ባለሁለት ሸ ድልድይ ለአርዱዲኖ

1 የአልትራሳውንድ ዳሳሽ

2 IR TCRT5000

1 ባትሪ 9v

AA ባትሪ 4 * 1.5 v ቁርጥራጮች + የባትሪ ቤት

4 የሮቦት መንኮራኩሮች

ዝላይ ሽቦዎች

ደረጃ 2 - ለእያንዳንዱ አካል ይጠቀማል

ለእያንዳንዱ አካል ይጠቀማል
ለእያንዳንዱ አካል ይጠቀማል
ለእያንዳንዱ አካል ይጠቀማል
ለእያንዳንዱ አካል ይጠቀማል

አሁን የሚያስፈልጉ አካላት አሉን ፣ ስለዚህ ምን ጥቅም ላይ እንደዋለ ለማወቅ በዝርዝር እንሂድ።

1- አርዱዲኖ አኖ 3

ሁሉንም ክፍሎች የሚቆጣጠር እና አንድ ላይ የሚያገናኝ ዋና ቦርድ ነው

2- የዲሲ ሞተር

በሮቦት ውድድር ውስጥ ለመንቀሳቀስ እና ለመንቀሳቀስ የትኛው ሮቦት ይረዳል

4- L298N ባለሁለት ሸ ድልድይ ለአርዱዲኖ

ለሞተር ሞተሮች የማያቋርጥ voltage ልቴጅ ፣ እንዲሁም የእንቅስቃሴ እና የቮልቴጅ በጥሩ ቁጥጥር የአርዲኖ ሳህን ድጋፍ የሚሰጥ አነስተኛ ፓነል ነው።

5- የአልትራሳውንድ ዳሳሽ

የአልትራሳውንድ ዳሳሽ የተቃዋሚውን ሮቦት ለማግኘት የሚያገለግል ሲሆን ብዙውን ጊዜ በሮቦት አናት ላይ ይቀመጣል።

6- IR TCRT5000

ቀደም ብለን እንደጠቀስነው የውድድሩ ቀለበት በተወሰነ መጠን የተነደፈ እና ሁለት ቀለሞች ያሉት ፣ መሙላት ጥቁር እና ፍሬም ነጭ ነው። ተወዳዳሪው መውጣት የለበትም። ስለዚህ ፣ ሮቦቱ ከቀለበት ውጭ አለመሆኑን ለማረጋገጥ የ IR ዳሳሹን እንጠቀማለን። ይህ ዳሳሽ በቀለሙ ቀለሞች መካከል የመለየት ችሎታ አለው)።

7- ባትሪ 9 ቪ

በአስፈላጊው ቮልቴጅ ዋናውን ቦርድ (አርዱዲኖ) ይደግፋል።

8- AA ባትሪ 4 * 1.5 v ቁርጥራጮች + የባትሪ ቤት

በአስፈላጊው ቮልቴጅ ሁለቱን ሞተሮች (ዲሲ ሞተር) ይደግፋል እና ለጎማዎቹ ሙሉ ኃይል ለመስጠት መነጠል አለበት።

9- ዝላይ ሽቦዎች

ደረጃ 3: ንድፍ

ንድፍ
ንድፍ
ንድፍ
ንድፍ

እኔ የሌዘር መቁረጫ ላይ አክሬሊክስን ክፍሎች ከመቁረጥዎ በፊት የሮቦቶቼን የወረቀት ሞዴሎችን መፍጠር ስለወደድኩ የ Google 3-ልኬት ንድፍን በመጠቀም ሁለት የሱሞ ሮቦት ንድፎችን ሠርቻለሁ። ሁሉም ክፍሎች በትክክል እርስ በእርስ የሚጣጣሙ መሆናቸውን ለማረጋገጥ የወረቀት ሞዴሎች በትክክለኛው የስዕሎች መጠን መታተማቸው አስፈላጊ ነው።

እና እኔ በተወዳዳሪ ህጎች በተለካ ልኬት ውስጥ ለመሆን ከግምት ውስጥ እገባለሁ ፣ ስለዚህ የበለጠ የፈጠራ ንድፎችን ለማሰብ ይሞክሩ እና የራስዎን ሞዴል ያድርጉ።

በቀረበው ውስጥ ለሮቦቱ ክብደት የበለጠ ተጋላጭ ለመሆን ወይም ከዚያ የባትሪዎቹን ባትሪዎች በሮቦት ፊት በ 45 ዲግሪ ማእዘን ወደ ሮቦቱ ቅርፅ ያኑሩ።

ንድፉን 1 ከዚህ ያውርዱ

ንድፉን 2 ከዚህ ያውርዱ

እንዲሁም የወረቀት ሞዴል አብነት ማውረድ ይችላሉ

የ Adobe ፋይልን በ Adobe Acrobat Reader (የሚመከር ሶፍትዌር) ይክፈቱ

ደረጃ 4 - የጨዋታ ስትራቴጂ

Image
Image
የጨዋታ ስትራቴጂ
የጨዋታ ስትራቴጂ

ቀደም ብለን እንደጠቀስነው ሮቦቱ እራሱን የመቆጣጠር ችሎታ ሊኖረው ይገባል ፣ ስለሆነም እሱ እንደማንኛውም ተቃዋሚ ሁሉ ሮቦቱ ቀለበት ላይ እንዲጫወት በሚፈልጉት ላይ በመመስረት ከአንድ በላይ በሆነ መንገድ የፕሮግራም የማድረግ ችሎታ ይሰጠናል። በእውነቱ ጨዋታውን ማሸነፍ ይፈልጋሉ።

የጨዋታ ስልት (1):

· ሮቦቱን በዙሪያው ያለማቋረጥ እናደርጋለን።

· ሮቦቱ በማሽከርከር ጊዜ ሁል ጊዜ ርቀቱን ያለማቋረጥ ይለካል።

· የተቃዋሚው ርቀት የሚለካው ከ (ለምሳሌ 10 ሴ.ሜ) ከሆነ ፣ ያ ማለት ተቃዋሚው በቀጥታ በእኛ ሮቦት ፊት ነው ማለት ነው።

· ሮቦቱ መሽከርከርን ማቆም እና ከዚያ ጥቃቱን መጀመር አለበት (በፍጥነት በሙሉ ኃይል ወደፊት ይራመዱ)።

· የቀለበት ድንበሩን አለማለፋችንን ለማረጋገጥ ሮቦቱ ሁልጊዜ ከ IR ዳሳሾች ንባቦችን መውሰድ አለበት።

· የነጭ ቀለም አይአይ (IR) ን ካነበበ ሮቦቱን በቀጥታ ወደ አነፍናፊው አቅጣጫ ማንቀሳቀስ አለበት (ለምሳሌ - የሮቦቱን ነጭ ቀለም የሚጠቁም የፊት ዳሳሽ ወደ ኋላ ቢንቀሳቀስ)!

የጨዋታ ስልት (2):

· ሲጀመር ሮቦት ከፊት ያለውን ርቀት ይለኩ።

· ሮቦት ተመሳሳዩን የመለኪያ ርቀት ወደ ኋላ ይመለሳል።

· ሮቦት መሽከርከርን ያቆማል ከዚያም በድንገት ማጥቃት ይጀምራል (በሙሉ ኃይል ወደፊት ይራመዱ)።

· ከባላጋራ ጋር ከተያያዘ ሮቦቱ ከወደቀ ከራሱ ለመትረፍ 45 ዲግሪ ማሽከርከር አለበት።

· የቀለበት ድንበሩን አለማለፋችንን ለማረጋገጥ ሮቦቱ ሁልጊዜ ከ IR ዳሳሾች ንባቦችን መውሰድ አለበት።

· የነጭ ቀለም አይአይ (IR) ን ካነበበ ሮቦቱን በቀጥታ ወደ አነፍናፊው አቅጣጫ ማንቀሳቀስ አለበት (ለምሳሌ - የሮቦቱን ነጭ ቀለም የሚጠቁም የፊት ዳሳሽ ወደ ኋላ ቢንቀሳቀስ)!

ደረጃ 5 - ፕሮግራሚንግ

ፕሮግራሚንግ ማድረግ
ፕሮግራሚንግ ማድረግ

እባክዎን ወረዳውን እና ኮዱን ይፈትሹ

* አዘምን 2019-03-26

የአልትራሳውንድ ቤተ -መጽሐፍት መጀመሪያ ከዚህ ያውርዱ እና ይጫኑት

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

/*

በአህመድ አዞዝ

www.instructables.com/id/ እንዴት-ማድረግ-አርዱ…

ሊቢውን መጀመሪያ ከዚህ ያውርዱ

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

*/

#Ultrasonic.h ን ያካትቱ

ለአልትራሳውንድ ለአልትራሳውንድ (4, 3);

const int IN1 = 5;

const int IN2 = 6; const int IN3 = 9; const int IN4 = 10; #የ IR_sensor_front A0 // የፊት ዳሳሽ #የ IR_Sensor_back A1 // የኋላ ዳሳሽ int ርቀት;

ባዶነት ማዋቀር ()

{Serial.begin (9600); መዘግየት (5000); // እንደ የሱሞ ተኳሃኝ ሚናዎች} ባዶነት loop () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); ርቀት = ultrasonic.read (); ROTATE (200); // (ርቀት <20) {አቁም (); ሳለ (ርቀት 650 || IR_back> 650) {break;} መዘግየት (10); } ከሆነ (IR_front <650) // <650 ማለት ነጭ መስመር {አቁም (); መዘግየት (50); ጀርባ (255); መዘግየት (500); } ከሆነ (IR_back <650) // {አቁም (); መዘግየት (50); ወደፊት (255); መዘግየት (500); } /* ----------- ማረም ---------------- Serial.print (ultrasonic. Ranging (CM)); Serial.println ("ሴ.ሜ"); Serial.println ("IR front:"); Serial.println (IR_front); Serial.println ("IR back:"); Serial.println (IR_back); */

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

ባዶነት ወደፊት (int ፍጥነት) {// ሞተር ወደፊት እንዲሄድ ስንፈቅድ ፣ // ይህንን ክፍል በሉፕ ክፍሉ ላይ ባዶ ያድርጉት። አናሎግ ፃፍ (IN1 ፣ ፍጥነት); አናሎግ ፃፍ (IN2 ፣ 0); አናሎግ ፃፍ (IN3 ፣ 0); አናሎግ ፃፍ (IN4 ፣ ፍጥነት); } // -------------------------------------------- ባዶ ባዶ ጀርባ (int Speed) {// ሞተር ወደፊት እንዲራመድ ስንፈልግ ፣ // ይህንን ክፍል በሉፕ ክፍሉ ላይ ባዶ ያድርጉት። አናሎግ ፃፍ (IN1 ፣ 0); አናሎግ ፃፍ (IN2 ፣ ፍጥነት); አናሎግ ፃፍ (IN3 ፣ ፍጥነት); አናሎግ ፃፍ (IN4 ፣ 0); } // -------------------------------------------- ባዶነት ROTATE (int Speed) {// ሞተር እንዲሽከረከር ስንፈልግ ፣ // ይህንን ክፍል በሉፕ ክፍሉ ላይ ባዶ ያድርጉት። አናሎግ ፃፍ (IN1 ፣ ፍጥነት); አናሎግ ፃፍ (IN2 ፣ 0); አናሎግ ፃፍ (IN3 ፣ ፍጥነት); አናሎግ ፃፍ (IN4 ፣ 0); } // -------------------------------------------- ባዶነት አቁም () {// ሞተሩን ለማቆም ስንፈልግ ፣ // ይህንን ክፍል በሉፕ ክፍሉ ላይ ባዶ ያድርጉት። አናሎግ ፃፍ (IN1 ፣ 0); አናሎግ ፃፍ (IN2 ፣ 0); አናሎግ ፃፍ (IN3 ፣ 0); አናሎግ ፃፍ (IN4 ፣ 0); }

የሚመከር: