ዝርዝር ሁኔታ:

አይሮቦትን በመጠቀም ራሱን የቻለ የቅርጫት ኳስ መጫወቻ ሮቦት እንዴት መሥራት እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)
አይሮቦትን በመጠቀም ራሱን የቻለ የቅርጫት ኳስ መጫወቻ ሮቦት እንዴት መሥራት እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አይሮቦትን በመጠቀም ራሱን የቻለ የቅርጫት ኳስ መጫወቻ ሮቦት እንዴት መሥራት እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: አይሮቦትን በመጠቀም ራሱን የቻለ የቅርጫት ኳስ መጫወቻ ሮቦት እንዴት መሥራት እንደሚቻል -7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Консультант от бога Tg: cadrolikk 2024, ሀምሌ
Anonim
IRobot ን እንደ መሠረት ይፍጠሩ የራስ ገዝ ቅርጫት ኳስ መጫወት ሮቦት እንዴት እንደሚሠራ
IRobot ን እንደ መሠረት ይፍጠሩ የራስ ገዝ ቅርጫት ኳስ መጫወት ሮቦት እንዴት እንደሚሠራ

ለ iRobot ፍጠር ፈተና ይህ የእኔ ግቤት ነው። ለእኔ የዚህ ሁሉ ሂደት በጣም ከባድ የሆነው ሮቦቱ ምን እንደሚያደርግ መወሰን ነበር። በአንዳንድ የሮቦ ቅልጥፍና ውስጥ እያከልኩ የፍጥረትን አሪፍ ባህሪዎች ለማሳየት ፈልጌ ነበር። ሁሉም የእኔ ሀሳቦች አሰልቺ በሆነ ግን ጠቃሚ ፣ ወይም አሪፍ እና ተግባራዊ ያልሆነ ምድብ ውስጥ የወደቁ ይመስላሉ። በመጨረሻ አሪፍ እና ተግባራዊ ያልሆነ አሸንፎ የቅርጫት ኳስ መጫወት ሮቦት ተወለደ። ጥቂት ካሰብኩ በኋላ ያ ተግባራዊ ሊሆን እንደሚችል ተገነዘብኩ። ብርቱካናማ ወረቀት ይጠቀማሉ ፣ እና ሁሉም የቆሻሻ ማጠራቀሚያዎችዎ አረንጓዴ የኋላ ሰሌዳዎች አሏቸው እንበል…

ደረጃ 1 - Aquire ክፍሎች

በውድድሩ የጊዜ ገደብ ምክንያት ፣ እኔ የተጠቀምኳቸው አብዛኛዎቹ ክፍሎች “ከመደርደሪያው” ነበሩ። “ክምችት” የሮቦት ክፍሎች ያገለገሉ-ይፍጠሩ (x1)-ከ iRobot www.irobot.comXBC V.3.0 (x1)-ከቦቦቦል www.botball.org ፍጠር-Roomba ገመድ (x1)-ከቦቦቦል www.botball.orgServo (x2)-ከቦቦቦል www.botball.org ሻርፕ ክልል ፈላጊ (x1)-ከቦቦቦል www.botball.org የ LEGO ጡቦች ተደራጅተው-ከ LEGO www.lego.com 6-32 የማሽን ብሎኖች (x4)-ከማክስተር www.mcmaster.com “የተፈጠረ” የሮቦት ክፍሎች ጥቅም ላይ የዋሉ 3/8”ወፍራም የ PVC ሉህ - ይህ ነገር ግሩም ነው ፣ ግን ከየት እንደመጣሁ አላስታውስም ፣ ግን ልክ እንደዚህ ነገር ነው

ደረጃ 2 ልዩውን ክፍል ይፍጠሩ

ልዩውን ክፍል ይፍጠሩ
ልዩውን ክፍል ይፍጠሩ

እኔ ማምረት የነበረብኝ ብቸኛው ክፍል ፍጠር ላይ የተለጠፈ እና የ LEGO ክፍተትን የሚያቀርብ ሰሃን ነበር። የ LEGO ጡብ ቀዳዳዎች ክፍተት በ 8 ሚሜ ርቀት ላይ ነው ፣ ግን ጊዜን ለመቆጠብ ድርብ ክፍተት አደረግሁ። ወደ ውጭ የወጣው PVC አብሮ ለመስራት ነፋሻማ ነው። በመገልገያ ቢላ ሊቆረጥ ይችላል ፣ ግን ግትር እና ጠንካራ ነው። እኔ ብዙውን ጊዜ ሮቦቱን በዚህ ሳህን አነሳለሁ እና እስካሁን ችግር አልነበረብኝም።

ደረጃ 1 - ወረቀቱን ወደ 3.5 "x 9.5" ይቁረጡ ፣ ይህንን በመገልገያ ቢላ ሊቆርጡት ይችላሉ። ደረጃ 2: ለፈጠሩት ዊቶች ቀዳዳዎቹን ይከርሙ። የፈጠሩት ብሎኖች 2 እና 5/8 by በ 8 እና 5/8 a የሆነ ሳጥን ይሠራሉ። ደረጃ 3 - የ LEGO ጡብ የተቦረቦሩትን ቀዳዳዎች ይከርሙ። 3/16 "ቁፋሮ ቢት ይጠቀሙ እና ቀዳዳዎቹን በ 16 ሚሜ ርቀት ላይ አደረግኳቸው። ጠቃሚ ምክር - ወረቀቱን በ CAD ፕሮግራም ውስጥ ዘረጋሁት ፣ ሙሉውን መጠን አተምኩ እና በሉህ ላይ ተለጠፍኩ። ከዚያ ይህንን ለመቁረጥ እንደ መመሪያ ተጠቀምኩ እና ቁፋሮ.

ደረጃ 3 ሮቦትን መሰብሰብ

ሮቦትን መሰብሰብ
ሮቦትን መሰብሰብ
ሮቦትን መሰብሰብ
ሮቦትን መሰብሰብ
ሮቦትን መሰብሰብ
ሮቦትን መሰብሰብ

በተቻለ መጠን ነገሮችን መገንባት ያስደስተኛል ፣ በዚያ መንገድ ከጠረጴዛው ላይ ሲዘሉ ያን ያህል መገንባት የለብዎትም!

1. አዲስ የተፈጠረውን ሳህን ወደ ፍጠር አናት ላይ ይከርክሙት። ኳሱን ለመያዝ ክንድ ይገንቡ 3. ካሜራውን ለመያዝ ክንድ ይገንቡ 4. ለርቀት ፈላጊው ተራራ ይገንቡ 5. ኤክስቢሲን ይጫኑ እና ሁሉንም ገመዶች ያገናኙ

ደረጃ 4 - ሮቦትን ፕሮግራም ማድረግ

እኔ XBC ን እንደ መቆጣጠሪያዬ ለመጠቀም የወሰንኩት በዋነኝነት በቀለም መከታተያ ውስጥ ስለተሠራ ነው። በኤክስቢሲው እንደ ቀዶ ጥገናው አንጎል ወስጄ ስለነበር ሮቦቴን በይነተገናኝ ሲ ውስጥ ወይም IC ብዬ ስጠራው ፕሮግራም አደረግኩ። አይሲ ለመጠቀም ነፃ ነው እና በ www.botball.org ላይ ማውረድ ይችላል። አይሲ ከሲ ++ ጋር በጣም ተመሳሳይ ነው ፣ ግን በቤተመፃህፍት ውስጥ በርካታ ተገንብቷል። እንደ ተለወጠ ፣ ከኦክላሆማ ዩኒቨርሲቲ ዴቪድ ሚለር ከፈጠራው ላይ https://i-borg.engr.ou.edu/~dmiller/create/ ላይ ሊወርድ የሚችል ለፈጠራ ቤተ-መጽሐፍት ጽ writtenል። በእነዚያ ሀብቶች እና ለፈጠራው ማኑዋሎች ለፕሮግራም ዝግጁ ነበርኩ። ግን ቀጣዩ ትልቅ ተግዳሮት ምን እንዲያደርግ ፈልጌ ነበር? ሄጄ የብርቱካናማ ኳሶችን ወስዶ በቅርጫት ማስቆጠር የሚችል ሮቦት ፈልጌ ነበር። ግቤ ቀላል ይመስላል ፣ እና ምናልባት ቀላል ሊሆን ይችል ነበር ፣ ግን ፍጥረቱ ሊያደርገው በሚችለው መጠን በገባሁ ቁጥር የበለጠ እንዲሠራ እፈልግ ነበር። የመጨረሻ ዝርዝሬ ይህን ይመስላል - 1. ብርቱካንማ ኳስ ያግኙ 2. ብርቱካንማ ኳስ ያንሱ 3. ቅርጫት ያግኙ 4. ኳሱን በቅርጫት ውስጥ ያስቀምጡ 1. ነገሮችን ማስወገድ 2. ከምንም ነገር አለመውደቅ (እንደ ጠረጴዛ) 3. LowOh በሚሆንበት ጊዜ የባትሪውን ክፍያ መለየት እና ከመነሻው መሠረት ጋር መትከያ ፣ እና ይህ ሁሉ ሙሉ በሙሉ ራሱን የቻለ ነው ፣ ይህ ማለት ሁሉም አስቀድሞ የተዘጋጀ ነው ማለት ነው።

ደረጃ 5 ኮድ

የተዝረከረከ ሊሆን ይችላል ፣ ግን ይሠራል።#‹createlib.ic› #use› xbccamlib.ic ን##መግለፅ ካሜራ 0 // የካሜራ servo ወደብ#ክንድን 3 // የእጅ servo ወደብ#መግለፅ እና (አናሎግ (0)) // እና ወደብ/*የመፍጠር ገመድ እንዲሁ መሰካት አለበት። የኃይል መሰኪያውን ፣ 3 ባለ መሰኪያውን ወደብ 8 እና ዩኤክስ ወደ JP 28 (ከዩኤስቢ ወደብ አጠገብ) የተሰየመውን U ወደ ካሜራ*/ #መግለፅ c_down 5 // የካሜራ servo ወደታች#አንድ_down 17 // ክንድ servo ወደታች ይግለጹ/ያዝ 50/servo hold ኳስ#በጠረጴዛ ላይ እንዳይያዝ 27/ክንድ servo ቦታን ይግለጹ#ተኩስ 150/servo ን ይግለጹ። ኳስ መወርወር#ትራክ_c 25 // የካሜራ servo ትራክ ቅርብ ቦታን ይግለጹ#ትራክ_f 45 // የካሜራ servo ትራክ ሩቅ ቦታን#ማዕከል 120 // የካሜራ እይታ ማዕከልን ይግለጹ#ኳን ጥፍር በሚሆንበት ጊዜ ኳሱን ሲያስተባብር#ኳስን ይግለጹ 0 // ሰርጥ ብርቱካንማ ኳስ#ኳስ_ኤክስ (ትራክ_ክስ (ኳስ ፣ 0)) // x የኳስ አስተባባሪ#ኳስ_ይ (ትራክ_ይ (ኳስ ፣ 0)) // የኳስ አስተባባሪ#የዘገየ 100/የዘገየ ፍጥነትን ይግለጹ ሞተር#ፈጣን 175 // የፍጥነት ሞተር ፍጥነትን ይግለጹ#ግልፅ 0.2 // s ን ይግለጹ መሰናክሎችን ወደ ኋላ ለመመለስ#ጊዜን ይግለጹ 0.5 //1.0 የ 90 ዲግሪ ቀኝ መዞሪያ ነው#ዕረፍትን ይግለጹ 0.05 // የእንቅልፍ ጊዜን ይከታተሉ#ነጠብጣቦችን ይግለጹ#ስፔዳ 175 // የማምለጫ ፍጥነትን ያዙሩ#ወደ ኋላ_s -200 // ፍጥነት ወደ ከተደናቀፈ ነገር ወደ ኋላ#ቀጥታ ይግለጹ 32767 // በቀጥታ መስመር ውስጥ ይንዱ#የጀርባውን 2 // የኋላ ሰሌዳ ዋናውን ቀለም ይግለጹ#ካሬ 1 // የኋላ ሰሌዳ አክሰንት ቀለምን ሰርጥ#ግቡን ለመከታተል ትራክ_ዲ 250 // የካሜራ ቦታን ይግለጹ# track_find 70 // የካሜራ አቀማመጥን ለረጅም መከታተያ ይግለጹ#ተቃራኒውን ይግለጹ 2.25 // የእንቅልፍ ጊዜን ለ 180#የኋላ_f -150 // የኋላ ፈጣን ፍጥነትን ይግለጹ#የኋላ_sl -125 // የኋላ ቀርፋፋ ፍጥነትን#ማዕከል_ x 178 // እውነተኛ x ማዕከልን ይግለጹ የካም#ማዕከልን_የ 146 // እውነተኛ y ማዕከል ካሚንት ፒዳ ማዕከል ፣ // የሂደቱን ፒድቢን ያስወግዱ ፣ // የትራክ ሂደት ፒድክ ፣ enable_servos () ፤ // ያንቁ servos init_camera () ፤ // ጀምር የካሜራ አገናኝ () ፤ // ከሙሉ መቆጣጠሪያ ጋር ለመፍጠር ይገናኙ start_a () ፤ // ሥራን ያስወግዱ ጀምር_ቢ () ፤ // (1) የኳስ_መከታተያ ተግባርን ይጀምሩ። {ከሆነ (r_button () || gc_ldrop || gc_rdrop) {// ከተነሳ ወይም የትከሻ ቁልፍ ቢገድል (ፒዳ) ፤ መግደል (pidb); መግደል (pidc); አሰናክል_ሰርቨር (); ግንኙነት አቋርጥ (); እረፍት ፤} የባትሪ_ክፍያ () ይፍጠሩ ፤ የማሳያ_ክፍል (); printf ("ክፍያ = %l / n" ፣ gc_battery_charge); ከሆነ (gc_battery_charge <1200l || b_button ()) {መግደል (pida); መግደል (pidb); መግደል (pidc); መጣል (); ኳስ = 0; create_demo (1); ሳለ (b_button ()); ሳለ (gc_battery_charge <2800l &&! b_button ()) {create_battery_charge (); የማሳያ_ክፍል (); printf ("ክፍያ = %l / n" ፣ gc_battery_charge); እንቅልፍ (1.0);} አገናኝ (); ተመለስ (); እንቅልፍ (2.0); start_a (); start_b ();}}} ባዶነትን ያስወግዱ () {ሳለ (1) {// መድገም ለዘላለም create_sensor_update () ፣ // ሁሉንም አነፍናፊ እሴቶችን ያዘምኑ // create_drive (speeda ፣ ቀጥ ያለ) ፤ (gc_lbump == 1) {// የግራ ጎድጓድ ራቅ_አቅጣጫ ();} // (gc_rbump == 1) {// የቀኝ ጉብታ ያስወግዱ_ግራ ();} // ሌላ ከሆነ (ወደ gc_lfcliff == 1) {// የግራ የፊት ገደል መከልከል ();} ሌላ ከሆነ (gc_rfcliff == 1) {// የቀኝ የፊት ገደል avoid_left ();} ሌላ ከሆነ (gc_lcliff == 1) {// የግራ ገደል ራቅ_right ();} ሌላ ከሆነ (gc_rcliff == 1) {// ቀኝ ገደል avoid_left ();}}} ባዶ ትራክ_ቦል () {መግደል (pidc); ሳለ (! have_ball) {// ኳስ track_update () እስኪያገኝ ድረስ ይድገሙት ፤ far (); // ካሜራውን ዝግጁ አድርጎ (); // እጁን ያዘጋጃል (et <255) {// ኳስ ሲይዝ ትራክ_ፕድቴ () ፣ // የካሜራ ሥዕሉን (ball_x <= () ከሆነ/ያዘምኑ center-5)) {// ኳሱ ከሄደ track_update (); create_drive_direct (ቀርፋፋ ፣ ፈጣን) ፤ // ወደ ግራ መተኛት (ማረፍ) ፤} ሌላ ከሆነ (ball_x> = (center+5)) {// ኳሱ ትክክል ከሆነ track_update () ፤ create_drive_direct (ፈጣን ፣ ቀርፋፋ) ፤ // ቀኝ እንቅልፍን ያዙሩ (እረፍት) ፤} ሌላ ከሆነ (ball_x (center-5)) {// ኳሱ ማእከል ከሆነ track_update (); create_drive_straight (ፈጣን); // በቀጥታ ተኙ (እረፍት);}} ይያዙ (); // የኳስ ቢፕ () ይያዙ ፣/ጫጫታ ያቁሙ (); // መንዳት ያቁሙ have_ball = 1; // ማስታወሻ ያድርጉ እኔ ኳስ አለኝ start_c (); // ቅርጫቱን እንቅልፍ ይፈልጉ (1.0) ፣ // ሲገደሉ ምንም ነገር እንዳላደርግ ይተኛሉ} ባዶ find_basket () {kill (pidb) ፤ // የኳስ ክትትል ሂደት አግኝ (); // ካሜራውን ወደ track_set_minarea (1000) አስቀምጥ ፤ // የኋላ ሰሌዳው ትልቅ ነው ፣ ስለዚህ (ትልቅ ኳስ) ብቻ ይፈልጉ (ኳስ አላቸው) {// የኳስ ትራክ_ዘመን () እያለኝ); ሳለ (track_x (backb, 0) = (center_x+20)) {// track_update () ባይሆንም (); ከሆነ (track_x (backb, 0)> = (center_x+20)) {// የኋላ ሰሌዳው track_update () ከሆነ (); create_spin_CCW (100) ፤} // ሌላ ከሆነ (ትራክ_ኤክስ (ጀርባ ፣ 0) <= (center_x-20)) {// የኋላ ሰሌዳው ትክክል ከሆነ track_update (); create_spin_CW (300-center_x);} // ማዕከሉ ሲቃረብ ወደ ቀኝ ቀስ ብሎ መታጠፍ} ማቆም (); ሳለ (track_size (backb, 0) <= (6000)) {// ኢላማው በመጠን ትራክ_አፕዴት () ከ 6000 ፒክሰሎች ያነሰ ሆኖ ሳለ ፤ ከሆነ (track_x (backb, 0) <= (center_x-5)) {// ኢላማው ከተተወ track_update (); create_drive_direct (ቀርፋፋ ፣ ፈጣን) ፤ // ወደ ግራ መተኛት (እረፍት) ፤} ሌላ ከሆነ (track_x (backb, 0)> = (center_x+5)) {// ዒላማው ትክክለኛ ከሆነ track_update (); create_drive_direct (ፈጣን ፣ ቀርፋፋ) ፤ // ቀኝ እንቅልፍን ያዙሩ (እረፍት) ፤} ሌላ ከሆነ (ትራክ_ኤክስ (ጀርባ ፣ 0) (center_x-5)) {// ኢላማው ማዕከል ከሆነ track_update () ፤ ፍጠር_drive_straight (ፈጣን); // በቀጥታ ተኙ (እረፍት);}} አቁም (); // create_drive_straight (ፈጣን) ፤ // ትንሽ ጠጋ ይበሉ // እንቅልፍ (1.0); //ተወ(); እንቅልፍ (1.0); ፍጠር_spin_CW (speeda); // ትክክለኛውን እንቅልፍ ያሽከርክሩ (ወደኋላ); // ለ 180 ተራ ማቆሚያ () በቂ ረጅም እንቅልፍ ይተኛሉ። ወደ ታች (); // የጀርባ ሰሌዳ እንቅልፍን ለመከታተል ካሜራውን ወደ ታች ዝቅ ያድርጉ (1.0); track_set_minarea (200) ፤ // እኛ በመጠቆም እና ((track_y (backb, 0)> = (center_y-140)) {// ዒላማው ያነሰ በሚሆንበት ጊዜ ወደ እኛ መጠጋት ስለምንችል አነስተኛውን አነስተኛ መጠን ይጠቀሙ። y አስተባባሪ track_update (); ከሆነ (track_x (backb, 0) <= (center_x-5)) {// ኢላማው ከተተወ track_update (); back_right (); // ወደ ግራ መተኛት (እረፍት) ፤} ሌላ ከሆነ (ትራክ_ኤክስ (ጀርባ ፣ 0)> = (center_x+5)) {// ዒላማው ትክክለኛ ከሆነ track_update () ፤ back_left (); // ቀኝ እንቅልፍን ያዙሩ (እረፍት) ፤} ሌላ ከሆነ (ትራክ_ኤክስ (ጀርባ ፣ 0) (center_x-5)) {// ኢላማው ማዕከል ከሆነ track_update () ፤ ተመለስ (); // በቀጥታ ተኛ (እረፍት);}} አቁም (); ቢፕ (); መወርወር (); // ተኩስ እንቅልፍ (1.0); have_ball = 0; // አስታዋሽ ኳስ ወረወርኩ እና የለኝም} start_b () ፤ // ወደ ኳስ መከታተያ እንቅልፍ ተመለስ (1.0) ፤ // ይህ ሂደት እስኪሞት ድረስ ምንም አታድርጉ} ባዶ ግንኙነት () {create_connect (); create_full (); // ለሙሉ የመዳሰሻ ዳሳሾች መቆጣጠሪያ_መፍጠር (0 ፣ 255) ፤} // አረንጓዴ ኃይል ledvoid disconnect () {stop (); // move_disconnect ();} ባዶ ቦታን () {back (); እንቅልፍ (ግልጽ); አቁም ();} ባዶ rotate_l () {create_spin_CCW (speeda); እንቅልፍ (ጊዜ); አቁም ();} ባዶ rotate_r () {create_spin_CW (speeda); እንቅልፍ (ጊዜ); አቁም ();} ባዶነት ማቆሚያ () {create_drive (0 ፣ ቀጥ ያለ) ፤} ባዶ ባዶ () {create_drive (back_s ፣ straight) ፤} ባዶነት ዝግጁ () {set_servo_position (ክንድ ፣ መውረድ) ፤} ባዶ ቼክ () {set_servo_position (ካሜራ ፣ ትራክ_ሲ) ፤} ባዶ ባዶ () {set_servo_position (ካሜራ ፣ ትራክ_ፍ) ፤} ባዶ ባዶ () ለ (a = 50; a> = 30; a- = 1) {// ዝግጁ set_servo_position (ክንድ ፣ ሀ) ፤} set_servo_position (ክንድ ፣ ተኩስ) ፤} ባዶ ባዶ መያዝ () {int a; ለ (a = 0; a <= hold; a+= 1) {// ክንድውን በተቀላጠፈ set_servo_position (ክንድ ፣ ሀ) ፤}} ባዶ አድርጎ () {set_servo_position (cam ፣ track_d) ፤} ባዶ ፍለጋ () {set_servo_position (ካሜራ ፣ ትራክ_ፍንድ) ፤} ባዶ ጀምር_አ () {pida = start_process (ራቅ ());} ባዶ start_b () {pidb = start_process (track_ball ());} ባዶነት start_c () {pidc = start_process (find_basket ());} ባዶ ግድያ (int pid) {CREATE_BUSY; // የአሁኑ የመፍጠር ሂደት እስኪጠናቀቅ ድረስ ይጠብቁ ፣ እና ቅድሚያ የሚሰጠውን kil_process (pid) ይውሰዱ ፤ CREATE_FREE; // i stop me ();} void avoid_left () {kill (pidb); // ሁሉንም ነገር መግደል (pidc) ያቁሙ ፤ ጠርዙ (); // በጠረጴዛው ላይ እንዳይይዝ ጥፍር ያንሱ (በመንገድ ላይ) () ፣ // ወደ ኋላ ዞሮ ዞሮ_ል () ፤ // ከእንቅፋት መሰናክል () (ካለ) ይሽከረከሩ (// ኳስ ካለዎት) {// ኳስ ቢኖረኝ start_c ();} // ሌላ ከሆነ (! have_ball) {// ኳሱ start_b () ባይኖረኝ/// የግብ ፍለጋ መከታተል ይጀምሩ}} // የኳስ መከታተልን ይጀምሩ} ባዶነት ያስወግዱ_right () {መግደል (pidb); መግደል (pidc); ጠርዝ (); back_away (); rotate_r (); ዝግጁ (); ከሆነ (have_ball) {start_c ();} ሌላ ከሆነ (! have_ball) {start_b ();}} void back_left () {create_drive_direct (back_f, back_sl);} void back_right () {create_drive_direct (back_sl, back_f);}

