Სარჩევი:

მრიცხველი MAX7221– ის გამოყენებით: 4 ნაბიჯი
მრიცხველი MAX7221– ის გამოყენებით: 4 ნაბიჯი

ვიდეო: მრიცხველი MAX7221– ის გამოყენებით: 4 ნაბიჯი

ვიდეო: მრიცხველი MAX7221– ის გამოყენებით: 4 ნაბიჯი
ვიდეო: როგორ შევამოწმოთ მრიცხველი 2024, ნოემბერი
Anonim
მრიცხველი MAX7221– ის გამოყენებით
მრიცხველი MAX7221– ის გამოყენებით

მრიცხველის შექმნა, რომელიც იზრდება ღილაკზე დაჭერისას MAX7221- ის გამოყენებით.

ნაბიჯი 1: ნაწილები

MAX7221 ან MAX7219

გადართვა

4 7-სეგმენტიანი ჩვენება (საერთო კათოდი)

2 რეზისტორი: 10k და 9.53k (მე გამოვიყენე 9.1k და ის კვლავ მუშაობს)

არდუინო

ნაბიჯი 2: წრის შექმნა

წრის შექმნა
წრის შექმნა
წრის შექმნა
წრის შექმნა
წრის შექმნა
წრის შექმნა

მე დავწერე მხოლოდ ის ქინძისთავები, რომლებიც მე გამოვიყენე, თქვენ შეგიძლიათ იპოვოთ სრული პინის განლაგება მონაცემთა ფურცელზე ან მე დავამატე იგი. დარწმუნდით, რომ გადახედეთ თქვენს 7 სეგმენტიან ეკრანს, რადგან ის ალბათ ჩემგან განსხვავდება, მაგრამ პროცედურა იგივეა.

1. შეაერთეთ ციფრები 0 - 3 MAX7221 ციფრებზე 1 - 4 ეკრანზე. MAX ციფრი 0 უკავშირდება ჩვენების ციფრს 1 და ა.შ. ჩვენებები უბრალოდ არატრადიციულია და 0 -ის ნაცვლად იწყება 1 -ით.

2. შეაერთეთ MAX7221 სეგმენტები A - G სეგმენტებთან ეკრანზე.

3. მიეწოდება სიმძლავრე და მიწა MAX- ს. VCC გადადის პინზე 19. 10k რეზისტორი ასევე უკავშირდება 19 და 18 პინებს. მიწა მიდის 4 და 9 პინებზე.

4. MAX7221 კომუნიკაციას უწევს Arduino– ს SPI– ს საშუალებით (სერიული პერიფერიული ინტერფეისი). ამ შემთხვევაში საჭიროა მხოლოდ 3 მავთული, რადგან მე არ ვიყენებ MISO- ს (Master In Slave Out). MAX7221– ზე დააკავშირეთ pin 1 (Din) Arduino– სთან, ჩემს შემთხვევაში მე გამოვიყენე pin 12. ეს არის თქვენი MOSI (Master Out Slave In) ან მონაცემები. პინ 12 MAX– ზე არის CS (ჩიპის არჩევის შეყვანა) და ეს არის ის, თუ როგორ ხდება მონაცემების ჩატვირთვა Shift Register– ში, მე ამას დავუკავშირდი Arduino– ს პინ 9 – თან. ბოლო კავშირი არის CLK, რომელიც არის MAX– ზე პინი 13, მე დავუკავშირე მას Arduino– ს პინ 10 – თან.

დარწმუნდით, რომ მიაწოდეთ ენერგია და მიწა არდუინოს საშუალებით 5 ვოლტის გამოყენებით. მე შევხვდი იმ პრობლემას, სადაც ჩემი არდუინო არ აძლევდა ჩემს დაფას საკმარის ძალას.

ეს არის MAX7221 მონაცემთა ცხრილისთვის. ასევე საიდან გაჩნდა სურათები.

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

ნაბიჯი 3: გადართვა

გადამრთველი
გადამრთველი

მე მავთულხლართების შეცვლა ზემოთ სქემატურიდან. ნაპოვნია

მე გამოვიყენე პინ 8 არდუინოზე გადამრთველის გასაკონტროლებლად და 10k რეზისტორი.

ნაბიჯი 4: კოდი

მე გამოვიყენე GedHub– ზე ნაპოვნი LedControl.h ბიბლიოთეკა და მათი ძირითადი კოდი MAX7221– ის ჩასართავად. შემდეგ მე შევცვალე კოდი 0 - 9999 დან ღილაკზე დაჭერისას.

#მოიცავს "LedControl.h"

int ღილაკი = 8;

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

void setup () {

pinMode (ღილაკი, INPUT);

lc. გამორთვა (0, ყალბი); // MAX7221 არის ენერგიის დაზოგვის რეჟიმში, ამიტომ უნდა გავაღვიძოთ

lc.setIntensity (0, 15); // სიკაშკაშის დაყენება, მაქს 15

lc.clearDisplay (0); // ეკრანის გასუფთავება

}

ბათილი მარყუჟი () {

int სახელმწიფო = digitalRead (ღილაკი);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

ხოლო (1) {

მდგომარეობა = digitalRead (ღილაკი);

ხოლო (მდგომარეობა == 1) {

მდგომარეობა = digitalRead (ღილაკი);

lc.setDigit (0, 3, i, false);

მე ++;

დაგვიანება (100); // თქვენ შეგიძლიათ არეულობდეთ ამით

თუ (i == 10) {

i = 0;

j ++;

თუ (j == 10) {

j = 0;

k ++;

თუ (k == 10) {

k = 0;

ლ ++;

თუ (l == 10) {

ხოლო (1) {

lc.setRow (0, 0, 0x3E); // როდესაც ეკრანი 9999 -ს მიაღწევს ის გამოჩნდება U - 1

lc.setRow (0, 1, 0x1); // Hexi ათობითი მნიშვნელობით

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

lc.setDigit (0, 3, 1, ყალბი);

}

}

lc.setDigit (0, 0, ლ, ყალბი);

}

lc.setDigit (0, 1, k, false);

}

lc.setDigit (0, 2, j, false);

}

}

}

}

გირჩევთ: