ዝርዝር ሁኔታ:

አርዱዲኖ ኦቶ ሮቦት ከመንግስት ማሽን ጋር - 4 ደረጃዎች
አርዱዲኖ ኦቶ ሮቦት ከመንግስት ማሽን ጋር - 4 ደረጃዎች

ቪዲዮ: አርዱዲኖ ኦቶ ሮቦት ከመንግስት ማሽን ጋር - 4 ደረጃዎች

ቪዲዮ: አርዱዲኖ ኦቶ ሮቦት ከመንግስት ማሽን ጋር - 4 ደረጃዎች
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ሀምሌ
Anonim
Image
Image

የፕሮጀክት አጠቃላይ እይታ

በዚህ ፕሮጀክት ውስጥ በአርዱዲኖ ላይ የተመሠረተ የ DIY ሮቦት የሆነውን ኦቶ ሮቦት የማዘጋጀት ዘዴን ማሳየት እፈልጋለሁ። የ YAKINDU Statechart Tools ን (ለንግድ ያልሆነ ነፃ) የኦቶ ሮቦት ባህሪን በግራፊክ ለመቅረጽ እና የ C/C ++ ኮድ ለማመንጨት የስቴት ማሽኖችን በቀላሉ መጠቀም እንችላለን። ባህሪውን ወደ እኛ መውደድ ለማራዘም ከአንዱ ምሳሌዎቻቸው እንጠቀማለን።

የግዛት ማሽን ምን እንደሆነ ለማያውቁ እና በተወሳሰበ የዊኪፔዲያ ጽሑፍ ውስጥ ለማሽከርከር ለማይፈልጉ ሰዎች ፣ እዚህ ትንሽ ማብራሪያ አለ-

የግዛት ማሽን በእነዚያ አንጓዎች መካከል አንጓዎች እና ዱካዎች ብቻ ነው። የመነሻ መስቀለኛ መንገድ አለዎት እና በክስተቶች ሊወከል በሚችል ጠባቂዎቻቸው ላይ በመመስረት መንገዶቹን ወደ ሌሎች አንጓዎች መውሰድ ይችላሉ። እነዚህ ክስተቶች ከስቴቱ ማሽን ራሱ ወይም ከውጭ (እንደ ተግባር ፣ ወዘተ) ይነሳሉ።

መሣሪያው ራሱ የመጎተት እና የመጣል በይነገጽ እና ጎራ-ተኮር ቋንቋን ይጠቀማል። እኔ ለእናንተ እሄዳለሁ ፣ ስለሆነም ኦቶዎን ለማንቀሳቀስ በሰነዶቻቸው ውስጥ መቆፈር የለብዎትም። አይዲኢን ማዘጋጀት በጣም ከባድ አይደለም ፣ ምክንያቱም ሁሉም ተሰኪዎች ፣ ወዘተ በራስ-ሰር መጫን አለባቸው።

አቅርቦቶች

ኦቶ ሮቦት ወይም ዞዊ ሮቦት

ሁለቱም እነዚህ ሮቦቶች በመሠረቱ ተመሳሳይ እና ተመሳሳይ ኤፒአይ ይጠቀማሉ። ኦቶ ሮቦት የራስዎ የሆነ ሮቦት ነው ፣ ክፍሎቹ በመስመር ላይ ፣ አንድ ካለዎት በ 3 ዲ አታሚ ለማተም ዝግጁ ነው። አማራጩ ዞዊ ሮቦት ነው ፣ በመስመር ላይ ሊገዛ እና ለአገልግሎት ዝግጁ ነው።

የያኪንዱ ግዛት ገበታ መሣሪያዎች

የስቴቱን ማሽን ለመቅረጽ የምንጠቀምበት መሣሪያ። በ 30 ቀናት ሙከራ መጀመር እና ከዚያ በኋላ ለንግድ ያልሆነ አገልግሎት ነፃ ፈቃድ ማግኘት ይችላሉ።

ግርዶሽ ሲ ++ IDE ለአርዱዲኖ ተሰኪ

አይዲኢ ለእኛ ስለሚያደርግ በእጅ ማውረድ የለብንም። አሁንም እዚህ መዘርዘር ጥሩ ይመስለኛል።

ደረጃ 1 - ሁሉንም ነገር ማቀናበር

ኦቶ እንዴት እንደሚገናኝ መረዳት
ኦቶ እንዴት እንደሚገናኝ መረዳት

አይዲኢውን ከጫኑ በኋላ ያሂዱ እና በኮምፒተርዎ ላይ በማንኛውም ቦታ የሥራ ቦታ ያዘጋጁ (ቅንብሩ Eclipse ን ለመጀመሪያ ጊዜ ከመጠቀም ጋር ተመሳሳይ ነው)። ፕሮግራሙ ሙሉ በሙሉ ሲጀምር የእንኳን ደህና መጣችሁ ገጽን ጠቅ ያድርጉ እና 'ፋይል -> አዲስ -> ምሳሌ…' ላይ ጠቅ ያድርጉ እና ከዚያ ‹ያኪንዱኡ ስቴት አርታኢ ምሳሌዎች› ን ይምረጡ ፣ ትንሽ ይጠብቁ እና ‹የተካተቱ ስርዓቶች -> ዞውይ (ሲ ++) ን ይፈልጉ።)" ለምሳሌ.

አስፈላጊ: 'ጥገኝነት ጫን…' በሚለው በላይኛው ቀኝ ጥግ ላይ ጠቅ ያድርጉ! ስለ ቤተመጽሐፍት ፣ ተሰኪዎች እና የመሳሰሉት እንዳይጨነቁ ይህ ሁሉንም ለእርስዎ ይጭናል። ምሳሌውን ያውርዱ ፣ በ “የተከተቱ ስርዓቶች -> ዞውይ (ሲ ++)” ምሳሌ ውስጥ ያሉትን መመሪያዎች ይከተሉ እና ከዚያ በሚቀጥለው ደረጃ ይቀጥሉ።

ደረጃ 2 ኦቶውን እንዴት ማገናኘት እንደሚቻል መረዳት

ወደ “.sct” ፋይል ይሂዱ እና የስቴቱን ማሽን ወደ እርስዎ ፍላጎት ያርትዑ። በቀኝ በኩል ሁሉም የሚገኙ ዕቃዎች ያሉት ምናሌ አለ። እኛ ፍላጎት ያለን ለክልሎች እና ሽግግሮች ብቻ ነው።

በስዕሉ ውስጥ ፣ እርስዎ አንዳንድ ነገሮችን ወደ ሽግግሮች እንደፃፍኩ ማየት ይችላሉ ፣ ‹ከ ‹X›› በኋላ ቆንጆ ገላጭ ነው እና‹ ሁል ጊዜ ›ማለት ማለት ኮዱን ከስቴቱ ከጨረሰ በኋላ ወዲያውኑ ወደዚያ ይሄዳል ማለት ነው። “መግቢያ /” ማለት ፣ ኮዱ ወደ ግዛቱ ከገባ በኋላ ወዲያውኑ መከናወን አለበት ማለት ነው።

አይዲኢ የስቴቱን ማሽን ወደ ሲ ++ ያጠናቅራል ፣ እሱም አርዱዲኖን የሚያከብር ነው። የኦቶ ባህሪያትን ለመጠቀም ፣ በይነገጹን ለመድረስ እራሳችንን ትንሽ ሥራ መሥራት አለብን።

የሚከተሉት ቁልፍ ቃላት ለስቴቱ ማሽን የሚጠቀሙባቸውን ነገሮች ለመግለጽ ሊያገለግሉ ይችላሉ-

እሴቶችን የሚይዙ እና ሊለወጡ የማይችሉ ቋሚዎች

ተለዋዋጮች ፣ እሴቶችን የሚይዙ እና ሊለወጡ የሚችሉ

ለትግበራ ወደ ምናባዊ ሲ ++ ዘዴዎች የሚመነጩ ሥራዎች

በይነገጽ

const PIN_YL: ኢንቲጀር = 2 const PIN_YR: ኢንቲጀር = 3 const PIN_RL: ኢንቲጀር = 4 const PIN_RR: ኢንቲጀር = 5 const ድምፅ: ኢንቲጀር = 2 const mouth_heart: ኢንቲጀር = 13 const mouth_happy ክፈት: ኢንቲጀር = 11 ክወና zowi_init (YL: ኢንቲጀር, YR: ኢንቲጀር ፣ አርኤል: ኢንቲጀር ፣ አርአር ኢንቲጀር) ክዋኔ zowi_home () ክወና zowi_putMouth (mouthType: ኢንቲጀር) ክወና zowi_sing (ዘፈን ስም ፦ ኢንቲጀር) ክወና zowi_walk (ደረጃዎች: እውነተኛ ፣ ቲ: ኢንቲጀር ፣ ዲር ኢንቲጀር) ክወና zowi_shakeLeg ()

ፕሮ ጠቃሚ ምክር - በሆነ ቦታ ምን እንደሚገቡ ካላወቁ ወይም ስህተት ያለ ይመስላል ፣ እርስዎ ሊገቡበት በሚችሉት ላይ አንዳንድ ፍንጮችን ለማግኘት “ctrl+space” ን ይጫኑ።

በተጨማሪም ፣ ምሳሌዎቹን መመርመር አለብዎት ፣ እነሱ እዚያም አንዳንድ ኮድ አላቸው! እኛ እንደ እኛ የምንፈልገው ብቸኛው ክፍል ሞዴሉን ለማርትዕ እንደ መዋቅር ሊጠቀሙባቸው ይችላሉ።

ደረጃ 3 - ክፍተቶችን መሙላት

ክፍተቶችን መሙላት
ክፍተቶችን መሙላት

በአምሳያው ውስጥ ነገሮችን ከለወጡ በኋላ በ “zowiSCT.sgen -> የኮድ ቅርሶች ፍጠር” ላይ በቀኝ ጠቅ ማድረግ ይችላሉ። ይህ በ C ++ ውስጥ ምናባዊ ተግባራትን ይፈጥራል ፣ እነሱም በስቴቱ ማሽን ውስጥ ወደ “src-gen” አቃፊ የተገለጹትን ፣ ከዚያ እኛ መደበኛ C ++ ን በመጠቀም እንተገብራለን።

ከኦቶ የምንፈልገውን ተግባር ለማግኘት እነዚህን ሁለት ፋይሎች በ “src” አቃፊ ውስጥ ብቻ ይፍጠሩ።

በመጀመሪያ Impl.h

#ifndef SRC_IMPL_H_

#መግለፅ SRC_IMPL_H_ #ን ያካትቱ…./src-gen/ZowiSCT.h class Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); ምናባዊ ~ Impl (); ባዶ zowi_init (sc_integer YL ፣ sc_integer YR ፣ sc_integer RL ፣ sc_integer RR); ባዶ zowi_home (); ባዶ zowi_putMouth (sc_integer mouthType); ባዶነት zowi_sing (sc_integer songName); ባዶ zowi_walk (sc_real ደረጃዎች ፣ sc_integer T ፣ sc_integer dir); ባዶነት zowi_shakeLeg (); }; #ኤንዲፍ / * SRC_IMPL_H_ * /

ከዚያ Impl.cpp

#"Impl.h" ን ያካትቱ

#ያካትቱ "../Zowi/Zowi.h" Zowi zowi = new Zowi (); Impl:: Impl () {} Impl:: ~ Impl () {} ባዶ Impl:: zowi_home () {zowi.home (); } ባዶነት Impl:: zowi_init (sc_integer YL ፣ sc_integer YR ፣ sc_integer RL ፣ sc_integer RR) {zowi.init (YL ፣ YR ፣ RL ፣ RR) ፤ } ባዶነት Impl:: zowi_putMouth (sc_integer mouthType) {zowi.putMouth (mouthType); } ባዶነት Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } ባዶነት Impl:: zowi_walk (sc_real ደረጃዎች ፣ sc_integer T ፣ sc_integer dir) {zowi.walk (ደረጃዎች ፣ ቲ ፣ ዲር) ፤ } ባዶነት Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }

ደረጃ 4 - የኦቶ ዳንስ ማድረግ

በምርትዎ ሲደሰቱ ፣ ከላይ በግራ በኩል ባለው መዶሻ ላይ ጠቅ ያድርጉ እና ሂደቱ እስኪጠናቀቅ ይጠብቁ። ከዚያ ከመዶሻው በስተቀኝ ባለው አረንጓዴ ቀስት ላይ ጠቅ ያድርጉ እና የኦቶ ዳንስዎን ይመልከቱ!

ከፈለጉ ፣ አንዳንድ ሌሎች ምሳሌዎችን ማየት ይችላሉ -ያኪንዱኡ ስቴት ቻርት መሣሪያዎች

የሚመከር: