ዝርዝር ሁኔታ:

አርዱዲኖ ኤችዲኤም የስቴት ማሽኖችን በመጠቀም 9 ደረጃዎች
አርዱዲኖ ኤችዲኤም የስቴት ማሽኖችን በመጠቀም 9 ደረጃዎች

ቪዲዮ: አርዱዲኖ ኤችዲኤም የስቴት ማሽኖችን በመጠቀም 9 ደረጃዎች

ቪዲዮ: አርዱዲኖ ኤችዲኤም የስቴት ማሽኖችን በመጠቀም 9 ደረጃዎች
ቪዲዮ: የአርዱብሎክ መተግበሪያን በመጫን ላይ 2024, ህዳር
Anonim
አርዱዲኖ ኤችዲኤም የስቴት ማሽኖችን በመጠቀም
አርዱዲኖ ኤችዲኤም የስቴት ማሽኖችን በመጠቀም

በዚህ አስተማሪ ውስጥ ፣ ለአርዱዲኖ 16x2 LCD የቁልፍ ሰሌዳ ጋሻ በመጠቀም ቀላል እና ሊሰፋ የሚችል ኤችኤምአይ ለመገንዘብ YAKINDU Statechart Tools ን እንዴት እንደሚጠቀሙ አሳያችኋለሁ።

ውስብስብ የሰው ማሽኖች በይነገጽ (ኤችኤምአይ) ለማዳበር የፊንቴድ ስቴት ማሽኖች (ኤፍኤስኤም) ኃይለኛ የንድፍ ንድፍ ናቸው። የኤችኤምአይ ተግባር ሊጨምር ስለሚችል እንደ የስቴት ማሽኖች የንድፍ ንድፍን መጠቀም ጠቃሚ ነው።

የተሟላ ምሳሌው በ YAKINDU Statechart Tools ውስጥ ተካትቷል። በተጨማሪም ፣ የ Eclipse C ++ IDE ለ Arduino Plugin በ IDE ውስጥ ለማጠናቀር እና ለመብረቅ ጥቅም ላይ ውሏል።

የ YAKINDU ግዛት ገበታ መሣሪያዎች አጭር ማጠቃለያ

በዚህ መሣሪያ ግራፊክ ግዛት ማሽኖችን መፍጠር ይቻላል። ተጠቃሚው ሲ ፣ ሲ ++ ወይም የጃቫ ኮድ ከስቴቱ ማሽን እንዲያመነጭ ያስችለዋል። በዚህ አቀራረብ ፣ ሞዴሉ ሊቀየር ወይም ሊሰፋ ይችላል እና ተጠቃሚው በቀላሉ ኮዱን እንደገና ማመንጨት ይችላል እና ግልፅ የምንጭ ኮድ መጻፍ አያስፈልገውም።

አቅርቦቶች

ክፍሎች ፦

  • አርዱዲኖ (ኡኖ ፣ ሜጋ)
  • የዩኤስቢ ገመድ
  • 16x2 ኤልሲዲ የቁልፍ ሰሌዳ መከለያ

መሣሪያዎች ፦

  • የያኪንዱ ግዛት ገበታ መሣሪያዎች
  • ግርዶሽ ሲ ++ አይዲኢ ለአርዱዲኖ

ደረጃ 1 - ሃርድዌር

Image
Image

ኤልሲዲ የቁልፍ ሰሌዳ መከለያ በቀላሉ በአርዱዲኖ ውስጥ ሊሰካ ይችላል። እሱ 16x2 ኤልሲዲ ማሳያ አለው እና በተጨማሪ ስድስት የግፊት ቁልፎችን አግኝቷል-

  • ግራ
  • ቀኝ
  • ወደ ላይ
  • ታች
  • ይምረጡ
  • (ዳግም አስጀምር)

በግልጽ እንደሚታየው ከእነዚህ ውስጥ አምስቱ ጥቅም ላይ ሊውሉ ይችላሉ። ቁልፎቹ በቮልቴጅ መከፋፈያ ተገናኝተው በቮልቴጅ ላይ በመመስረት ፒን A0 ን በመጠቀም ተገኝተዋል። እነሱን በትክክል ለመለየት ሶፍትዌሮችን ተጠቅሜያለሁ።

ደረጃ 2 - እንዴት መሥራት እንዳለበት ይግለጹ

የኤችኤምአይ ቁጥጥር
የኤችኤምአይ ቁጥጥር