ደረጃ 6 - ዋጋ ያለው ነበር?

ወጪዎቹ - ፍጠር + ባትሪ + ሰነድ = $ 260 ኤክስቢሲ ማስጀመሪያ ኪት (xbc ፣ cam ፣ LEGO ጡቦች ፣ ዳሳሾች) = $ 579PVC + ቀለም + ብሎኖች = ወደ $ 20 ጠቅላላ ወጪ = 859 እኔ ቀድሞውኑ ከቦቦቦል የ XBC ማስጀመሪያ መሣሪያ ነበረው ፣ ስለዚህ ዋጋው ለእኔ የፍጥረቱ ዋጋ ነበር። እሱ ዋጋ ያለው ይመስለኛል ፣ እና በጣም ጥሩው እኔ ይህንን bot ለመለያየት እራሴን ማምጣት ከቻልኩ የተጠቀምኳቸው ክፍሎች በሙሉ እንደገና ጥቅም ላይ የሚውሉ መሆናቸው ነው። ፣ በጠረጴዛ አናት ላይ። ይህ ቪዲዮ ሮቦቱ ግብ ላይ 5 የብርቱካን ኳሶችን ሲያስቆጥር ያሳያል። ሂደቱን ለማፋጠን ብቻ ረዳሁ ፣ ኳስ 5 በመጨረሻ በራሱ ብቻ አግኝቶ ነበር።

ደረጃ 7 መደምደሚያ

የመጨረሻው ውጤት ብቻውን ግብ ላይ ብርቱካን ኳሶችን ማንሳት እና ማስቆጠር የሚችል ሮቦት ነው።

በዚህ ፕሮጀክት ላይ መሥራት እወድ ነበር። በዚህ ሮቦት ላይ በሠራሁ ቁጥር ከእሱ ጋር የበለጠ ተያያዝኩ። አሁን የቤት እንስሳ ይመስል አነጋግረዋለሁ። በሚቀጥለው ፕሮጀክትዎ ላይ ይህ እንደረዳዎት ተስፋ አደርጋለሁ። ማመስገን ያለብኝ ብዙ ሰዎች አሉ ፣ ግን በጣም ብዙ ናቸው። እንደ ቻርተርስ በርናርድ እንዲሁ በቅንጦት እንደተናገረው - እኛ በእኛ ላይ በሚታየው ማንኛውም ጥርት ወይም በእነሱ ላይ ሳይሆን እኛ ከእነሱ የበለጠ እና ነገሮችን በሩቅ ለማየት እንድንችል በግዙፎች ትከሻ ላይ እንደ ድንክ እንሆናለን። ልዩነት ፣ ግን እኛ ከፍ ተደርገን ስለተነሳን እና በትልቁ መጠናቸው የተነሳ።”

የሚመከር: