ዝርዝር ሁኔታ:

በሮቦት መከታተያ እና ቁጥጥር በሮቦት መቆጣጠሪያ በ Xbox መቆጣጠሪያ - አርዱinoኖ: 9 ደረጃዎች (ከስዕሎች ጋር)
በሮቦት መከታተያ እና ቁጥጥር በሮቦት መቆጣጠሪያ በ Xbox መቆጣጠሪያ - አርዱinoኖ: 9 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: በሮቦት መከታተያ እና ቁጥጥር በሮቦት መቆጣጠሪያ በ Xbox መቆጣጠሪያ - አርዱinoኖ: 9 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: በሮቦት መከታተያ እና ቁጥጥር በሮቦት መቆጣጠሪያ በ Xbox መቆጣጠሪያ - አርዱinoኖ: 9 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ሀኔዳ አለምአቀፍ አውሮፕላን ማረፊያ የደንበኞቻችንን ፍላጎት ሁሌም ያውቃል። 🇪🇹 2024, ሀምሌ
Anonim
Image
Image
OpenCV እና C ++ ን መጫን እና ማዋቀር
OpenCV እና C ++ ን መጫን እና ማዋቀር

የሚለምን ሮቦት እንሠራለን። ይህ ሮቦት ሰዎችን ለማበሳጨት ወይም ትኩረት ለመስጠት ይሞክራል። ፊታቸውን ይለያል እና ሌዘርን በእነሱ ላይ ለመምታት ይሞክራል። ለሮቦቱ ሳንቲም ከሰጡት እሱ ዘፈን ይዘፍናል እና ይጨፍራል። ሮቦቱ ክፍት ሲቪን ለማሄድ አርዱዲኖ ፣ የቀጥታ የካሜራ ምግብ እና ኮምፒተር ይፈልጋል። ሮቦቱ ከፒሲው ጋር ከተገናኘ በ xBox መቆጣጠሪያም መቆጣጠር ይችላል።

ደረጃ 1 - ቁሳቁሶች

ሃርድዌር ኤሌክትሮኒክ

  • አርዱዲኖ NANO ወይም UNO
  • ዩኤስቢ 2.0 ካሜራ
  • ዝላይ ገመዶች (ወንድ እና ሴት)
  • 2 x Servo - አጠቃላይ (ንዑስ ማይክሮ መጠን)
  • 2 x LED - RGB CATHODE 5 ሚሜ
  • 2 x 5 ሜጋ ዋት ሌዘር
  • 1 x ቀይ LED 5 ሚሜ
  • 1 x የዳቦ ሰሌዳ
  • 4 x 220Ω ተከላካይ
  • 1 x 1KΩ ተከላካይ
  • 1 x ፕሮቶቦርድ
  • 1 x ሶናር ዳሳሽ 4 ፒኖች
  • የ Xbox መቆጣጠሪያ

የሃርድዌር አናሎግ

  • የእንጨት ሳጥን (15 x 15 x 7 ሴ.ሜ)
  • ሙጫ
  • የኤሌክትሪክ ቴፕ

ሶፍትዌር

  • አርዱዲኖ አይዲኢ
  • የእይታ ስቱዲዮ 2017
  • 3D ዎች ማክስ (ወይም ሌላ ማንኛውም 3 ዲ ማሻሻያ ሶፍትዌር)
  • ቅድመ -ቅፅ 2.14.0 ወይም ከዚያ በኋላ
  • OpenCV 3.4.0 ወይም ከዚያ በኋላ

መሣሪያዎች

  • የመሸጫ መሣሪያ
  • አዩ እና ቁፋሮ
  • ሽቦ መቁረጫ

ደረጃ 2 - OpenCV እና C ++ ን መጫን እና ማዋቀር

OpenCV እና C ++ ን መጫን እና ማዋቀር
OpenCV እና C ++ ን መጫን እና ማዋቀር

ደረጃ 2.1 - ሶፍትዌሩን ማግኘት

Visual studio 2017: Visual studio Comunity 2017openCV 3.4.0 Win pack: ወደ ይፋዊ አውርድ ገጽ ይሂዱ

ደረጃ 2.2 ፦ OpenCV2.2.1 ን መጫን ፦ የዚፕሉን ፋይል ወደ ዊንዶውስ (: ሲ) ድራይቭዎ ያውጡ። ይህ በእርስዎ win10 የፍለጋ ተግባር ውስጥ ሊገኝ ይችላል ።2.2.3: አዲስ የአካባቢ ተለዋዋጮችን ማዋቀር አለብን። “ዱካ” አካባቢያዊውን ይፈልጉ እና አርትዕን ይጫኑ። በእርስዎ ሲ ድራይቭ ላይ openCV ን ከጫኑ ፣ መንገዱ እንደዚህ ሊሄድ ይችላል - C: / opencv / build / x64 / vc14 / bin ዱካውን ይለጥፉ እና በዚህ ሂደት ወቅት በከፈቷቸው ሁሉም መስኮቶች ላይ “እሺ” ን ይጫኑ።

ደረጃ 2.3 - የእይታ ስቱዲዮ C ++ 2.3.1 ን ማዋቀር - አዲስ የእይታ C ++ ፕሮጀክት ያዘጋጁ። ባዶ የ win32 ኮንሶል ትግበራ ፕሮጀክት ያድርጉት ።2.3.2 ፦ በምንጭ ፋይሎች ትር ውስጥ ፣ በቀኝ ጠቅ ያድርጉ እና አዲስ C ++ ፋይል (.cpp) ያክሉ እና “main.cpp” ብለው ይሰይሙት ።2.3.3 በፕሮጀክቱ ላይ በቀኝ ጠቅ ያድርጉ- በመፍትሔ አሳሽ ውስጥ ስም እና ባህሪያትን ይምረጡ። ይህ በአጠቃላይ በ C/C ++ ትር ስር ሊገኝ ይችላል። የሚከተለውን መንገድ ይቅዱ: C: / opencv / build / ማካተት እና ከ “AID” በስተጀርባ መለጠፍ እና ማመልከት ላይ ጠቅ ያድርጉ። “አገናኝ” ትርን ይምረጡ። በአጠቃላይ እኛ ሌላ ተጨማሪ የላይብረሪ ማውጫዎችን ማድረግ አለብን። ከ “AID” C: / opencv / build / x64 / vc14 / lib በስተጀርባ ያለውን የሚከተለውን ዱካ ይለጥፉ እና እንደገና ተግብርን ይጫኑ። እና “ተጨማሪ ጥገኛዎች> አርትዕ” ን ይጫኑ እና የሚከተለውን ፋይል opencv_world320d.lib እና xinput.lib (ለተቆጣጣሪው) ይለጥፉ እና እንደገና ይተግብሩ። መስኮቱን ዝጋ። አሁን የእርስዎ የ C ++ ፋይል አብሮ ለመስራት ዝግጁ ነው።

ደረጃ 3: አርዱዲኖን ማቀናበር

አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር
አርዱዲኖን ማዋቀር

አገልጋዮቹን ማሟላት -ሰርቪዎቹ ~ 160 ° የማሽከርከር ችሎታ አላቸው እነሱ በመደበኛነት ለመሥራት በ 4 ፣ 8 እና 6 ፣ 0 ቮልት መካከል መኖር አለባቸው። ፒን ለፕሮጀክታችን በዲጂታል ፒን 9 እና 10 ላይ ለ servos የውሂብ ፒኖችን እናዘጋጃለን።

ከ RGB ሌዲዎች ጋር መገናኘት የ RGB ሌዲዎች 4 ፒኖች አሏቸው ቀይ ፣ አረንጓዴ ፣ ሰማያዊ እና መሬት ፒን። በአርዱዲኖ ላይ የተወሰነ ቦታ ለመቆጠብ ፣ 2 RGB ሌዲዎችን አንድ ላይ ማገናኘት እንችላለን። ስለዚህ እኛ 3 ፒኖችን ብቻ እንጠቀማለን። በምስሉ ላይ እንደሚታየው የ RGB ሌዲዎችን በፕሮቶቦርዱ ላይ ማገናኘት እና መሸጥ እንችላለን።

የ Piezo buzzer ን መገናኘት -ትንሹ ሮቦታችን አንዳንድ ጫጫታ ሊያሰማ ነው። ይህንን ለማድረግ እሱን ለእሱ ድምጽ መስጠት አለብን! እኛ በእርግጥ እሱን ከፍ ለማድረግ መምረጥ እንችላለን። ወይም እሱን ትንሽ አስጸያፊ ለማድረግ ከፒዞዞ ጫጫታ በፊት 220Ω resistor ን ልናስቀምጠው እንችላለን። እኛ የፒኤዞ ቡዙን በዳቦ ሰሌዳ ላይ እንተወዋለን። ስለዚህ መሸጥ አያስፈልግም። የውሂብ ፒኑን (+) ከዲጂታል ፒን 2 እና ከመሬት ፒን ጋር በመጋገሪያ ሰሌዳ ላይ እናያይዛለን።

ከሶናር ጋር መገናኘት - ሮቦቱ 10 ሜትር ርቆ በሚገኝ ሰው ላይ ለማነጣጠር እንዳይሞክር። ሮቦትን በሰዎች ላይ ማነጣጠር ከሚችልበት የርቀት ክልል ልንሰጠው እንችላለን። ይህንን የምናደርገው በሶናር ዳሳሽ ነው። ቪሲሲ => 5 voltTrig => DigitalPin 6Echo => DigitalPin 5GND => መሬት

የሳንቲም መፈለጊያውን መገናኘት - እኛ አንድ ሳንቲም መርማሪ እንሠራለን። የሳንቲም መመርመሪያው ወረዳው ተዘግቶ ወይም ተሰብሮ እንደሆነ በመለየት ይሠራል። እንደ ማብሪያ / ማጥፊያ ይሠራል ማለት ይቻላል። ግን ጥንቃቄ ማድረግ አለብን። ይህንን ስህተት ከሠራን አርዱዲኖ ያስከፍለናል ።መጀመሪያ - አናሎግፒን ኤ0 ን ከ 5 ቮልት ገመድ ጋር ያገናኙ። ነገር ግን በመካከላቸው 1KΩ resistor ማስቀመጥዎን ያረጋግጡ - ሁለተኛ - ሽቦን ከመሬት ጋር ያገናኙ። እኛ ወዲያውኑ ሽቦዎቹን እና ተከላካዩን ከ RGB leds ጋር ወደ ተመሳሳይ ፕሮቶቦርድ መሸጥ እንችላለን።አሁን 2 ገመዶችን ከነካነው አርዱኢኖ ዝግ ወረዳ ያሳያል። ይህ ማለት አንድ ሳንቲም አለ! የጥፋት ሌዘርን ማሟላት። ሮቦቱ ለማቃጠል የጦር መሳሪያዎች ያስፈልጉታል! የተወሰነ ቦታ ለመቆጠብ ሁለቱን ሌዘር በአንድ ላይ ሸጥኳቸው። እነሱ በካሜራው ፍሬም ውስጥ በትክክል ይጣጣማሉ። ከዲጂታል ፒን 11 እና ከመሬት ጋር ያገናኙዋቸው። ትንሽ ወንድን ያብሩ!

አማራጭ gimmick. እኛ ሳንቲም ስር ቀይ LED ማስቀመጥ እንችላለን። ጨለማ በሚሆንበት ጊዜ ይህ አስደሳች ትንሽ ጂም ይሆናል። ሽቦውን ከዲጂታል ፒን 8 ጋር ያገናኙ እና እንዳይነፋ ለመከላከል በ LED እና በሽቦው መካከል 220Ω resistor ያስቀምጡ። የ LED አጭር ፒን ከመሬት ጋር ያገናኙ።

ደረጃ 4 የ C ++ ኮድ

ደረጃ 4.1 - ዋናውን.cpp ኮድ በማዋቀር ላይ "\. / COM (ይህንን ይቀይሩ)" 4.1.3: በመስመር 21 እና 22 ላይ ፋይሎችን "haarcascade_frontalface_alt.xml" እና "haarcascade_eye_tree_eyeglasses.xml" የሚለውን መስመር በትክክለኛው መንገድ ያቀናብሩ "openCV በ C ድራይቭ ላይ ከተጫነ ፣ እነዚህ ፋይሎች እዚህ ሊገኙ ይችላሉ- "C: / opencv / build / etc / haarcascades \" ድርብ ጀርባዎችን ያስቀምጡ ወይም አንድ ባለበት ብቻ ይጨምሩ።

ደረጃ 4.2: tserial.h እና Tserial.cpp ያክሉ እነዚህ 2 ፋይሎች በአርዱዲኖ እና በፒሲ መካከል ያለውን ግንኙነት ይንከባከባሉ ።4.2.1 ማውጫ። በመፍትሔ አሳሽ ውስጥ በፕሮጀክቱ ላይ በቀኝ ጠቅ ያድርጉ እና አክል> ነባር ንጥል ይምረጡ። በብቅ ባይ መስኮቱ ውስጥ የሚታከሉትን ሁለት ፋይሎች ይምረጡ።

ደረጃ 4.2: CXBOXController.h እና CXBOXController.h አክል እነዚህ ፋይሎች የፕሮጀክቱን ተቆጣጣሪ ክፍል ይወስዳሉ። በብቅ ባይ መስኮቱ ውስጥ የሚታከሉትን ሁለት ፋይሎች ይምረጡ። የ C ++ ፋይሎች ተዋቅረዋል።

ደረጃ 5 የአርዱኖ ኮድ

ደረጃ 5.1: የኒው ፒንግ ቤተ -መጽሐፍት 5.1.1: ArduinoCode.ino ን ያውርዱ እና በአርዱዲኖ አይዲኢ ውስጥ ይክፈቱት ።5.1.2: ወደ “ንድፍ”> ሊባሪያን ያካትቱ> ቤተ -መጽሐፍትን ያቀናብሩ”ይሂዱ። እና ይህን ቤተ -መጽሐፍት ይጫኑ።

ደረጃ 5.2: የ pitches library5.2.1: pitches.txt ን ያውርዱ እና የ pitches.txt ን ይዘት ይቅዱ ።5.2.2: በአርዱዲኖ አይዲ ውስጥ አዲስ ትር ለመክፈት CTRL+Shift+N ይጫኑ ።5.2.3 ፦ ኮዱን ከ pitches

ደረጃ 6: 3 ዲ ማተም እና ማተም

3 -ል ህትመት እና ህትመቱን ማጣራት
3 -ል ህትመት እና ህትመቱን ማጣራት
3 -ል ህትመት እና ህትመቱን ማጣራት
3 -ል ህትመት እና ህትመቱን ማጣራት

ደረጃ 6.1 የ 3 ዲ ፋይሉን ያትሙ የህትመት ፋይልን ቅርጸት ይክፈቱ እና ሁሉም ነገር እሺ ከሆነ ያረጋግጡ። ሁሉም ነገር እሺ የሚመስል ከሆነ የህትመት ሥራውን ወደ አታሚው ይላኩ። አንድ ነገር ቢመስል ወይም ሞዴሉን መለወጥ ከፈለጉ። እርስዎ ለማርትዕ የ3 -ል ማክስ ፋይሎችን እና የ OBJ ፋይሎችን አካትቻለሁ።

ደረጃ 6.2 ሞዴሉን ያጥሩ 6.2.1: ማተም ከተጠናቀቀ በኋላ ማንኛውንም የሕትመት ቅነሳ ለማስወገድ 2 ሞዴሎቹን በ 70% አልኮሆል ውስጥ ያጥቡት። ሞዴሉን ማጠንከር። ወይም ሞዴሉን ለማጠንከር የ UV- መብራት መጠቀም ይችላሉ። ሞዴሉ ተጣባቂ ስለሚሆን ይህ መደረግ አለበት።

6.2.3: የድጋፍ ማዕቀፉን ያስወግዱ። ይህ በሽቦ መቁረጫ ሊሠራ ይችላል። ወይም ፕላስቲኮችን ሊቆርጥ የሚችል ማንኛውም ሌላ መሣሪያ ።6.2.4 - አንዳንድ የ 3 ዲ ህትመት ክፍሎች አሁንም ለስላሳ ሊሆኑ ይችላሉ። ምንም እንኳን አምሳያው በብዙ UV- መብራት ውስጥ ቢገኝም። ለስላሳ ሊሆኑ የሚችሉ ክፍሎች ፣ ከድጋፍ ክፈፎች አጠገብ ያሉ ክፍሎች ናቸው። ለማጠንከር በ UV-light የበለጠ ፀሀይ ውስጥ ሞዴሉን ያስቀምጡ ።6.2.5-በ “ድሬሜል” በማዕቀፉ የተሰሩትን ሁሉንም ትናንሽ ጉብታዎች አሸዋ ማስወገድ ይችላሉ። በፍሬም ውስጥ ያሉትን ሰርዶዎች ለማስማማት መሞከር ይችላሉ። እነሱ የማይስማሙ ከሆነ ድሬሜልን ከርቀት ወደ አሸዋ መጠቀም ይችላሉ። ተስማሚ እንዲሆን ያድርጉ።

ደረጃ 7 - ሳጥኑን መገንባት

ሳጥኑን መገንባት
ሳጥኑን መገንባት
ሳጥኑን መገንባት
ሳጥኑን መገንባት

ደረጃ 7.1 ቀዳዳዎቹን መስራት እኔ በጥያቄ ውስጥ ያለውን የሳጥን ንድፍ አካትቻለሁ። ንድፉ የሚለካው አይደለም ፣ ግን ሁሉም መጠኖች ትክክል ናቸው ።7.1.1 - ሁሉንም ቀዳዳዎች በትክክለኛው ቦታ ላይ ምልክት በማድረግ ይጀምሩ። ትልልቅ ቀዳዳዎች በዲሬሜል መጠን ሊሠሩ ይችላሉ። ግን ካሬ እንዲሆኑ ለማድረግ Dremel ን በትንሽ ፋይል መግጠም እና ሹል ማዕዘኖችን ማውጣት ይችላሉ። እነሱ የሚስማሙ ከሆነ ፣ መሄድዎ ጥሩ ነው! 7.1.5: ከእንጨት መሰንጠቂያዎች ይጠንቀቁ እነሱን ለማስወገድ የአሸዋ ወረቀት ይጠቀሙ።

ደረጃ 7.2 ሥዕል 7.2.1 - ክዳኑን በማሸለብ ይጀምሩ። እንዲጣበቅ ቀለሙ ያስፈልገናል።

ደረጃ 8: ማጠናቀቅ።

በመጨረስ ላይ።
በመጨረስ ላይ።
በመጨረስ ላይ።
በመጨረስ ላይ።
በመጨረስ ላይ።
በመጨረስ ላይ።

አሁን ሁሉንም ነገር በቦታው ማስቀመጥ እና ነገሩ እንዲያደርግ መፍቀድ አለብን። ደረጃ 8.1 የሳንቲም መመርመሪያ 8.1.1 ለ ሳንቲም መመርመሪያው አንዳንድ የብረት ማሰሪያዎችን ይለጥፉ።.3 ፦ ከአንድ ሳንቲም ጋር ያለውን ግንኙነት ይፈትሹ። የተዘጉ ወረዳዎች ከሌሉ ፣ ገመዶቹን ወደ ጫፉ የበለጠ ያሽጡ። ደረጃ 8.2 - ፕሮቶቦርዱ እና RGB leds ከፕሮቶቦርዱ! 8.3.28.3.2 ፦ አንዳንድ የወንድና የሴት ሽቦዎችን በግማሽ በመቁረጥ ሴትና ወንድ ገመዶችን አንድ ላይ በመሸጥ ዳሳሹን ከአርዲኖ ጋር ለማገናኘት ልንጠቀምበት የምንችልበት አንድ ገመድ ለመሥራት ነው።

ደረጃ 8.4 - ሌዘር እና ካሜራ 8.4.1 - ትንሹን ፍሬም በካሜራው ላይ ይለጥፉ ቀጥ ያለ መሆኑን ያረጋግጡ። ጠላት እንዳይሰርቃቸው ሙጫ ያድርጓቸው!

ደረጃ 8.5 - ሰርቪሶቹ እና 3 ዲ ህትመት 8.5.1 - ሰርዶውን በክዳኑ ቀዳዳ ላይ ያያይዙት 8.5.2 - አርዱዲኖ ፋይልን ወደ አርዱዲኖ ይስቀሉ (ይህ አገልጋዮቹ በትክክለኛው ቦታ ላይ እንዲቆሙ ያደርጋል) 8.5.3: ከ servo ጋር መጣ ትንሽ ክብ አምባ። ይህንን በስርዶው ላይ በክዳኑ ውስጥ ያስቀምጡት ።8.5.4 - ትልቁን 3 -ል ህትመት በ servo እና plateau ላይ ያስቀምጡ እና ከዊንች ጋር በጥብቅ ያሽጉዋቸው። 8.5.6: ካሜራውን በቦታው ያስቀምጡ እና ሁሉም ነገር ለመሄድ ዝግጁ ነው!

ደረጃ 9 ፕሮግራሙን ያስጀምሩ

ሮቦቱን ለመጀመር የ C ++ ፋይልን በእይታ ስቱዲዮ ውስጥ ይክፈቱ። በ “አርም ሁኔታ” ውስጥ መሆንዎን ያረጋግጡ የአርዲኖኖ ፋይልን ወደ አርዱዲኖ ይስቀሉ። አንዴ ከተሰቀለ በእይታ ስቱዲዮ ውስጥ የፕሬስ ጨዋታ። እና ሮቦቱ በዓለም ውስጥ ያሉትን ሁሉንም ሳንቲሞች ያቃጥላል እና ይሰበስባል !!!

የሚመከር: