ዝርዝር ሁኔታ:

ሊሠራ የሚችል የቁልፍ ሰሌዳ 5 ደረጃዎች (ከስዕሎች ጋር)
ሊሠራ የሚችል የቁልፍ ሰሌዳ 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ሊሠራ የሚችል የቁልፍ ሰሌዳ 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: ሊሠራ የሚችል የቁልፍ ሰሌዳ 5 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ጥሩ ነገሮችን እንዴት መሳብ እንደሚቻል. ኦዲዮ መጽሐፍ 2024, ሀምሌ
Anonim
ሊሠራ የሚችል የቁልፍ ሰሌዳ
ሊሠራ የሚችል የቁልፍ ሰሌዳ
ሊሠራ የሚችል የቁልፍ ሰሌዳ
ሊሠራ የሚችል የቁልፍ ሰሌዳ

በዚህ ፕሮጀክት ውስጥ በጣም ያገለገሉ የቁልፍ ሰሌዳ አቋራጮችን ፣ አፕሊኬሽኖችን እና ሌሎችንም በካርታ ለመሳል በአንፃራዊነት ቀላል እና ርካሽ የፕሮግራም ቁልፍ ሰሌዳ እንዴት እንደሚሠራ አሳያለሁ።

ይህ የቁልፍ ሰሌዳ በሁሉም ዋና ስርዓተ ክወና ውስጥ እንደ ቁልፍ ሰሌዳ ተገኝቷል ፣ ምንም ተጨማሪ አሽከርካሪዎች አያስፈልጉም።

አቅርቦቶች

  • ሮታሪ ኢንኮደር።
  • ብዙ (እንደ ፍላጎቶችዎ ይወሰናል) የግፊት አዝራሮች።
  • አርዱዲኖ ፕሮ ማይክሮ ፣ አርዱዲኖ ሊዮናርዶ ወይም ከ Atmega32U4 MCU ጋር ማንኛውም ሌላ የዲቦርድ ቦርድ።
  • ሽቦ ፣ ብየዳ ፣ ብየዳ ብረት ፣ ወዘተ.
  • (ከተፈለገ) የቁልፍ ሰሌዳውን እንዳይንሸራተት አንዳንድ ከባድ መሠረት ፣ እኔ የድሮ 3.5 ኢንች ኤችዲዲ እየተጠቀምኩ ነው

ደረጃ 1 የኤሌክትሪክ ዑደት

የኤሌክትሪክ ዑደት
የኤሌክትሪክ ዑደት

18 የሚያገለግሉ ዲጂታል ፒኖች ካለው Atmega32U4 MCU ጋር Arduino Pro Micro dev board ን ለመጠቀም መርጫለሁ።

የግፊት አዝራሮችን እና የ rotary ኢንኮደርን ለማገናኘት ፒኖቹ ምንም ልዩ ትዕዛዝ ሳይኖራቸው ተመርጠዋል ፣ ግን አንዳንድ ነገሮች ልብ ሊባሉ ይገባል

  1. ሁሉም የዲጂታል ንባብ ችሎታ ያላቸው ፒኖች ውጫዊ መጎተቻ መቆጣጠሪያዎችን ለማቃለል የሚያስችል ውስጣዊ መጎተቻዎች አሏቸው። የግፊት አዝራሮች ሲጫኑ የፒን ሁኔታ ከዝቅተኛ ወደ ከፍተኛ እንደሚሄድ ስለሚጠብቅ ኮዱ በዚህ መሠረት መዘመን አለበት።
  2. በ encoder.h ቤተ -መጽሐፍት ምሳሌ ውስጥ ከ MCU ጋር የተገናኙ ሁለቱም ፒኖች አቅም ያላቸው ፒኖችን ሲያቋርጡ የኢኮዲደርው ምርጥ አፈፃፀም መድረሱን ጠቅሷል። አብዛኛዎቹ የአትሜጋ 32 ዩ 4 የአናሎግ ፒኖች የማቋረጥ ችሎታ የላቸውም።
  3. ትክክለኛ የመጎተት ተቃዋሚ እሴቶች ብዙም አስፈላጊ አይደሉም ፣ ከ 1 kΩ እስከ 100 kΩ የሆነ ማንኛውም ነገር በጥሩ ሁኔታ ይሠራል። ትላልቅ የመቋቋም እሴቶች አነስተኛ የኃይል መበታተን ይፈቅዳሉ ነገር ግን ለ voltage ልቴጅ ለውጦች ዘገምተኛ የፒን ምላሽ ያስከትላል። እርስዎ ያለዎትን ማንኛውንም የእሴት ተቃዋሚዎች ይምረጡ።
  4. በመገናኛ መልበስ እና በመቧጨር ምክንያት ሜካኒካል ኢንኮደሮች በጣም አስተማማኝ ነገሮች አይደሉም። ለዚህ ነው ጥሩ የማውረድ መፍትሔ የሚያስፈልገው። የእኔ የመረጥኩት የካፒታተር እሴቶች እና በኮድ ውስጥ የመዘግየት ጊዜዎች ምናልባት ለእርስዎ ጥሩ ውጤቶችን አይሰጡም። ስለዚህ ትንሽ ሙከራ ያስፈልጋል። ወይም እንደ ኦፕቲካል ኢንኮደር ወደ አንድ ነገር ይቀይሩ ፣ ግን ዋጋው በከፍተኛ ሁኔታ ከፍ ያለ ነው።

ደረጃ 2 - ስብሰባ

ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ

የቁልፍ ሰሌዳውን በተቻለ መጠን ንፁህ ለማድረግ ፈልጌ ነበር ፣ ስለሆነም ሁሉንም ክፍሎች በፕሮቶታይፕ ቦርድ ጀርባ ላይ ሸጥኩ። በአነስተኛ ማዕዘን ከፍ ብሎ ጥቅም ላይ ከዋለ የቁልፍ ሰሌዳው የበለጠ ergonomic እንደሚሆን አሰብኩ። ለዚህም ነው አርዱዲኖ ፕሮ ማይክሮን በተለየ ሰሌዳ ላይ ሸጥኩ እና ሁሉንም ዲጂታል ፒኖች በሽቦዎች ለመግፋት በሽቦ ያገናኘሁት። በዚህ መንገድ የዩኤስቢ ገመድን ለማገናኘት የበለጠ ምቹ ነው።

ለቁልፍ ሰሌዳ እንደ መሠረት ሆኖ ለመጠቀም አሮጌ 3.5 ኢንችዲዲ (HDD) አግኝቻለሁ ፣ በጣም ከባድ እና በሚሠራበት ጊዜ በጠረጴዛው ላይ የሚንሸራተትን የቦርድ ቅርፅን ይከላከላል (ጸረ-ተንሸራታቾችም እንዲሁ ይረዳሉ)። እንዲሁም የናስ መቆራረጫዎችን የደበድኩበት እና ምቹ የ 3 ሚሜ ሽክርክሪት ቀዳዳዎች አሉት ሰሌዳውን በትንሽ ማእዘን አስተካክሏል።

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

ኮድ የተፃፈው በአርዱዲኖ አይዲኢ ነው። 2 ቤተ -መጽሐፍትን መጫን ያስፈልግዎታል

  • ኢንኮደር በጳውሎስ ስቶፍረገን
  • የቁልፍ ሰሌዳ በአርዱዲኖ

ለ Atmega32U4 ለማጠናቀር እርስዎም የአርዱዲኖ ፕሮ ማይክሮ ቦርድ ፋይልን መጫን ያስፈልግዎታል ፣ ስፓርክfun ን ያንን እንዴት ማድረግ እንደሚቻል ጥሩ አጋዥ ስልጠና አለው።

በቅድሚያ ልብ ሊባል የሚገባው ነገር በኮድዎ ውስጥ “የተጫኑ ቁልፎችን” ላለመተው መጠንቀቅ ነው። ይህ በእኔ ላይ ሆነ እና MCU አንዳንድ ቁልፍ የፕሬስ ጥምርን በየጊዜው አይፈለጌ መልዕክት ያደርግ ነበር። ይህንን እንዴት ማስተካከል እንደሚቻል የማውቀው ብቸኛው መንገድ የማስነሻ ጫerውን ወደ MCU እንደገና ማቃጠል ነው። እንደ እኔ ከጨረሱ ፣ ቡት ጫ loadን ለማቃጠል ይህንን መመሪያ መከተል ይችላሉ ፣ እንደ ፕሮግራም አውጪ ለመጠቀም ሌላ የአሩዲኖ ሰሌዳ ያስፈልግዎታል።

በዋናው ሉፕ ውስጥ MCU እያንዳንዱን የግፊት አዝራር ሁኔታ መጀመሪያ ያነባል ፣ የስቴት ለውጥ ከ LOW ወደ HIGH ከተገኘ ፣ የቁልፍ ሰሌዳ_አጭር (i) ተግባር ይፈጸማል። ተለዋዋጭ እኔ የተጫነው አዝራር መታወቂያ ነው ፣ አጠቃላይ የግፋ አዝራር ቁጥር በ ALL_BUTTONS (በእኔ ሁኔታ 15) ይገለጻል። ሲተገበር ፣ የቁልፍ ሰሌዳ_አጫጭር (i) CTRL+SHIFT ን እና ከዚያም ወደ አዝራር መታወቂያ የተቀረጸውን ደብዳቤ ይልካል-1-> ሀ ፣ 2-> ቢ ፣ 3-> ሲ ወዘተ. በዊንዶውስ 10 ውስጥ ቀድሞውኑ በነባሪነት (በዚህ ሁኔታ አዲስ አቃፊ ለመፍጠር)። የሁሉም ነባሪ የዊንዶውስ አቋራጮች ዝርዝር እዚህ አለ። ከአጭር መዘግየት በኋላ MCU ሁሉንም ቁልፎች ለመልቀቅ ምልክት ይልካል እና ተግባሩ ወደ ዋናው ዑደት ይመለሳል።

ሁሉም አዝራሮች ምልክት ከተደረገባቸው በኋላ ፣ MCU የ rotary encoder አቀማመጥ ከተለወጠ እና ከተለወጠ የቁልፍ ሰሌዳ_አጭር (i) በልዩ መታወቂያ ይፈጸማል።

የኢኮደር አዝራር ይጫኑ ኢንኮደርተርን ይለውጣል የ ButtonFlag ቡሊያን ተለዋዋጭ። ኢንኮደር በሚሽከረከርበት ጊዜ በማዞሪያ አቅጣጫ እና በኮድ ማስቀመጫ አዝራር ፍላግ እሴት ላይ በመመስረት የተለየ አቋራጭ ወደ ፒሲ ይላካል።

የማረሚያ ፍላግ ወደ 1 አርም መልዕክቶች ከተዋቀረ በ UART በኩል ወደ ተከታታይ ማሳያ ይላካል።

ደረጃ 4: አቋራጮችን በማዋቀር ላይ

አቋራጮችን በማዋቀር ላይ
አቋራጮችን በማዋቀር ላይ
አቋራጮችን በማዋቀር ላይ
አቋራጮችን በማዋቀር ላይ

እያንዳንዱ አቋራጭ የሚሠራው እርስዎም ነዎት ፣ ሁላችንም የተለያዩ ምርጫዎች አሉን። እኔ ለራሴ እንደ ምሳሌ ያዋቀርኳቸውን አቋራጮች እሰጣለሁ። እኔ Linux mint 19.3 ን ከ xfce4 ዴስክቶፕ ሥራ አስኪያጅ ጋር እጠቀማለሁ ፣ ስለዚህ የእኔ ምሳሌዎች በዋናነት የባሽ ስክሪፕቶችን ያካትታሉ ፣ ግን እኔ ለዊንዶውስ 10 አንዳንድ መሠረታዊ ምሳሌዎችን አሳይሻለሁ።

በመጀመሪያው ሥዕል የትኞቹን አቋራጮች ወደ የትኞቹ ስክሪፕቶች እንደቀረጽኩ ማየት ይችላሉ። ከ xfce ቅንብሮች ምናሌ ተከናውኗል ፣ ለዚህ ሂደት በቀጥታ ወደ ፊት ነው። እነዚህን ስክሪፕቶች በእኔ GitHub ማከማቻ ውስጥ ማግኘት ይችላሉ

ከታች ያሉት አነስ ያሉ 6 የግፋ አዝራሮች እንደ የድር አሳሽ ወይም የፋይል አቀናባሪ ያሉ መተግበሪያዎችን ለመጀመር ነው ፣ ከእነዚህ ትግበራዎች አንዳንዶቹ ከ start_only_one_app.sh ስክሪፕት ይጠራሉ ፣ ይህም ሁሉንም የተጀመሩ የመተግበሪያ ስሞችን ያገኛል እና ለመጀመር የሚፈልጉትን መተግበሪያ ይፈልጉ። የትግበራ መስኮት ቀድሞውኑ ካለ እሱ ያተኩራል ፣ ሌላ የመተግበሪያ አዲስ ምሳሌ ተጀምሯል።

ሌሎች ስክሪፕቶች

  • 2nd_display_control.sh - ሁለተኛ ማሳያ አብራ/አጥፋ።
  • moon_lamp.sh - የጨረቃ መብራቴን አብራ/አጥፋ።
  • pc_load.sh - ከአሁኑ ሲፒዩ እና ጂፒዩ አጠቃቀም እና የሙቀት መጠን ጋር የማሳወቂያ አረፋ ይፈጥራል።
  • shutdown.sh - በ 1 ደቂቃ መዘግየት የፒሲ መዘጋትን ያስጀምራል እና ቀሪው ጊዜ የሚታይበትን የማሳወቂያ አረፋ ይፈጥራል።
  • spec_vpn.sh - ከተለየ የ OpenVPN አገልጋይ ጋር ይገናኛል ወይም ግንኙነቱ ቀድሞውኑ ካለ ከአገልጋዩ ይለያል።
  • shortcut_controll.sh - ትዕዛዙን (ሲደመር ፣ ሲቀነስ ፣ ትር ፣ ዝጋ) እንደ ክርክር ይወስዳል ፣ አሁን መስኮቱ ያተኮረበትን እና አንድ የተወሰነ መተግበሪያ ከተገኘ የቁጥጥር እርምጃን ያካሂዳል። ለምሳሌ በታላቅ የጽሑፍ አርታኢ ነባሪ አቋራጭ ውስጥ አዲስ ትር ለመክፈት “CTRL+N” እና በ xfce ተርሚናል - “CTRL+T” ነው ፣ ስለዚህ ይህ ስክሪፕት በተመሳሳይ የግፋ አዝራር በታላቅ እና ተርሚናል ውስጥ አዲስ ትር ለመክፈት ያስችለዋል።

የ rotary encoder የመጀመሪያ ተግባር ድምጽን መቆጣጠር ነው ፣ ሁለተኛው ተግባር በአቋራጭ_controll.sh በኩል ንቁ የመስኮት ማጉላትን መቆጣጠር ነው።

ለዊንዶውስ ስርዓተ ክወና በሁለተኛው ሥዕል ላይ እንደሚታየው በፕሮግራሞች ባህሪዎች መስኮት በኩል ለትግበራዎች አቋራጮችን ካርታ ማድረግ ይችላሉ። ለሌላ ለማንኛውም ነገር AutoHotkey ን መጠቀም ይፈልጋሉ። ለዊንዶውስ አውቶማቲክ ስክሪፕት ቋንቋ ነው።

አንዳንድ ቀላል የ AHK አገባብ ምሳሌዎች

; የድምፅ ቁጥጥር

^+t:: ላክ {Volume_Up}

መመለስ

^+v:: ላክ {Volume_Down}

መመለስ

፤ ንቁ መስኮት ይዝጉ

^+ሸ:: WinGetTitle ፣ ርዕስ ፣ ኤ

PostMessage ፣ 0x112 ፣ 0xF060 ፣ ፣ ፣ %ርዕስ %

መመለስ

፤ መዝጊያ ፒሲ

^+ለ:: መዘጋትን /ሰከንድ ያሂዱ

ደረጃ 5 - ማሻሻያዎች

ማሻሻያዎች
ማሻሻያዎች

አንዳንድ ሊሆኑ የሚችሉ ማሻሻያዎች

  • የተሻለ ጥራት ያላቸው የግፊት አዝራሮች።
  • አዝራሮች በሚጫኑበት ጊዜ የፕሮቶታይፕ ፒሲቢ በጣም ተጣጣፊ ነው።
  • በየትኛው ተግባር ሮታሪ ኢንኮደር እንደተዋቀረ ቀለሙን ለመቀየር የ RGB መብራት።
  • ተጨማሪ አዝራሮች (አይኦ ማስፋፊያ IC ን ይጠቀሙ)።
  • የተሻለ የማሽከርከሪያ መቀየሪያ (ወይም የተሻለ የማስወገጃ መፍትሄ)።

የሚመከር: