ዝርዝር ሁኔታ:
ቪዲዮ: አርዱዲኖ እና አውራ ጎማ መቀያየር - 9 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
በዚህ ጽሑፍ ውስጥ በእኛ የአርዱዲኖ ስርዓቶች የግፊት-ጎማ/የአውራ ጣት መቀየሪያ አጠቃቀምን እንመረምራለን። ከ PMD Way የተወሰዱ አንዳንድ ምሳሌዎች እዚህ አሉ።
ደረጃ 1
ለማያውቁት ፣ እያንዳንዱ ማብሪያ / ማጥፊያ አንድ አቀባዊ ክፍል ነው እና የተለያዩ መጠኖችን ለመፍጠር አንድ ላይ ሊገናኙ ይችላሉ። ከዜሮ እስከ ዘጠኝ ድረስ ከቁጥሮች ለመምረጥ አዝራሮቹን መጠቀም ይችላሉ። ከመጨመሪያ/መቀነስ አዝራሮች ይልቅ በአውራ ጣትዎ የሚንቀሳቀሱበት መንኮራኩር ያላቸው አማራጮች አሉ።
ከጌጣጌጥ የተጠቃሚ በይነገጾች ቀናት በፊት እነዚህ መቀያየሪያዎች የቁጥር መረጃ ግቤትን ለማቀናበር በጣም ተወዳጅ ዘዴዎች ነበሩ። ሆኖም እነሱ ዛሬም ይገኛሉ ፣ ስለዚህ እንዴት እንደሚሠሩ እና እንዴት እንደምንጠቀምባቸው እንይ። የመቀየሪያው እሴት በሁለትዮሽ ኮድ በአስርዮሽ ወይም ቀጥታ አስርዮሽ በኩል ይገኛል። በ BCD ቅጽ ውስጥ የመቀየሪያውን የኋላ ግምት ውስጥ ያስገቡ።
ደረጃ 2
እኛ በግራ በኩል የጋራ አለን ፣ ከዚያ ለ 1 ፣ ለ 2 ፣ ለ 4 እና ለ 8 እውቂያዎች አንድ የጋራ voltage ልቴጅ (5V ይበሉ) ከተጠቀሙ የመቀየሪያው ዋጋ የሚለካው በ ውስጥ ያሉትን የእውቂያዎች እሴቶችን በማከል ነው። ከፍተኛ ሁኔታ። ለምሳሌ ፣ 3 ን ከመረጡ - 1 እና 2 እውቂያዎች በጋራ ቮልቴጅ ላይ ይሆናሉ። በዜሮ እና በዘጠኝ መካከል ያሉት እሴቶች በሰንጠረ in ውስጥ እንደዚያ ሊወከሉ ይችላሉ።
ደረጃ 3
አሁን የመቀየሪያውን ዋጋ ማንበብ ቀላል እንደሚሆን መገንዘብ አለብዎት - እና ልክ ነዎት ፣ ልክ ነው። 5V ን ከተለመደው ፣ ከአርዲኖ ቦርዶቻችን ዲጂታል ግብዓት ካስማዎች ጋር ማገናኘት እንችላለን ፣ ከዚያ የእያንዳንዱን ውፅዓት ዋጋ ለመወሰን digitalRead () ይጠቀሙ። በስዕሉ ውስጥ የ BCD እሴትን ወደ አስርዮሽ ቁጥር ለመለወጥ አንዳንድ መሠረታዊ ሂሳብን እንጠቀማለን። ስለዚህ አሁን ያንን እናድርግ።
ከሃርድዌር እይታ ፣ አንድ ተጨማሪ ነገር ግምት ውስጥ ማስገባት አለብን-የግፊት-ጎማ መቀየሪያ እንደ አራት የተለመዱ ክፍት የግፊት ቁልፎች በኤሌክትሪክ ይሠራል። ይህ ማለት በከፍተኛ እና በዝቅተኛ ግዛቶች መካከል ግልፅ ልዩነት እንዲኖረን ወደ ታች የሚጎትቱ መቆጣጠሪያዎችን መጠቀም አለብን ማለት ነው። ስለዚህ የአንድ መቀየሪያ ዘዴ ከላይ እንደተመለከተው ነው።
ደረጃ 4
አሁን 1 ፣ 2 ፣ 4 እና 8 የተሰየሙትን ውጤቶች (ለምሳሌ) ከዲጂታል ፒን 8 ፣ 9 ፣ 10 እና 11 ጋር ማገናኘት ቀላል ጉዳይ ነው። በመቀጠል ግብዓቶችን ማንበብ እና የ BCD ውጤትን ወደ አስርዮሽ መለወጥ የሚችል ረቂቅ ሊኖረን ይገባል። የሚከተለውን ንድፍ ግምት ውስጥ ያስገቡ-
/ * የ SAA1064 የቁጥር ማሳያ ጋሻ ይጠቀማል https://www.gravitech.us/7segmentshield.html የ SAA1064 ጋሻ ከሌለዎት ተከታታይ ማሳያ ይጠቀማል */ #"Wire.h" #መግለፅ q1 8 #መለየት q2 9 # q4 10 #መግለፅ q8 11 ባዶ ማዘጋጀት () {Serial.begin (9600); Wire.begin (); // i2c አውቶቡስን ይቀላቀሉ (አድራሻ ለጌታ አማራጭ) መዘግየት (500); pinMode (q1 ፣ ግቤት); // አውራ ጎማ '1' ፒን ሞዶ (q2 ፣ ግቤት); // አውራ ጎማ '2' ፒን ሞዶ (q4 ፣ ግቤት); // አውራ ጎማ '4' ፒን ሞዶ (q8 ፣ ግቤት); // አውራ ጣት '8'} ባዶነት dispSAA1064 (int Count) // ኢንቲጀር 'ቆጠራ' ወደ Gravitech SAA1064 ጋሻ ይልካል {const int lookup [10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D ፣ 0x07 ፣ 0x7F ፣ 0x6F}; int ሺዎች ፣ መቶዎች ፣ አስሮች ፣ መሠረቶች; Wire.begin ማስተላለፊያ (0x38); Wire.write (0); Wire.write (B01000111); Wire.endTransmission (); Wire.begin ማስተላለፊያ (0x38); Wire.write (1); ሺዎች = ቆጠራ/1000; መቶዎች = (ቆጠራ- (ሺዎች*1000))/100; አስሮች = (ቆጠራ-((ሺዎች*1000)+(መቶዎች*100)))/10; መሠረት = ቆጠራ-((ሺዎች*1000)+(መቶዎች*100)+(አስር*10)); Wire.write (ፍለጋ [መሠረት]); Wire.write (ፍለጋ [አስር]); Wire.write (ፍለጋ [መቶዎች]); Wire.write (ፍለጋ [ሺዎች]); Wire.endTransmission (); መዘግየት (10); } int readSwitch () {int total = 0; ከሆነ (digitalRead (q1) == ከፍተኛ) {ጠቅላላ+= 1; } ከሆነ (digitalRead (q2) == ከፍተኛ) {ጠቅላላ+= 2; } ከሆነ (digitalRead (q4) == ከፍተኛ) {ጠቅላላ+= 4; } ከሆነ (digitalRead (q8) == ከፍተኛ) {ጠቅላላ+= 8; } ጠቅላላ መመለስ; } ባዶነት loop () {dispSAA1064 (readSwitch ()); // ጋሻውን ለማሳየት የመቀየሪያ እሴትን ይልካል Serial.println (readSwitch ()); // የመቀየሪያ እሴትን ወደ ተከታታይ ማሳያ ሳጥን ይልካል}
ተግባሩ readSwitch () ቁልፍ ነው። የእያንዳንዱን ማብሪያ ውፅዓት የቁጥር ውክልና በመጨመር የመቀየሪያውን እሴት ያሰላል እና አጠቃላይ ውጤቱን ይመልሳል። ለዚህ ምሳሌ በ NXP SAA1064 ቁጥጥር የሚደረግበትን የቁጥር ማሳያ ጋሻ ተጠቅመናል።
ደረጃ 5
ተግባሩ readSwitch () ቁልፍ ነው። የእያንዳንዱን ማብሪያ ውፅዓት የቁጥር ውክልና በመጨመር የመቀየሪያውን እሴት ያሰላል እና አጠቃላይ ውጤቱን ይመልሳል። ለዚህ ምሳሌ በ NXP SAA1064 ቁጥጥር የሚደረግበትን የቁጥር ማሳያ ጋሻ ተጠቅመናል።
ከሌለዎት ፣ ያ ደህና ነው - ውጤቶቹ እንዲሁ ወደ ተከታታይ ማሳያ ይላካሉ። አሁን ፣ በቪዲዮው ውስጥ በተግባር እናየው።
ደረጃ 6
እሺ ብዙ አይመስልም ፣ ግን የቁጥር መግቢያ ከፈለጉ ብዙ አካላዊ ቦታን ይቆጥባል እና የመግቢያ ትክክለኛ ዘዴን ይሰጣል።
ስለዚህ እዚያ አለዎት። በእውነቱ እነዚህን በፕሮጀክት ውስጥ ይጠቀማሉ? ለአንድ አሃዝ - አዎ። ለአራት? ምናልባት ላይሆን ይችላል-ምናልባት ባለ 12 አሃዝ የቁልፍ ሰሌዳ መጠቀም ቀላል ሊሆን ይችላል። ሀሳብ አለ…
ደረጃ 7 - ብዙ መቀያየሪያዎች
አሁን አራት አሃዞችን እንዴት እንደሚያነቡ እንመረምራለን - እና በሂደቱ ውስጥ እነዚያን ሁሉ ዲጂታል ፒኖች አያባክኑም። በምትኩ ፣ በ I2C አውቶቡስ በኩል የሚገናኝ ማይክሮ ቺፕ MCP23017 16-ቢት ወደብ ማስፋፊያ IC ን እንጠቀማለን። የእያንዳንዱን ማብሪያ/ማጥፊያ ሁኔታ ለማንበብ ልንጠቀምባቸው የምንችላቸው አስራ ስድስት ዲጂታል ግብዓት/ውፅዓት ፒኖች አሉት።
ወደ ፊት ከመራመድዎ በፊት ፣ እባክዎን ለዚህ ጽሑፍ አንዳንድ የታሰበ እውቀት እንደሚያስፈልግ ልብ ይበሉ - I2C አውቶቡስ (ክፍሎች አንድ እና ሁለት) እና MCP23017። በመጀመሪያ የሃርድዌር ግንኙነቶችን እና ከዚያ የአርዱዲኖን ንድፍ እንገልፃለን። ለአንድ ነጠላ የመቀየሪያ ምሳሌ ጥቅም ላይ የዋለውን መርሃግብር ያስታውሱ።
ማብሪያው በቀጥታ ከአርዱዲኖ ጋር ሲገናኝ የመቀየሪያውን ዋጋ ለማወቅ የእያንዳንዱን ፒን ሁኔታ እናነባለን። MCP23017 ን በመጠቀም በትላልቅ መጠን ይህንን እንደገና እናደርጋለን። የማሳያውን ንድፍ ግምት ውስጥ ያስገቡ-
ደረጃ 8
እኛ 16 ፒኖች አሉን ፣ ይህም አራት መቀያየሪያዎችን ለማገናኘት ያስችላል። የእያንዳንዱ መቀየሪያ የጋራ መጠቀሚያዎች አሁንም ከ 5 ቮ ጋር ይገናኛሉ ፣ እና እያንዳንዱ የመቀየሪያ ዕውቂያ አሁንም ለ GND 10k የሚጎትት ወደታች ተከላካይ አለው። ከዚያ 1 ፣ 2 ፣ 4 ፣ 8 አሃዝ አንድ አሃዞችን ከ GPBA0 ~ 3 ጋር እናገናኘዋለን። አሃዝ ሁለት 1 ፣ 2 ፣ 4 ፣ 8 እስከ GPA4 ~ 7; ዲጂት ሶስት 1 ፣ 2 ፣ 4 ፣ 8 ለ GPB0 ~ 3 እና አሃዝ አራት ፣ 1 ፣ 2 ፣ 4 ፣ 8 ለጂፒቢ 4 ~ 7።
አሁን መቀያየሪያዎቹን እንዴት እናነባለን? እነዚያ ሁሉ ሽቦዎች አስቸጋሪ ነው ብለው እንዲያስቡ ሊያደርጉዎት ይችላሉ ፣ ግን ንድፉ በጣም ቀላል ነው። የ GPBA እና B ዋጋን ስናነብ ፣ ለእያንዳንዱ ባንክ አንድ ባይት ይመለሳል ፣ እጅግ በጣም ጉልህ በሆነው መጀመሪያ። እያንዳንዱ አራት ቢት ከተዛማጅ I/O ፒኖች ጋር ከተገናኘው የመቀየሪያ ቅንብር ጋር ይዛመዳል። ለምሳሌ ፣ ለሁለቱም የ IO ባንኮች ውሂቡን ከጠየቅን እና መቀያየሪያዎቹ ወደ 1 2 3 4 ከተዋቀሩ - ባንክ ሀ 0010 0001 ይመለሳል እና ባንክ ለ 0100 0011 ይመለሳል።
እያንዳንዱን አራት ቢት ወደ ተለዋጭ ተለዋዋጭ ለመለያየት አንዳንድ የትንፋሽ አሠራሮችን እንጠቀማለን - ይህም የእያንዳንዱን አሃዝ ዋጋ ያስቀረናል። ለምሳሌ ፣ የመቀየሪያ አራት ዋጋን ለመለየት ፣ ቢትዎቹን ከባንክ ለ እንቀይራለን >> >> 4. ይህ የመቀየሪያ ዋጋን ወደ ውጭ ያወጣል ፣ እና በግራ በኩል ያሉት ባዶ ቢቶች ዜሮ ይሆናሉ።
የመቀየሪያ ሶስት ዋጋን ለመለየት ፣ ድብልቅን በጥቂቱ እንጠቀማለን & - ይህም የመቀየሪያ ሶስት ዋጋን ይተዋል። ምስሉ የሁለትዮሽ መቀየሪያ እሴቶችን መከፋፈል ያሳያል - ጥሬውን GPIOA እና B ባይት እሴቶችን ያሳያል ፣ ከዚያ እያንዳንዱ አሃዝ የሁለትዮሽ እሴት እና የአስርዮሽ እሴት።
ደረጃ 9
ስለዚህ የሰልፉን ንድፍ እንይ -
/ * ምሳሌ 40 ሀ-በ MCP23017 በኩል አራት የግፊት ተሽከርካሪ ቢሲዲ መቀያየሪያዎችን ያንብቡ ፣ በ SAA1064/4 አኃዝ 7-ክፍል LED ማሳያ */// MCP23017 ፒኖች 15 ~ 17 ወደ GND ፣ I2C የአውቶቡስ አድራሻ 0x20 // SAA1064 I2C የአውቶቡስ አድራሻ 0x38 # "Wire.h" // ለ LED ዲጂት ትርጓሜዎች አሃዞች [16] = {63 ፣ 6 ፣ 91 ፣ 79 ፣ 102 ፣ 109 ፣ 125 ፣ 7 ፣ 127 ፣ 111 ፣ 119 ፣ 124 ፣ 57 ፣ 94 ፣ 121 ፣ 113 }; ባይት GPIOA ፣ GPIOB ፣ dig1 ፣ dig2 ፣ dig3 ፣ dig4; ባዶ initSAA1064 () {// ማዋቀር 0x38 Wire.beginTransmission (0x38); Wire.write (0); Wire.write (B01000111); // 12mA ውፅዓት ፣ ምንም አሃዝ ባዶ ያልሆነ Wire.endTransmission (); } ባዶነት ማዋቀር () {Serial.begin (9600); Wire.begin (); // አስጀምር I2C አውቶቡስ initSAA1064 (); } ባዶነት loop () {// የባንክ A Wire.beginTransmission (0x20) ግብዓቶችን ያንብቡ ፤ Wire.write (0x12); Wire.endTransmission (); Wire.requestFrom (0x20, 1); GPIOA = Wire.read (); // ይህ ባይት ለቁጥሮች 1 እና 2 ቁጥሮች የመቀየሪያ መረጃን ይ //ል // የባንክ ቢ Wire.beginTransmission (0x20) ግብዓቶችን ያንብቡ ፤ Wire.write (0x13); Wire.endTransmission (); Wire.requestFrom (0x20, 1); GPIOB = Wire.read (); // ይህ ባይት ለእያንዳንዱ ቁጥሮች // dig1 LHS ፣ dig4 RHS dig4 = GPIOB >> 4 ለቁጥሮች 3 እና 4 // የማውጣት እሴት የመቀየሪያ መረጃን ይ containsል። dig3 = GPIOB & B00001111; dig2 = GPIOA >> 4; dig1 = GPIOA & B00001111; // ሁሉንም GPIO እና የግለሰብ መቀየሪያ መረጃን ወደ ተከታታይ ማሳያ መላክ // ለማረም እና ለፍላጎት Serial.print (“GPIOA =”); Serial.println (GPIOA ፣ BIN); Serial.print ("GPIOB ="); Serial.println (GPIOB ፣ BIN); Serial.println (); Serial.print ("አሃዝ 1 ="); Serial.println (dig1 ፣ BIN); Serial.print ("አሃዝ 2 ="); Serial.println (dig2 ፣ BIN); Serial.print ("አሃዝ 3 ="); Serial.println (dig3, BIN); Serial.print ("አሃዝ 4 ="); Serial.println (dig4 ፣ BIN); Serial.println (); Serial.print ("አሃዝ 1 ="); Serial.println (dig1 ፣ DEC); Serial.print ("አሃዝ 2 ="); Serial.println (dig2, DEC); Serial.print ("አሃዝ 3 ="); Serial.println (dig3, DEC); Serial.print ("አሃዝ 4 ="); Serial.println (dig4, DEC); Serial.println (); // በ SAA1064 Wire.beginTransmission (0x38) በኩል ወደ LED ማሳያ የመቀየሪያ እሴት ይላኩ ፤ Wire.write (1); Wire.write (አሃዞች [dig4]); Wire.write (አሃዞች [dig3]); Wire.write (አሃዞች [dig2]); Wire.write (አሃዞች [dig1]); Wire.endTransmission (); መዘግየት (10); መዘግየት (1000); }
እና ለማያምኑ … የቪዲዮ ማሳያ።
ስለዚህ እዚያ አለዎት። ከአንድ ይልቅ አራት አሃዞች ፣ እና አርዱዲኖ ዲጂታል I/O ፒኖችን በሚጠብቀው I2C አውቶቡስ ላይ። ስምንት MCP23017 ን በመጠቀም በአንድ ጊዜ 32 አሃዞችን ማንበብ ይችላሉ። ያንን በማድረግ ይደሰቱ!
በዓለም ዙሪያ ነፃ መላኪያ ካለው ከ PMD Way ሁለቱንም BCD እና የአስርዮሽ መቀየሪያዎችን በተለያዩ መጠኖች ማዘዝ ይችላሉ።
ይህ ልጥፍ በ pmdway.com ወደ እርስዎ አምጥቷል - ሁሉም ነገር ለአዘጋጆች እና ለኤሌክትሮኒክስ አፍቃሪዎች ፣ በዓለም አቀፍ ነፃ መላኪያ።
የሚመከር:
መቀያየር መጫወቻን አስማሚ - የዎልቮል ባቡር የተሰራ መቀየሪያ ተደራሽ ነው !: 7 ደረጃዎች
መለወጫ መጫወቻን አስማምተው: - የቮልቮል ባቡር የተሰራ መቀየሪያ ተደራሽ ነው !: የመጫወቻ መላመድ ውስን የሞተር ችሎታዎች ወይም የእድገት እክል ያለባቸው ልጆች በተናጠል ከአሻንጉሊቶች ጋር እንዲገናኙ አዲስ መንገዶችን እና ብጁ መፍትሄዎችን ይከፍታል። በብዙ አጋጣሚዎች ፣ የተጣጣሙ መጫወቻዎችን የሚጠይቁ ልጆች ወደ ውስጥ መግባት አይችሉም
አስደንጋጭ አውራ ጣት ትግል - የመብራት አውራ ጣት ድል (ቪኦኤ ኤል) 6 ደረጃዎች
አስደንጋጭ የአውራ ጣት ትግል - የመብራት አውራ ጣቱ ድል (V.O.L.T.): Dit apparaat geeft duimpje የባሰ እየሄደ ነው። Daarnaast telt het apparaat zelf af tot 3, zodat je nooit meer vals kan spelen
የብሉቱዝ ማጉያ በራስ-መቀያየር -3 ደረጃዎች
የብሉቱዝ ማጉያ በራስ-መቀያየር-በፊቴ ክፍል ውስጥ ፣ አንዳንድ ትልቅ ድምጽ ማጉያዎች እና ከቴሌቪዥንዬ ጋር የተገናኘ ማጉያ አለኝ። ሆኖም አንዳንድ ጊዜ ፣ ቴሌቪዥኑ እንዲበራ አልፈልግም ፣ እና ትልቁን ግራ የሚያጋባ ማጉያ አልፈልግም - እኔ ብቻ ማብራት እና መቆጣጠር የምችልበትን አንዳንድ የጀርባ ሙዚቃን ፣ ስልኬን አጥፍቼ እፈልጋለሁ።
220V እስከ 24V 15A የኃይል አቅርቦት - የኃይል አቅርቦት መቀያየር - IR2153: 8 ደረጃዎች
220V እስከ 24V 15A የኃይል አቅርቦት | የኃይል አቅርቦት መቀያየር | IR2153: ሰላም ወንድ ዛሬ ከ 220 ቮ እስከ 24 ቮ 15 ኤ የኃይል አቅርቦት እንሰራለን | የኃይል አቅርቦት መቀያየር | IR2153 ከ ATX የኃይል አቅርቦት
የወለል መቀያየር / ማትስ: 11 ደረጃዎች (ከስዕሎች ጋር)
የወለል መቀያየር / ማትስ - በዚህ መመሪያ ውስጥ ለመጫን የወለል መቀያየሪያዎችን እንዴት እንደሠራሁ እሸፍናለሁ። የወለል መቀያየሪያዎችን እንዴት መሥራት እንደሚቻል ብዙ አስገራሚ አጋዥ ሥልጠናዎች አሉ ፣ ግን እኔ ሞከርኩ እና በተቻለ መጠን ሞዱል ፣ ርካሽ ፣ ሊተካ የሚችል ፣ የሚታጠብ ለማድረግ ፈለግሁ