ማመልከቻው ሦስት ነገሮችን የማድረግ ችሎታ ሊኖረው ይገባል።

  1. ግዛቶችን እዚህ እይዛለሁ በአምስት ግዛቶች መካከል ለመጓዝ ቁልፎቹን መጠቀም እፈልጋለሁ - የላይኛው ፣ መካከለኛ ፣ ታች ፣ ግራ እና ቀኝ
  2. የሩጫ ሰዓት - ሊጀመር ፣ ሊቆም እና ሊጀመር የሚችል ቀላል የሩጫ ሰዓት። በየ 100 ሚሊሰከንዶች መጨመር አለበት
  3. ሦስተኛው ክፍል ቀላል/ታች ቆጣሪ ይ containsል። እሱ አዎንታዊ ቁጥሮችን መቁጠር መቻል አለበት እና እንደገና እንዲቋቋም መደረግ አለበት

ገባሪ ምናሌ (ወይም ግዛቱ) በላይኛው መስመር ላይ በ 16x2 ኤልሲዲ ላይ ይታያል። ማመልከቻው (ግዛት ፣ ሰዓት ቆጣሪ ወይም ቆጣሪ) በታችኛው መስመር ላይ ይታያል። ለአሰሳ ፣ የግራ እና የቀኝ የግፊት ቁልፍ ጥቅም ላይ መዋል አለበት።

ደረጃ 3 የስቴቱ ማሽንን ማገናኘት

አዝራሮቹ ተስተካክለው ከስቴቱ ማሽን ጋር ይገናኛሉ። በስቴቱ ማሽን ውስጥ እንደ ዝግጅቶች ጥቅም ላይ ሊውሉ ይችላሉ። በተጨማሪም ፣ የአሁኑን ምናሌ ለማሳየት አሠራሮች ይገለፃሉ። እና ቢያንስ ሁለት ተለዋዋጮች ፣ አንደኛው ለጊዜ ቆጣሪ እና አንዱ ለቆጣሪው ይገለፃሉ።

በይነገጽ

// አዝራሮች እንደ ግብዓት ክስተቶች በቀጥታ በክስተት ውስጥ በክስተት ውስጥ በዝግጅት ላይ በክስተት ወደ ላይ በዝግጅት ላይ በክስተት ውስጥ በዝግጅት ውስጥ ይምረጡ/ ይምረጡ/ አሳይ HMI የተወሰኑ እሴቶች የአሠራር ማሳያ LCDString (እሴት ፦ ሕብረቁምፊ ፣ ርዝመት ፦ ኢንቲጀር ፣ አቀማመጥ ፦ ኢንቲጀር) የአሠራር ማሳያ LCDInteger (እሴት ፦ ኢንቲጀር ፣ አቀማመጥ: ኢንቲጀር) ክወና ግልጽ LCDRow (አቀማመጥ: ኢንቲጀር) ውስጣዊ: // ተለዋዋጮች ለማከማቻ var cnt: ኢንቲጀር var ጊዜCnt: ኢንቲጀር = 0

የ C ++ ኮዱን ከፈጠሩ በኋላ በክስተቶች ውስጥ የተካተቱ እና ወደ በይነገጽ መገናኘት አለባቸው። የዚህ ኮድ ቅንጥብ ይህንን እንዴት ማድረግ እንደሚቻል ያሳያል።

በመጀመሪያ ፣ ቁልፎቹ ይገለፃሉ-

#ማንም የለም 0 #ይምረጡ 1 ን ይግለጹ 1 #ግራን 2 ይግለጹ #ወደታች ይግለጹ 3 #ይግለጹ 4 #ትክክለኛውን ቀኝ 5 ይግለጹ

ከዚያ አዝራሩን ለማንበብ የተገለጸ ተግባር አለ። በ LCD Shield አምራች ላይ በመመስረት እሴቶቹ ሊለያዩ ይችላሉ።

static int readButton () {int result = 0; ውጤት = analogRead (0); (ውጤት <50) ከሆነ {RIGHT ይመለሱ ፤ } ከሆነ (ውጤት <150) {ተመለስ; } ከሆነ (ውጤት <300) {ወደታች ይመለሱ ፤ } ከሆነ (ውጤት <550) {ተመላሽ LEFT; } ከሆነ (ውጤት <850) {ይምረጡ ይመረጡ; } ምንም የለም መመለስ ፤ }

በመጨረሻ ፣ ቁልፎቹ ይወገዳሉ። በ 80 ሚሴ ጥሩ ውጤት አገኘሁ። አንዴ አንድ አዝራር ከተለቀቀ በኋላ በክስተቱ መሠረት መሠረት ያነሳል።

int oldState = NONE ፤ የማይንቀሳቀስ ባዶ ክፍተቶች () {int buttonPressed = readButton (); መዘግየት (80); oldState = buttonPressed; ከሆነ (አሮጌው ግዛት! ሰበር; } ጉዳይ LEFT ፦ {stateMachine-> rise_left (); ሰበር; } መያዣ ወደታች: {stateMachine-> rise_down (); ሰበር; } case UP: {stateMachine-> rise_up (); ሰበር; } ጉዳይ RIGHT ፦ {stateMachine-> rise_right (); ሰበር; } ነባሪ ፦ {break; }}}}

ደረጃ 4 - የኤችኤምአይ ቁጥጥር

እያንዳንዱ ግዛት ለምናሌው አንድ ክፍል ያገለግላል። ንዑስ ግዛቶች አሉ ፣ ማመልከቻው - ለምሳሌ የሩጫ ሰዓት - የሚፈጸምበት።

በዚህ ንድፍ ፣ በይነገጹ በቀላሉ ሊሰፋ ይችላል። ተመሳሳዩን ንድፍ ንድፍ በመጠቀም ተጨማሪ ምናሌዎች በቀላሉ ሊታከሉ ይችላሉ። የአንድ ዳሳሽ እሴት ማንበብ እና በአራተኛው ምናሌ ንጥል ውስጥ ማሳየት ትልቅ ጉዳይ አይደለም።

ለአሁን ፣ እንደ መቆጣጠሪያ ሆኖ የሚያገለግለው ግራ እና ቀኝ ብቻ ነው። ግን ወደ ላይ እና ወደ ታች በዋናው ምናሌ ውስጥ እንደ የአሰሳ ቅጥያ ሊያገለግል ይችላል። አንድ የተወሰነ የምናሌ ንጥል ለማስገባት የተመረጠው አዝራር ብቻ ጥቅም ላይ ይውላል።

ደረጃ 5 - ግዛቶችን ይያዙ

ግዛቶችን ይያዙ
ግዛቶችን ይያዙ

የእጀታው ግዛቶች ምናሌ እንደ የአሰሳ ተጨማሪ ምሳሌ ብቻ ነው የሚያገለግለው። ወደ ላይ ፣ ወደ ታች ፣ ወደ ቀኝ ወይም ወደ ግራ መጠቀም በስቴቶች መካከል መቀያየርን ይፈቅዳል። የአሁኑ ሁኔታ ሁል ጊዜ በ LCD ማሳያ ላይ በሁለተኛው መስመር ላይ ይታተማል።

ደረጃ 6 ፦ የሩጫ ሰዓት

የሩጫ ሰዓት
የሩጫ ሰዓት

የሩጫ ሰዓቱ በጣም ቀላል ነው። መጀመሪያ ላይ የሰዓት ቆጣሪ እሴቱ ዳግም ይጀመራል። የሰዓት ቆጣሪውን የግራ አዝራርን በመጠቀም መጀመር እና በግራ እና በቀኝ በመጠቀም መቀያየር ይቻላል። ወደላይ ወይም ወደ ታች መጠቀም ሰዓት ቆጣሪውን ዳግም ያስጀምረዋል። የሰዓት ቆጣሪው የመምረጫ ቁልፍን ሁለት ጊዜ በመጠቀም ወደ ዜሮ ሊመለስ ይችላል - ምናሌውን ትቶ እንደገና በመግባት ፣ ሰዓት ቆጣሪው መጀመሪያ ወደ የሩጫ ሰዓት በመግባት ወደ ዜሮ ስለሚቀናበር።

ደረጃ 7: ቆጣሪ

ቆጣሪ
ቆጣሪ

ቢያንስ ፣ የተተገበረ ቆጣሪ አለ። ወደ ቆጣሪው ሁኔታ መግባት ቆጣሪውን እንደገና ያስጀምረዋል። ከተመረጠው አዝራር በስተቀር ማንኛውንም የግፊት ቁልፍን በመጠቀም ሊጀመር ይችላል። እሱ እንደ ቀላል ወደ ላይ/ታች ቆጣሪ ሆኖ ተተግብሯል ፣ ይህም ዋጋው ከ 0 በታች ሊሆን አይችልም።

ደረጃ 8 - ማስመሰል

ደረጃ 9: ምሳሌውን ያግኙ

አይዲኢውን እዚህ ማውረድ ይችላሉ -ያኪንዱኡ ስቴት ቻርት መሣሪያዎች

አንዴ IDE ን ካወረዱ በኋላ ምሳሌውን በፋይል -> ኤን -> ምሳሌ በኩል ያገኛሉ

ለትርፍ ጊዜ ማሳለፊያዎች ለመጠቀም ነፃ ነው ፣ ግን እርስዎም የ 30 ቀናት ሙከራን መጠቀም ይችላሉ።

የሚመከር: