ዝርዝር ሁኔታ:
- ደረጃ 1: በውስጠኛው ውስጥ የ Rotary Encoders
- ደረጃ 2 - ለብዙዎች እውነተኛ ሥቃይ የሚያስከትል መከራ
- ደረጃ 3 - የመጨረሻ ግዛት ማሽን (ኤፍኤስኤም) መፍትሄ
- ደረጃ 4: የአርዲኖ ኮድ
- ደረጃ 5 - እንከን የለሽ ውህደት
ቪዲዮ: የተሟላ የአርዱዲኖ ሮታሪ መፍትሄ 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
የሮታሪ ኢንዶክተሮች ለኤሌክትሮኒክ ፕሮጀክቶች የሚዞሩ የቁጥጥር ቁልፎች ናቸው ፣ ብዙውን ጊዜ ከአርዱዲኖ ቤተሰብ ማይክሮ መቆጣጠሪያ ጋር ያገለግላሉ። ግቤቶችን ለማስተካከል ፣ ምናሌዎችን ለማሰስ ፣ ዕቃዎችን በማያ ገጽ ላይ ለማንቀሳቀስ ፣ ማንኛውንም ዓይነት እሴቶችን ለማቀናበር ሊያገለግሉ ይችላሉ። እነሱ ለፖታቲሞሜትሮች የተለመዱ ምትክዎች ናቸው ፣ ምክንያቱም እነሱ በበለጠ በትክክል እና ወሰን ሊሽከረከሩ ስለሚችሉ ፣ በአንድ ጊዜ አንድ ልዩ እሴት ይጨምራሉ ወይም ይቀንሳሉ ፣ እና ብዙውን ጊዜ ለምርጫ ዓይነት ተግባራት በቀላሉ ሊገጣጠም ከሚችል ማብሪያ ጋር ይዋሃዳሉ። እነሱ በሁሉም ቅርጾች እና መጠኖች ይመጣሉ ፣ ግን ዝቅተኛው የዋጋ ክልል ከዚህ በታች እንደተገለፀው ለመገናኘት አስቸጋሪ ነው።
ስለ ሮታሪ ኢንኮደሮች የሥራ ዝርዝሮች እና የአጠቃቀም ሁነታዎች ፣ እና እንዴት ብዙ የናሙና ኮዶች እና ቤተመፃህፍት ስለመጠቀም ስፍር ቁጥር የሌላቸው ጽሑፎች አሉ። ብቸኛው ችግር አንዳቸውም በዝቅተኛ የዋጋ ክልል የቻይና ሮታሪ ሞጁሎች 100% ትክክል አለመሥራታቸው ነው።
ደረጃ 1: በውስጠኛው ውስጥ የ Rotary Encoders
የመቀየሪያው የ rotary ክፍል ሶስት ፒን (እና ለአማራጭ የመቀየሪያ ክፍል ሁለት ተጨማሪ) አለው። አንደኛው የጋራ መሬት (ጥቁር ጂኤንዲ) ፣ ሌላኛው ሁለቱ ጉብታ ሲዞር አቅጣጫን ለመወሰን ነው (እነሱ ብዙውን ጊዜ ሰማያዊ CLK እና ቀይ DT ተብለው ይጠራሉ)። ሁለቱም እነዚህ ከማይክሮ መቆጣጠሪያው የ PULLUP ግቤት ፒን ጋር ተያይዘዋል ፣ ይህም ደረጃውን ከፍ ያለ ነባሪ ንባብ ያደርጋቸዋል። ጉብታ ወደ ፊት (ወይም በሰዓት አቅጣጫ) ሲዞር ፣ መጀመሪያ ሰማያዊው CLK ወደ LOW ደረጃ ዝቅ ይላል ፣ ከዚያ ቀይ DT ይከተላል። ወደ ፊት በማዞር ፣ ሰማያዊ CLK ወደ HIGH ይመለሳል ፣ ከዚያ የተለመደው የ GND ጠጋኝ ሁለቱንም የግንኙነት ካስማዎች ሲተው ፣ ቀይ DT እንዲሁ ወደ ከፍተኛ ይመለሳል። ስለዚህ አንድ ሙሉ ምልክት FWD (ወይም በሰዓት አቅጣጫ) ማጠናቀቅ። ተመሳሳይ ወደ ሌላኛው አቅጣጫ BWD (ወይም በተቃራኒ ሰዓት አቅጣጫ) ይሄዳል ፣ ግን አሁን ቀይ በመጀመሪያ ይወድቃል ፣ እና በሁለቱ ደረጃዎች ምስሎች ላይ እንደሚታየው ሰማያዊ በመጨረሻ ወደ ኋላ ይመለሳል።
ደረጃ 2 - ለብዙዎች እውነተኛ ሥቃይ የሚያስከትል መከራ
ለአርዱዲኖ የትርፍ ጊዜ ማሳለፊያዎች የተለመደ ችግር ፣ ያ ርካሽ የሮታሪ ኢንኮደር ሞጁሎች በውጤት ደረጃዎች ውስጥ ተጨማሪ ለውጦችን የሚጨምሩ ፣ ይህም ተጨማሪ እና የተሳሳተ አቅጣጫ ቆጠራ ንባቦችን ያስከትላል። ይህ እንከን የለሽ ቆጠራን ይከላከላል እና እነዚህን ሞጁሎች ወደ ትክክለኛ የ rotary ፕሮጄክቶች ማዋሃድ የማይቻል ያደርገዋል። እነዚህ ተጨማሪ ዕድገቶች የሚከሰቱት በግንኙነት ካስማዎች ላይ ባሉት ጥገናዎች ሜካኒካዊ እንቅስቃሴዎች ነው ፣ እና ተጨማሪ capacitors ን እንኳን ሙሉ በሙሉ ሊያስወግዷቸው አይችሉም። Bounces በሞላ ዥረት ዑደቶች ውስጥ በማንኛውም ቦታ ሊታይ ይችላል ፣ እና በምስሎቹ ላይ በእውነተኛ የሕይወት ሁኔታዎች ተገልፀዋል።
ደረጃ 3 - የመጨረሻ ግዛት ማሽን (ኤፍኤስኤም) መፍትሄ
ምስሉ ለሁለቱም ፒኖች (ሰማያዊ CLK እና ቀይ DT) ፣ ለሁለቱም ለትክክለኛ እና ለሐሰት ጉርሻዎች ሊሆኑ የሚችሉ የደረጃ ለውጦችን ሙሉ የስቴት ቦታ ያሳያል። በዚህ የስቴት ማሽን ላይ በመመስረት ሁል ጊዜ 100% በትክክል የሚሰራ የተሟላ መፍትሄ በፕሮግራም ሊሰራ ይችላል። በዚህ መፍትሄ ውስጥ የማጣሪያ መዘግየቶች አስፈላጊ ስለሌለ ፣ እሱ ደግሞ በተቻለ ፍጥነት ነው። የፒንሶቹ ግዛት ቦታን ከሥራ ሁኔታ መለየት ሌላው ጥቅም አንድ ሰው ሁለቱንም የምርጫ ወይም ሁነታን ለራሱ ፍላጎት ማመልከት መቻሉ ነው። የድምፅ መስጫ ወይም ማቋረጦች በፒን ላይ የደረጃ ለውጦችን መለየት ይችላሉ እና የተለየ የዕለት ተዕለት ሁኔታ አሁን ባለው ሁኔታ እና በደረጃ ለውጦች ተጨባጭ ክስተቶች ላይ በመመስረት አዲሱን ሁኔታ ያሰላል።
ደረጃ 4: የአርዲኖ ኮድ
ከዚህ በታች ያለው ኮድ በተከታታይ ማሳያ ላይ የ FWD እና BWD መዥገሮችን ይቆጥራል እንዲሁም የአማራጭ የመቀየሪያ ተግባሩን ያዋህዳል።
// ፒተር Cururgay 2019-04-10
// ወደ አርዱዲኖ ወደቦች የተቀረጹ የ rotary ፒኖች
#ገላጭ SW 21 #ገላጭ CLK 22 #ዲቲ 23 ን ይግለጹ
// በ rotary የተስተካከለው የቆጣሪው የአሁኑ እና ቀዳሚው እሴት
int curVal = 0; int prevVal = 0;
// ሰባት የ FSM ግዛቶች (ውሱን የስቴት ማሽን)
#ጥራት IDLE_11 0 #ገላጭ SCLK_01 1 #ገላጭ SCLK_00 2 #ገላጭ SCLK_10 3 #ጥራት SDT_10 4 #ጥራት SDT_00 5 #ጥራት SDT_01 6 int state = IDLE_11;
ባዶነት ማዋቀር () {
Serial.begin (250000); Serial.println ("ጀምር …"); // ደረጃ HIGH ለሁሉም ፒን ፒን ሞዶ (SW ፣ INPUT_PULLUP) ነባሪ ይሆናል። pinMode (CLK ፣ INPUT_PULLUP); pinMode (DT ፣ INPUT_PULLUP); // ሁለቱም CLK እና DT ለሁሉም የደረጃ ለውጦች ዓባሪ መቋረጥ (digitalPinToInterrupt (CLK) ፣ rotaryCLK ፣ CHANGE) ማቋረጦች ያስነሳሉ ፤ አባሪ ማቋረጫ (digitalPinToInterrupt (DT) ፣ rotaryDT ፣ CHANGE); }
ባዶነት loop () {
// (digitalRead (SW) == LOW) {Serial.println ("Pressed") ከሆነ ወደ አንዳንድ የማዞሪያ ኢንኮደሮች የተዋሃደውን የአማራጭ መቀየሪያ አያያዝ ፤ ሳለ (! digitalRead (SW)); } // ማንኛውም (በ curVal! = PrevVal) {Serial.println (curVal) ከሆነ በመቆጣጠሪያ እሴት ላይ ማንኛውም ለውጥ በ Serial Monitor ውስጥ ይታያል። prevVal = curVal; }}
// የስቴት ማሽን ሽግግሮች ለ CLK ደረጃ ለውጦች
ባዶ rotaryCLK () {ከሆነ (digitalRead (CLK) == LOW) {if (state == IDLE_11) state = SCLK_01; ሌላ ከሆነ (ሁኔታ == SCLK_10) ሁኔታ = SCLK_00; ሌላ ከሆነ (ሁኔታ == SDT_10) ሁኔታ = SDT_00; } ሌላ {ከሆነ (ሁኔታ == SCLK_01) ሁኔታ = IDLE_11; ሌላ ከሆነ (ሁኔታ == SCLK_00) ሁኔታ = SCLK_10; ሌላ ከሆነ (ሁኔታ == SDT_00) ሁኔታ = SDT_10; ሌላ ከሆነ (ሁኔታ == SDT_01) {state = IDLE_11; curVal--; }}}
// የስቴት ማሽን ሽግግሮች ለዲቲ ደረጃ ለውጦች
ባዶ rotaryDT () {ከሆነ (digitalRead (DT) == LOW) {if (state == IDLE_11) state = SDT_10; ሌላ ከሆነ (ሁኔታ == SDT_01) ግዛት = SDT_00; ሌላ ከሆነ (ሁኔታ == SCLK_01) ሁኔታ = SCLK_00; } ሌላ {ከሆነ (state == SDT_10) state = IDLE_11; ሌላ ከሆነ (ሁኔታ == SDT_00) ሁኔታ = SDT_01; ሌላ ከሆነ (ሁኔታ == SCLK_00) ሁኔታ = SCLK_01; ሌላ ከሆነ (ሁኔታ == SCLK_10) {state = IDLE_11; curVal ++; }}}
ደረጃ 5 - እንከን የለሽ ውህደት
ከተለያዩ አልፎ አልፎ የሚነሱ ውጤቶች ባላቸው ዝቅተኛ ክልል የ rotary encoder እንኳን የ FSM መፍትሔ በትክክል እና በፍጥነት እንደሚሠራ በተያያዘው ቪዲዮ ውስጥ ማረጋገጥ ይችላሉ።
የሚመከር:
የብርሃን ብክለት መፍትሄ - አርጤምስ 14 ደረጃዎች
የብርሃን ብክለት መፍትሄ - አርጤምስ - የብርሃን ብክለት በዓለም ዙሪያ ሁላችንንም የሚነካ ነገር ነው። አምፖሉ ከተፈለሰፈበት ጊዜ ጀምሮ ብርሃኑ በጣም ታዋቂ እየሆነ መጥቷል እና እንደ ኒው ዮርክ ሲቲ እና ቺካጎ ባሉ ትላልቅ ከተሞች ውስጥ ጥቅም ላይ ውሏል። ይህ ሁሉ ብርሃን ሊወድ ይችላል
SASSIE: ለአስቸጋሪ ዝምታ መፍትሄ እና መስተጋብር ማሻሻያ ስርዓት 5 ደረጃዎች
SASSIE: ለአስቸጋሪ ዝምታ መፍትሄ እና መስተጋብር ማሻሻያ ስርዓት - SASSIE ሁላችንም በሕይወታችን ውስጥ በአንድ ነጥብ ላይ “እኛ በሚቀጥለው ቀጥሎ እናውራ? ደህና ፣ አሁን መጨነቅ አይኖርብዎትም ምክንያቱም SASSIE በተለይ አሰቃቂ ዝምታን ለመለየት የተነደፈ ነው ፣
የ IOT መፍትሄ ለጋራ ብስክሌት 6 ደረጃዎች
IOT መፍትሔ ለጋራ መጋሪያ ብስክሌት - በአሁኑ ጊዜ የማጋሪያ ብስክሌት በቻይና ውስጥ በጣም ታዋቂ ነው። በገበያ ላይ ብስክሌት መጋራት ከ 10 በላይ ብራንዶች አሉ ፣ እና ‹ሞቢክ› ” በጣም ዝነኛ ነው ፣ ከ 100 ሚሊዮን በላይ የተመዘገቡ ተጠቃሚዎች አሉት ፣ እና ወደ ሌሎች ከተሞች ተዛምቷል
የታየ LoRa IoTea መፍትሄ 5 ደረጃዎች
የታየ LoRa IoTea መፍትሄ - በሻይ እርሻ ላይ የተተገበረ አውቶማቲክ የመረጃ አሰባሰብ ስርዓት። የማሰብ ችሎታ ያለው የግብርና መረጃ አሰባሰብ አካል ነው
የአርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሄ 9 ደረጃዎች (ከስዕሎች ጋር)
የአርዱዲኖ ፕሮጀክት የሙከራ ክልል LoRa ሞዱል RF1276 ለጂፒኤስ መከታተያ መፍትሔ - ግንኙነት - ዩኤስቢ - ሲሪያል - የ Chrome አሳሽ ፍላጎት - 1 X አርዱinoኖ ሜጋ ፍላጎት - 1 ኤክስ ጂፒኤስ - 1 ኤክስ ኤስዲ ካርድ ያስፈልጋል - 2 X LoRa ሞደም RF1276 ተግባር - አርዱinoኖ የጂፒኤስ እሴት ይላኩ። ወደ ዋና መሠረት - በ Dataino አገልጋይ ሎራ ሞዱል ውስጥ የዋናው የመደብር ውሂብ - እጅግ በጣም ረጅም ክልል