ዝርዝር ሁኔታ:

MAX7221: 4 እርምጃዎችን በመጠቀም ቆጣሪ
MAX7221: 4 እርምጃዎችን በመጠቀም ቆጣሪ

ቪዲዮ: MAX7221: 4 እርምጃዎችን በመጠቀም ቆጣሪ

ቪዲዮ: MAX7221: 4 እርምጃዎችን በመጠቀም ቆጣሪ
ቪዲዮ: FLOWCODE УРОК 60 max7219 max7221 2024, ሀምሌ
Anonim
MAX7221 ን በመጠቀም ቆጣሪ
MAX7221 ን በመጠቀም ቆጣሪ

MAX7221 ን በመጠቀም አንድ አዝራር ሲጫን የሚጨምር ቆጣሪ መፍጠር።

ደረጃ 1: ክፍሎች

MAX7221 ወይም MAX7219

ቀይር

4 7-ክፍል ማሳያ (የጋራ ካቶድ)

2 ተቃዋሚዎች 10 ኪ እና 9.53 ኪ (እኔ 9.1 ኪ ተጠቅሜ ነበር እና አሁንም ይሠራል)

አርዱinoኖ

ደረጃ 2 ወረዳውን መገንባት

ወረዳውን መገንባት
ወረዳውን መገንባት
ወረዳውን መገንባት
ወረዳውን መገንባት
ወረዳውን መገንባት
ወረዳውን መገንባት

እኔ የተጠቀምኳቸውን ካስማዎች ብቻ ጻፍኩ ፣ በመረጃ ወረቀቱ ላይ የተሟላውን የፒን አቀማመጥ ማግኘት ይችላሉ ወይም አያይዘዋለሁ። የ 7-ክፍል ማሳያዎን መፈለግዎን ያረጋግጡ ምክንያቱም ምናልባት ከእኔ ይለያል ነገር ግን የአሰራር ሂደቱ አንድ ነው።

1. በ MAX7221 ላይ አሃዞችን 0 - 3 በማሳያው ላይ ከቁጥር 1 - 4 ጋር ያገናኙ። የ MAX አሃዝ 0 ከማሳያዎቹ አሃዝ 1 ጋር ይገናኛል። ማሳያዎች እንዲሁ ያልተለመዱ እና ከ 0 ይልቅ በ 1 ይጀምራሉ።

2. ክፍሎቹን A - G በ MAX7221 ላይ በማሳያው ላይ ወደ ክፍሎች A - G ያገናኙ።

3. ለ MAX ኃይል እና መሬት ያቅርቡ። ቪሲሲ ወደ ፒን 19 ይሄዳል። የ 10 ኪው ተከላካይ እንዲሁ ከፒን 19 እና 18. ጋር ተገናኝቷል። መሬት ወደ ፒኖች 4 እና 9 ይሄዳል።

4. MAX7221 በ SPI (Serial Peripheral Interface) በኩል ከ Arduino ጋር ይገናኛል። በዚህ ሁኔታ MISO (Master In Slave Out) ስላልጠቀምኩ 3 ገመዶች ብቻ ያስፈልጋሉ። በ MAX7221 ፒን 1 (ዲን) ከአርዱዲኖ ጋር ይገናኙ ፣ በእኔ ሁኔታ ፒን 12 ን ተጠቀምኩ። ይህ የእርስዎ MOSI (Master Out Slave In) ወይም ውሂቡ ነው። በ MAX ላይ ፒን 12 CS (ቺፕ ይምረጡ ግብዓት) እና ውሂቡ በ Shift Register ውስጥ እንዴት እንደሚጫን ነው ፣ ይህንን በአርዱዲኖ ላይ ከፒን 9 ጋር አገናኘሁት። የመጨረሻው ግንኙነት በ MAX ላይ ፒን 13 የሆነው CLK ነው ፣ ይህንን በአርዱዲኖ ላይ ከፒን 10 ጋር አገናኘሁት።

5 ቮልት በመጠቀም በአርዱዲኖ በኩል ኃይልን እና መሬትን ማቅረብዎን ያረጋግጡ። እኔ አርዱዲኖ ለቦርድ በቂ ኃይል በማይሰጥበት ችግር ውስጥ ገባሁ።

ይህ ለ MAX7221 የውሂብ ሉህ ነው። እንዲሁም ሥዕሎቹ ከየት እንደመጡ።

www.mouser.com/datasheet/2/256/max7219-max…

ደረጃ 3: መቀየሪያ

መቀየሪያው
መቀየሪያው

እኔ ከላይ ካለው መርሃግብር መቀየሪያውን ገምቼያለሁ። Https://www.arduino.cc/en/tutorial/button ላይ ተገኝቷል

መቀየሪያውን ለመቆጣጠር በአርዱዱኖ ላይ ፒን 8 እና 10 ኪ resistor ን እጠቀም ነበር።

ደረጃ 4 ኮድ

በ GitHub ላይ የተገኘውን የ LedControl.h ቤተ -መጽሐፍትን እና MAX7221 ን ለማብራት መሰረታዊ ኮዳቸውን ተጠቅሜአለሁ። ከዚያ ቁልፉ በሚጫንበት ጊዜ ከ 0 - 9999 ለመቁጠር ኮዱን ቀይሬያለሁ።

#"LedControl.h" ን ያካትቱ

int አዝራር = 8;

LedControl lc = LedControl (12, 10, 9, 1);

ባዶነት ማዋቀር () {

pinMode (አዝራር ፣ ግቤት);

lc.shutdown (0 ፣ ሐሰት); // MAX7221 በኃይል ቆጣቢ ሁኔታ ውስጥ ነው ፣ ስለዚህ መቀስቀስ አለብን

lc.setIntensity (0, 15); // ብሩህነት ማቀናበር ፣ ቢበዛ 15

lc.clearDisplay (0); // የማፅዳት ማሳያ

}

ባዶነት loop () {

int state = digitalRead (አዝራር);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

(1) {

ግዛት = digitalRead (አዝራር);

ሳለ (ግዛት == 1) {

ግዛት = digitalRead (አዝራር);

lc.setDigit (0 ፣ 3 ፣ i ፣ ሐሰት);

i ++;

መዘግየት (100); // በዚህ ሁኔታ መዘበራረቅ ይችላሉ

ከሆነ (i == 10) {

እኔ = 0;

j ++;

ከሆነ (j == 10) {

j = 0;

k ++;

ከሆነ (k == 10) {

k = 0;

l ++;

ከሆነ (l == 10) {

(1) {

lc.setRow (0, 0, 0x3E); // ማሳያው 9999 ሲደርስ ዩ - 1 ን ያሳያል

lc.setRow (0, 1, 0x1); // በሄክሲ አስርዮሽ እሴት

lc.setRow (0 ፣ 2 ፣ 0x1);

lc.set ዲጂት (0 ፣ 3 ፣ 1 ፣ ሐሰት);

}

}

lc.setDigit (0 ፣ 0 ፣ l ፣ ሐሰት);

}

lc.setDigit (0 ፣ 1 ፣ k ፣ ሐሰት);

}

lc.setDigit (0 ፣ 2 ፣ j ፣ ሐሰት);

}

}

}

}

የሚመከር: