Arduino: вывести число на цифровой LED дисплей MAX7219

Для Arduino есть несколько типов светодиодных модулей для вывода чисел.
Например, вот такой 8-значный цифровой индикатор на микросхеме MAX7219:
Он подсоединяется к плате Arduino пятью пинами:
  1. DIN - data in
  2. CS - chip select
  3. CLK - clock pulse source
  4. GND
  5. 5 V

В данном примере элементы соединены вот так:


Здесь DIN, CS и CLK соединены с пинами 7, 9 и 8.

На сайте Arduino есть большая статья LedControl, в которой рассказывается о принципе управления светодиодными матрицами. Однако там нет простого примера показывающего, как вывести на дисплей не цифру, а число.

Код ниже рализует обычный счётчик, который увеличивает своё значение раз в секунду и выводит его на цифровой дисплей:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <LedControl.h>

#define dinPin 7
#define clkPin 8
#define csPin 9

LedControl display = LedControl(dinPin, clkPin, csPin);

void setup() {
  display.clearDisplay(0);
  display.shutdown(0, false);
  display.setIntensity(0, 10);
}

void displayNumber(int number) {
  display.clearDisplay(0);
  for (int i = 0; i < 8; i++) {
    int digit = number % 10;
    number /= 10;
    display.setDigit(0, i, digit, false);
    if (number == 0) {
      break;
    }
  }
}

int number = 9995;

void loop() {
  displayNumber(number++);
  delay(1000);
}

В данном примере для вывода числа используется функция displayNumber, которая записывает значение каждого десятичного разряда в соответствующий цифровой сегмент.
Для работы этого кода необходима библиотека LedControl.


Электронные компоненты, используемые в этом примере:
8-значный LED дисплей Arduino Nano Макетная плата

Комментарии

Отправить комментарий