Агуулгын хүснэгт:

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. MAX7221 дээрх 0 - 3 тоонуудыг дэлгэц дээрх 1 - 4 тоонуудтай холбоно уу. MAX 0 цифр нь дэлгэцийн 1 цифртэй холбогддог. Дэлгэц нь ердөө л уламжлалт бус бөгөөд 0 -ийн оронд 1 -ээр эхэлдэг.

2. MAX7221 дээрх A - G сегментүүдийг дэлгэц дээрх A - G сегментүүдтэй холбоно уу.

3. MAX -д цахилгаан болон газардуулга нийлүүлэх. VCC нь 19 -р зүү рүү ордог. 10k эсэргүүцэл нь мөн 19 ба 18 -р зүүтэй холбогддог. Газар нь 4 ба 9 -р зүү рүү явдаг.

4. MAX7221 нь Arduino -той SPI (Serial Perifheral Interface) -ээр холбогддог. Энэ тохиолдолд би MISO (Master In Slave Out) ашигладаггүй тул зөвхөн 3 утас хэрэгтэй болно. MAX7221 дээр 1 зүү (Din) -ийг Arduino руу холбоно уу, миний хувьд би 12 -р зүүг ашигласан. Энэ бол таны MOSI (Master Out Slave In) эсвэл өгөгдөл юм. MAX дээрх 12 -р зүү нь CS (Chip Select Input) бөгөөд өгөгдлийг Shift бүртгэлд хэрхэн ачаалдагийг би Arduino дээрх 9 -р зүүтэй холбосон. Хамгийн сүүлчийн холболт бол MAX дээрх 13 -р зүү болох CLK, би үүнийг Arduino дээрх 10 -р зүүтэй холбосон.

5 вольт ашиглан Arduino -ээр дамжуулан хүчдэл, газардуулга хийхээ мартуузай. Миний Arduino самбартаа хангалттай хүч өгөхгүй байгаа нь би асуудалтай тулгарсан.

Энэ нь MAX7221 мэдээллийн хуудсанд зориулагдсан болно. Мөн зургууд хаанаас ирсэн бэ.

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

Алхам 3: Шилжүүлэгч

Унтраалга
Унтраалга

Би дээрх схемээс шилжүүлэгчийг холбосон. Https://www.arduino.cc/en/tutorial/button дээрээс олж болно

Шилжүүлэгчийг хянахын тулд би Arduino дээрх 8 -р зүү, 10к эсэргүүцэл ашигласан.

Алхам 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); // дэлгэцийг цэвэрлэх

}

void loop () {

int төлөв = digitalRead (товчлуур);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

байхад (1) {

төлөв = digitalRead (товчлуур);

байхад (төлөв == 1) {

төлөв = digitalRead (товчлуур);

lc.setDigit (0, 3, i, худал);

би ++;

саатал (100); // та үүнд саад учруулж болно

хэрэв (би == 10) {

би = 0;

j ++;

хэрэв (j == 10) {

j = 0;

k ++;

хэрэв (k == 10) {

k = 0;

l ++;

хэрэв (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, l, худал);

}

lc.setDigit (0, 1, k, худал);

}

lc.setDigit (0, 2, j, худал);

}

}

}

}

Зөвлөмж болгож буй: