Mundarija:

Arduino MAX7219 7-segmentli displey qo'llanmasi: 5 qadam
Arduino MAX7219 7-segmentli displey qo'llanmasi: 5 qadam

Video: Arduino MAX7219 7-segmentli displey qo'llanmasi: 5 qadam

Video: Arduino MAX7219 7-segmentli displey qo'llanmasi: 5 qadam
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Iyul
Anonim
Arduino MAX7219 7 segmentli ko'rsatma qo'llanmasi
Arduino MAX7219 7 segmentli ko'rsatma qo'llanmasi

MAX7219-bu 7 segmentli LEDlarni (8 ta raqamgacha), blokli displeylarni (satrli displeylar) va katodli 64 ta alohida LEDni boshqarish uchun ishlatiladigan IC. MAX7219 mikrokontroller bilan aloqa qilish uchun SPI aloqa tizimidan foydalanadi. Shunday qilib, 64 ta LEDni boshqarish uchun faqat 3 ta mikrokontrolder kerak.

Ushbu maqolada men sizga haydovchi sifatida IC MAX7219 dan foydalanadigan 7-segmentli moduldan qanday foydalanishni ko'rsataman.

Kerakli komponentlar:

  • MAX7219 7-segmentli modul
  • Arduino Nano
  • simli o'tish kabeli
  • USB mini

Kerakli kutubxona:

LedControl

Ushbu qo'llanmada men Arduino Nano kartasidan foydalanaman. Agar siz uni hech qachon ishlatmagan bo'lsangiz. Men "Arduino Nano -dan qanday foydalanish" haqidagi oldingi maqolamni o'qishni taklif qilaman.

1 -qadam: Barcha komponentlarni yig'ing

Barcha komponentlarni yig'ish
Barcha komponentlarni yig'ish

Arduino kartasini 7-segmentli modulga ulang. Men yozgan rasm yoki ko'rsatmaga qarang:

Arduino 7-segmentga

+5V => VCC

GND => GND

D12 => Din

D11 => CLK

D10 => CS/LOAD

2 -qadam: Kutubxona qo'shing

Kutubxona qo'shish
Kutubxona qo'shish

O'chirish tugagandan so'ng. "LedControl" kutubxonasini Arduino IDE -ga qo'shing.

Arduino -ga kutubxona qo'shish uchun uni "Men Arduino -ga tashqi kutubxonani qanday qo'shish kerak" maqolasida o'qishingiz mumkin.

3 -qadam: qo'shimcha funktsiyalar

Qo'shimcha funktsiyalar
Qo'shimcha funktsiyalar

LedControl kutubxonasini qo'shgandan so'ng. 7-Segment modulini boshqarish uchun qo'shimcha funktsiyalardan foydalanishingiz mumkin.

Dalil

addr - displey manzili

raqam - raqamning displeydagi o'rni (0..7) qiymati - ko'rsatiladigan qiymat. (0x00..0x0F)

dp kasr nuqtasini o'rnatadi.

Funktsiya

setChar (addr, raqam, value.dp); // 7-bitli ASCII kodlash uchun char turi qiymatini ko'rsatish uchun

setDigit (addr, raqam, qiymat, bolean dp); // raqamlar va belgilarni bitta setRow funktsiyasida ko'rsatish uchun (addr, raqam, qiymat, boolean dp); // ob'ektni kerakli raqamda ko'rsatish uchun

Qo'shimcha ma'lumot olish uchun bu yerni o'qing.

4 -qadam: Eskizni yuklash

Sketch yuklash
Sketch yuklash

Men ushbu 7 segmentli modulning sinovini chizdim. Siz quyidagi kodni nusxalashingiz, so'ngra eskizingizga joylashtirishingiz mumkin.

// Biz har doim kutubxonani o'z ichiga olishimiz kerak

#"LedControl.h" ni qo'shing

/*

Endi biz bilan ishlash uchun LedControl kerak. ***** Bu pin raqamlari, ehtimol, sizning apparatingiz bilan ishlamaydi *****

pin 12 DataIn -ga ulangan

pin 11 CLK ga ulangan

pin 10 LOAD ga ulangan

Bizda faqat bitta MAX72XX bor.

*/

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

/ * biz har doim displey yangilanishlari o'rtasida biroz kutamiz */

imzosiz uzoq kechikish = 500;

bo'sh o'rnatish () {

/ * MAX72XX ishga tushganda quvvatni tejash rejimida, biz uyg'onish qo'ng'irog'ini qilishimiz kerak */

lc.shutdown (0, noto'g'ri);

/ * Yorqinlikni o'rta qiymatlarga qo'ying */

lc.setIntensity (0, 8);

/ * va displeyni tozalash */

lc.clearDisplay (0);}

void salom () {

lc.setChar (0, 7, 'H', noto'g'ri);

lc.setChar (0, 6, 'E', noto'g'ri);

lc.setChar (0, 5, 'L', noto'g'ri);

lc.setChar (0, 4, 'L', noto'g'ri);

lc.setChar (0, 3, '0', noto'g'ri);

lc.setChar (0, 2, '.', noto'g'ri);

lc.setChar (0, 1, '.', noto'g'ri);

lc.setChar (0, 0, '.', noto'g'ri);

kechikish (kechikish vaqti+1000);

lc.clearDisplay (0);

kechikish (kechikish);

lc.setDigit (0, 7, 1, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 6, 2, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 5, 3, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 4, 4, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 3, 5, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 2, 6, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 1, 7, noto'g'ri);

kechikish (kechikish);

lc.setDigit (0, 0, 8, noto'g'ri);

kechikish (1500);

lc.clearDisplay (0);

kechikish (kechikish);

}

void loop () {salom ();

}

Yoki quyidagi faylni yuklab oling:

5 -qadam: Natija

Natijadan xursand bo'ling.

Agar savollar bo'lsa, ularni sharhlar ustuniga yozing.

Keyingi maqolada ko'rishguncha.

Tavsiya: