ዝርዝር ሁኔታ:
ቪዲዮ: አንድ MAX7219 የሚነዳ LED ማትሪክስ 8x8 ን ከ ATtiny85 ማይክሮ መቆጣጠሪያ ጋር እንዴት ማገናኘት እንደሚቻል -7 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
የ MAX7219 ተቆጣጣሪው በማክስም ኢንተግሬትድ የተሰራ ነው ፣ ማይክሮ መቆጣጠሪያዎችን ወደ 64 ነጠላ ኤልኢዲዎች ፣ እስከ 7 አሃዞች ፣ የባር-ግራፍ ማሳያዎች ፣ ወዘተ ድረስ እስከ 7 አሃዞች ፣ የባር-ግራፍ ማሳያዎች ፣ ወዘተ የመሳሰሉትን ማይክሮ መቆጣጠሪያዎችን ሊያገናኝ የሚችል የታመቀ ፣ ተከታታይ ግቤት/ውፅዓት የጋራ ካቶድ ማሳያ ነጂ ነው። -ቺፕ የ BCD ኮድ-ቢ ዲኮደር ፣ ባለ ብዙክስ ቅኝት ወረዳ ፣ ክፍል እና አሃዝ ነጂዎች እና እያንዳንዱ አሃዝ የሚያከማች 8 × 8 የማይንቀሳቀስ ራም ናቸው።
የ MAX7219 ሞጁሎች እንደ ATtiny85 ካሉ ማይክሮ መቆጣጠሪያዎች ጋር ለመጠቀም በጣም ምቹ ናቸው ፣ ወይም በእኛ ሁኔታ የ Tinusaur ቦርድ።
ደረጃ 1 - ሃርድዌር
የ MAX7219 ሞጁሎች ብዙውን ጊዜ እንደዚህ ይመስላሉ። በአንድ በኩል የግብዓት አውቶቡስ አላቸው ፣ በሌላ በኩል ደግሞ የውጤት አውቶቡስ አላቸው። ይህ ይበልጥ የተወሳሰቡ ቅንብሮችን ለመፍጠር 2 ወይም ከዚያ በላይ ሞጁሎችን ማለትም አንድ አንዱን ከሌላው ጋር ለማገናኘት ያስችልዎታል።
እኛ የምንጠቀምባቸው ሞጁሎች 5 ትናንሽ ዝላይዎችን በመጠቀም በሰንሰለት ውስጥ ማገናኘት ይችላሉ። ከታች ያለውን ስዕል ይመልከቱ።
ደረጃ 2 - ጠቋሚ እና ምልክቶች
MAX7219 ሞጁል 5 ፒኖች አሉት
- ቪሲሲ - ኃይል (+)
- GND-መሬት (-)
- ዲን - የውሂብ ግብዓት
- CS - ቺፕ መምረጥ
- CLK - ሰዓት
ያ ማለት ሞጁሉን ለመቆጣጠር በ ATtiny85 ማይክሮ መቆጣጠሪያ ጎን ላይ 3 ፒኖች ያስፈልጉናል ማለት ነው። እነዚያ ይሆናሉ ፦
- PB0 - ከ CLK ጋር ተገናኝቷል
- PB1 - ከሲኤስ ጋር ተገናኝቷል
- PB2 - ከ DIN ጋር ተገናኝቷል
ይህ ከ MAX7219 ሞዱል ጋር ለመገናኘት እና እሱን ለማቀድ በቂ ነው።
ደረጃ 3 ፕሮቶኮል
ከ MAX7219 ጋር መገናኘት በአንፃራዊነት ቀላል ነው - የተመሳሰለ ፕሮቶኮል ይጠቀማል ማለት ለእያንዳንዱ የላክነው የውሂብ ቢት ያንን የውሂብ ቢት መኖሩን የሚያመለክት የሰዓት ዑደት አለ ማለት ነው።
በሌላ አነጋገር ፣ 2 ትይዩ ቅደም ተከተሎችን ወደ ቢት እንልካለን - አንዱ ለሰዓት እና ሌላ ለዳታ። ሶፍትዌሩ የሚያደርገው ይህ ነው።
ደረጃ 4 - ሶፍትዌሩ
ይህ MAX7219 ሞዱል የሚሠራበት መንገድ ይህ ነው
- ወደ ውስጣዊ መዝገቡ ባይት እንጽፋለን።
- MAX7219 ውሂቡን ይተረጉመዋል።
- MAX7219 በማትሪክስ ውስጥ ያሉትን LED ዎች ይቆጣጠራል።
ያ ማለት እነሱን ለማብራት ሁል ጊዜ በኤልዲዎች ድርድር ውስጥ መዞር የለብንም ማለት ነው - MAX7219 ተቆጣጣሪው ያንን ይንከባከባል። እንዲሁም የ LEDs ጥንካሬን ማስተዳደር ይችላል።
ስለዚህ ፣ MAX7219 ሞጁሎችን ምቹ በሆነ መንገድ ለመጠቀም ይህንን ዓላማ ለማገልገል የተግባር ቤተ -መጽሐፍት ያስፈልገናል።
በመጀመሪያ ፣ ለ MAX7219 መመዝገቢያዎች ለመጻፍ አንዳንድ መሠረታዊ ተግባራት ያስፈልጉናል።
- ወደ MAX7219 ባይት መጻፍ።
- አንድ ቃል (2 ባይት) ወደ MAX7219 መጻፍ።
አንድ ባይት ለተቆጣጣሪው የሚጽፈው ተግባር እንደዚህ ይመስላል
ባዶ max7219_byte (uint8_t ውሂብ) {ለ (uint8_t i = 8; i> = 1; i--) {PORTB & = ~ (1 << MAX7219_CLK); // CLK ን ወደ LOW ያቀናብሩ (ውሂብ እና 0x80) // የውሂብ MSB ን ጭምብል PORTB | = (1 << MAX7219_DIN); // ዲአይንን ወደ ከፍተኛ ሌላ PORTB & = ~ (1 << MAX7219_DIN) ያዘጋጁ ፤ // DIN ን ወደ ዝቅተኛ PORTB | = (1 << MAX7219_CLK) ያዘጋጁ ፤ // CLK ን ወደ ከፍተኛ ውሂብ ያቀናብሩ << = 1; // ወደ ግራ ይቀይሩ}}
አሁን ወደ MAX7219 ባይት መላክ ስንችል ትዕዛዞችን መላክ መጀመር እንችላለን። ይህ የሚከናወነው 2 ባይት በመላክ ነው - 1 ኛ ለውስጥ መመዝገቢያ አድራሻ እና 2 ኛ ለመላክ የምንፈልገውን ውሂብ።
በ MAX7219 መቆጣጠሪያ ውስጥ ከአስር በላይ ምዝገባ አለ።
ትዕዛዝ ወይም ቃል መላክ በመሠረቱ 2 ተከታታይ ባይት መላክ ነው። ያንን ተግባራዊ የማድረግ ተግባር በጣም ቀላል ነው።
ባዶ max7219_word (uint8_t አድራሻ ፣ uint8_t ውሂብ) {PORTB & = ~ (1 << MAX7219_CS); // CS ን ወደ LOW max7219_byte (አድራሻ) ያዘጋጁ ፤ // አድራሻውን መላክ max7219_byte (ውሂብ); // ውሂቡን መላክ PORTB | = (1 << MAX7219_CS); // CS ን ወደ ከፍተኛ PORTB & = ~ (1 << MAX7219_CLK) ያዘጋጁ ፤ // CLK ን ወደ LOW ያቀናብሩ}
የሲኤስኤስ ምልክትን ወደ ከፍተኛ የምንመልሰውበትን መስመር እዚህ መገንዘብ አስፈላጊ ነው - ይህ የተከታታይን መጨረሻ ያመለክታል - በዚህ ሁኔታ ፣ የትእዛዙ መጨረሻ። በሰንሰለት ውስጥ የተገናኘውን አንድ ማትሪክስ የበለጠ በሚቆጣጠርበት ጊዜ ተመሳሳይ ዘዴ ጥቅም ላይ ይውላል። ቀጣዩ ደረጃ ፣ ኤልኢዲዎችን ማብራት እና ማጥፋት ከመጀመራችን በፊት የ MAX7219 መቆጣጠሪያውን ማስጀመር ነው። ይህ የሚከናወነው ለተወሰኑ መመዝገቢያዎች የተወሰኑ እሴቶችን በመጻፍ ነው። ለምቾት ፣ ኮድ በሚሰጥበት ጊዜ የመነሻ ቅደም ተከተሉን በአንድ ድርድር ውስጥ ማስቀመጥ እንችላለን።
uint8_t initseq = {0x09, 0x00, // Decode-Mode Register, 00 = 0x0a 0 000, // Intensity Register, 0x00.. 0x0f 0x0b ፣ 0x07 ፣ // ሁሉንም መስመሮች ለማሳየት 0X07 ን ይቃኙ። 0x0c ፣ 0x01 ፣ // የመዝጊያ መዝጊያ ፣ 0x01 = መደበኛ አሠራር 0x0f ፣ 0x00 ፣ // የማሳያ-ሙከራ መዝገብ ፣ 0x00 = መደበኛ ሥራ};
እኛ ከላይ ያሉትን 5 ትዕዛዞችን በቅደም ተከተል እንደ አድራሻ/የውሂብ ጥንዶች መላክ አለብን። ቀጣዩ ደረጃ - የኤልዲዎችን ረድፍ ማብራት።
ይህ በጣም ቀላል ነው - እኛ 1 ኛ ባይት አድራሻው (ከ 0 እስከ 7) እና 2 ኛ ባይት 8 ረድፎችን በተከታታይ 8 ኤልዲዎችን የሚወክልበት አንድ ትእዛዝ እንጽፋለን።
ባዶ max7219_row (uint8_t አድራሻ ፣ uint8_t ውሂብ) {ከሆነ (አድራሻ> = 1 && አድራሻ <= 8) max7219_word (አድራሻ ፣ ውሂብ) ፤ }
ይህ ለ 1 ማትሪክስ ብቻ እንደሚሰራ መገንዘብ አስፈላጊ ነው። ብዙ ማትሪክቶችን በሰንሰለት ውስጥ ካገናኘን ሁሉም ተመሳሳይ ውሂብ ያሳያሉ። ይህ የሆነበት ምክንያት ትዕዛዙን ከላክን በኋላ የሲኤስኤስ ምልክቱን ወደ ከፍተኛ እናመጣለን ፣ ይህም በሰንሰሉ ውስጥ ያሉት ሁሉም MAX7219 ተቆጣጣሪዎች እንዲቆለፉ እና የመጨረሻው ትእዛዝ የነበረበትን እንዲያሳዩ ያደርጋል።
የሚመከር:
አንድ ESP32 ን ከ IoT ደመና ጋር እንዴት ማገናኘት እንደሚቻል -8 ደረጃዎች
አንድ ESP32 ን ከ IoT ደመና ጋር እንዴት ማገናኘት እንደሚቻል - ይህ አስተማሪ እንደ አርዱዲኖ እና ESP8266 ያሉ ደመናን ስለማገናኘት ሃርድዌር በተከታታይ መጣጥፎች ውስጥ ይመጣል። የ ESP32 ቺፕዎን በ AskSensors IoT አገልግሎት እንዴት ከደመናው ጋር እንዲገናኝ ማድረግ እንደሚችሉ ላብራራዎት ነው። ESP32 ለምን? ከትልቁ ስኬት በኋላ
በይነገጽ Atmega16 ማይክሮ መቆጣጠሪያ ከዶት ማትሪክስ መሪ ማሳያ ጋር - 5 ደረጃዎች
Atmega16 Microcontroller ን ከነጥብ ማትሪክስ መሪ ማሳያ ጋር ማገናኘት በዚህ ፕሮጀክት ውስጥ አንድ ነጥብ ማትሪክስ LED ማሳያ ከ AVR (Atmega16) ማይክሮ መቆጣጠሪያ ጋር እንገናኛለን። እዚህ በፕሮቲዩስ ውስጥ ማስመሰል እናሳያለን ፣ በሃርድዌርዎ ውስጥ ተመሳሳይ ነገር ማመልከት ይችላሉ። ስለዚህ እዚህ በመጀመሪያ አንድ ገጸ -ባህሪን እናተምታለን ‹ሀ› እንበል
AVR ማይክሮ መቆጣጠሪያ Fuse ቢት ውቅር። በማይክሮ መቆጣጠሪያ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ ውስጥ የ LED ብልጭ ድርግምተኛ መርሃ ግብር መፍጠር እና መስቀል። 5 ደረጃዎች
AVR ማይክሮ መቆጣጠሪያ Fuse ቢት ውቅር። በማይክሮ መቆጣጠሪያ ተቆጣጣሪው ፍላሽ ማህደረ ትውስታ ውስጥ የ LED ብልጭ ድርግምተኛ መርሃ ግብር መፍጠር እና መስቀል የ Atmel ስቱዲዮን እንደ የተቀናጀ የልማት መድረክ በመጠቀም የራሳችንን ፕሮግራም እንጽፋለን እና የሄክሱን ፋይል እናጠናቅቃለን። እኛ ፊውዝ bi ን እናዋቅራለን
የነጥብ ማትሪክስ የ LED ማሳያ በይነገጽ ከ 8051 ማይክሮ መቆጣጠሪያ ጋር - 5 ደረጃዎች
የነጥብ ማትሪክስ LED ማሳያ በይነገጽ ከ 8051 ማይክሮ መቆጣጠሪያ ጋር - በዚህ ፕሮጀክት ውስጥ አንድ ነጥብ ማትሪክስ ኤልኢዲ ማሳያ ከ 8051 ማይክሮ መቆጣጠሪያ ጋር እንገናኛለን። እዚህ በፕሮቲዩስ ውስጥ ማስመሰል እናሳያለን ፣ በሃርድዌርዎ ውስጥ ተመሳሳይ ነገር ማመልከት ይችላሉ። ስለዚህ በዚህ ክርክር ውስጥ መጀመሪያ አንድ ገጸ -ባህሪን እናተምታለን ‹ሀ› እንበል
በኤልሲሲ ውስጥ ብጁ ገጸ -ባህሪን በ 8051 ማይክሮ መቆጣጠሪያ - 4 ደረጃዎች እንዴት ማተም እንደሚቻል
በኤልሲሲ ውስጥ ብጁ ገጸ -ባህሪን በ 8051 ማይክሮ መቆጣጠሪያ እንዴት ማተም እንደሚቻል -በዚህ ፕሮጀክት ውስጥ 8051 ማይክሮ መቆጣጠሪያን በመጠቀም በ 16 * 2 LCD ውስጥ ብጁ ገጸ -ባህሪን እንዴት ማተም እንደሚችሉ እንነግርዎታለን። ኤልሲዲ በ 8 ቢት ሞድ ውስጥ እንጠቀማለን። እኛ እንዲሁ በ 4 ቢት ሞድ እንዲሁ ማድረግ እንችላለን