kz ru
Каталог

Проект 19: 8x8 Светодиодная Матрица

Необходимое Оборудование

Плата Arduino UNO * 1
8x8 Точечная Матрица * 1
Резистор (220 Ом) * 8
Макетная Плата * 1
USB Кабель * 1
Несколько Перемычек

Принцип работы

Светодиодный драйвер MAX7219 можно использовать для управления 7-сегментными дисплеями до 8 цифр, гистограммными дисплеями или 64 отдельными светодиодами. Драйвер взаимодействует с Arduino через SPI, поэтому для управления дисплеем вам нужно всего три провода.

Поскольку MAX7219 может управлять максимум 64 светодиодами, максимальный размер матричного дисплея, который он может управлять, составляет 8 × 8 пикселей. Однако вы можете объединить несколько драйверов и матриц в единую цепочку и легко управлять дисплеями гораздо большего размера, такими как 8 × 32, 8 × 64 или даже больше. Тем не менее, вам нужно всего три провода для управления всеми микросхемами, поэтому вам понадобится очень мало контактов ввода-вывода Arduino.

Так же можете нарисовать свой дизайн тут и вставить в код

 

Подключение Схемы

  DIN на 12 пин
  CLK на 11 пин
  CS на 10 пин

 


Пример Кода для отображения "0"
//////////////////////////////////////////////////////////
//MAX7219  https://github.com/wayoda/LedControl

#include "LedControl.h"
#include "binary.h"
LedControl lc = LedControl(12, 11, 10, 1);
unsigned long delaytime = 1000;
byte zero_f[8] = { 0b00111100,
                   0b01100110,
                   0b01100110,
                   0b01100110,
                   0b01100110,
                   0b01100110,
                   0b01100110,
                   0b00111100
                 };

byte one_f[8] = {0b00011000,
                 0b00111000,
                 0b00011000,
                 0b00011000,
                 0b00011000,
                 0b00011000,
                 0b00011000,
                 0b00011000
                }


void setup() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 8);
  lc.clearDisplay(0);
}

void drawNum() {
  lc.setRow(0, 0, zero_f[0]);
  lc.setRow(0, 1, zero_f[1]);
  lc.setRow(0, 2, zero_f[2]);
  lc.setRow(0, 3, zero_f[3]);
  lc.setRow(0, 4, zero_f[4]);
  lc.setRow(0, 5, zero_f[5]);
  lc.setRow(0, 6, zero_f[6]);
  lc.setRow(0, 7, zero_f[7]);
  delay(delaytime);

  lc.setRow(0, 0, one_f[0]);
  lc.setRow(0, 1, one_f[1]);
  lc.setRow(0, 2, one_f[2]);
  lc.setRow(0, 3, one_f[3]);
  lc.setRow(0, 4, one_f[4]);
  lc.setRow(0, 5, one_f[5]);
  lc.setRow(0, 6, one_f[6]);
  lc.setRow(0, 7, one_f[7]);
  delay(delaytime);
}

void loop() {
  drawNum();
}

//////////////////////////////////////////////////////////

Результат Теста

Загрузите программу на плату, и точечная матрица отобразит 0.

Комментарии
Отзывов еще никто не оставлял
Предзаказ
Предзаказ успешно отправлен!
Имя *
Телефон *
Добавить в корзину
Название товара
100 тг
1 шт.
Перейти в корзину
Обратный звонок
Запрос успешно отправлен!
Имя *
Телефон *
Заказ в один клик
С помощью уведомлений о заказе можно не только получать актуальную информацию по заказу, но и иметь быстрый канал связи с магазином