Съдържание:

Arduino MAX7219 7-сегментен дисплей Урок: 5 стъпки
Arduino MAX7219 7-сегментен дисплей Урок: 5 стъпки

Видео: Arduino MAX7219 7-сегментен дисплей Урок: 5 стъпки

Видео: Arduino MAX7219 7-сегментен дисплей Урок: 5 стъпки
Видео: LDmicro 18: GPS-будильник Ublox NEO-6M (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Ноември
Anonim
Урок за 7-сегментен дисплей на Arduino MAX7219
Урок за 7-сегментен дисплей на Arduino MAX7219

MAX7219 е интегрална схема, която се използва за задвижване на 7-сегментни светодиоди (до 8 цифри), блокови дисплеи (лентови дисплеи) и 64 отделни светодиода, които са общи катоди. За да комуникира с микроконтролер, MAX7219 използва комуникационната система SPI. Така че, за да управлявате 64 светодиода, се нуждаете само от 3 порта на микроконтролера.

В тази статия ще ви покажа как да използвате 7-Segment модул, който използва IC MAX7219 като драйвер.

Необходими компоненти:

  • MAX7219 7-сегментен модул
  • Arduino Nano
  • жичен джъмпер
  • USB мини

Задължителна библиотека:

LedControl

В този урок използвам дъската Arduino Nano. Ако никога не сте го използвали. Предлагам да прочетете предишната ми статия за „Как да използвате Arduino Nano“.

Стъпка 1: Сглобете всички компоненти

Сглобете всички компоненти
Сглобете всички компоненти

Свържете платката Arduino към 7-сегментния модул. Вижте снимката или инструкцията, която написах по -долу:

Arduino към 7-сегмент

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

Стъпка 2: Добавяне на библиотека

Добавяне на библиотека
Добавяне на библиотека

След завършване на веригата. Добавете библиотеката "LedControl" към IDE на Arduino.

За да добавите библиотека към Arduino, можете да я прочетете в статията „Как да добавя външна библиотека към Arduino“, която направих по -рано “.

Стъпка 3: Допълнителни функции

Допълнителни функции
Допълнителни функции

След добавяне на библиотеката LedControl. Можете да използвате допълнителни функции за управление на 7-сегментния модул.

Аргумент

addr - адрес на дисплея

цифра - позицията на цифрата на дисплея (0..7) стойност - стойността, която трябва да се покаже. (0x00..0x0F)

dp задава десетичната запетая.

Функция

setChar (addr, digit, value.dp); // за показване на стойността на типа char за 7-битово ASCII кодиране

setDigit (addr, digit, value, bolean dp); // за показване на цифри и знаци в една функция setRow (addr, digit, value, boolean dp); // за показване на обекта в желаната цифра

За повече подробности, моля, прочетете тук.

Стъпка 4: Качете скица

Качване на скица
Качване на скица

Скицирах за пробната версия на този 7-сегментен модул. Можете да копирате кода по -долу, след което да го поставите в скицата си.

// Винаги трябва да включваме библиотеката

#include "LedControl.h"

/*

Сега имаме нужда от LedControl, с който да работим. ***** Тези пинови номера вероятно няма да работят с вашия хардуер *****

щифт 12 е свързан към DataIn

извод 11 е свързан към CLK

щифт 10 е свързан към LOAD

Имаме само един MAX72XX.

*/

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

/ * винаги чакаме малко между актуализациите на дисплея */

неподписан дълъг период на забавяне = 500;

void setup () {

/ * MAX72XX е в режим на пестене на енергия при стартиране, трябва да направим повикване за събуждане */

lc.shutdown (0, false);

/ * Задайте яркостта на средни стойности */

lc.setIntensity (0, 8);

/ * и изчистете дисплея */

lc.clearDisplay (0);}

void здравей () {

lc.setChar (0, 7, 'H', невярно);

lc.setChar (0, 6, 'E', невярно);

lc.setChar (0, 5, 'L', невярно);

lc.setChar (0, 4, 'L', невярно);

lc.setChar (0, 3, '0', невярно);

lc.setChar (0, 2, '.', невярно);

lc.setChar (0, 1, '.', невярно);

lc.setChar (0, 0, '.', невярно);

забавяне (забавяне+1000);

lc.clearDisplay (0);

забавяне (забавяне);

lc.setDigit (0, 7, 1, невярно);

забавяне (забавяне);

lc.setDigit (0, 6, 2, невярно);

забавяне (забавяне);

lc.setDigit (0, 5, 3, невярно);

забавяне (забавяне);

lc.setDigit (0, 4, 4, невярно);

забавяне (забавяне);

lc.setDigit (0, 3, 5, невярно);

забавяне (забавяне);

lc.setDigit (0, 2, 6, невярно);

забавяне (забавяне);

lc.setDigit (0, 1, 7, невярно);

забавяне (забавяне);

lc.setDigit (0, 0, 8, невярно);

забавяне (1500);

lc.clearDisplay (0);

забавяне (забавяне);

}

void loop () {здравей ();

}

Или изтеглете файла по -долу:

Стъпка 5: Резултат

Радвайте се на резултата.

Ако има въпроси, просто ги напишете в колоната за коментари.

Ще се видим в следващата статия.

Препоръчано: