Модуль MAX7219 Бегущая строка 4в1 8х8

Артикул: MAX7219
Код товара: 01294
Нет в наличии
480 руб

    Доставка заказов

   По Москве    По России
- Курьер - Почта России
- Пункты выдачи Boxberry - Пункты выдачи Boxberry
- Самовывоз - ТК «Деловые линии»
Международная доставка осуществляются компанией СДЭК. Расчёт стоимости доставки по запросу на e-mail.

 

 

 

  • Описание

В этом эксперименте создадим "бегущую строку" на 4-х разрядной светодиодной матрице. Потенциометр будем использовать для регулирования скорости.

 

 

Приступаем к написанию скетча. Строку для вывода будем хранить в переменной text:

String text = "Arduino-KIT";

Размер матрицы по горизонтали 32 позиции. Длина "бегущей строки"  равна длине строки умноженной на 6 (5 ширина символа + 1 интервал между символами).

Переменная offset – координата начала строки. Начиная с этой координаты, выводим символы на матрицу.

Крайнее левое положение:

offset=0-text.length()*6;

По достижении крайнего положения устанавливаем offset=32.

Количество матриц по-горизонтали берем с запасом, чтобы не происходило сбоев с выводом.

int numberOfHorizontal = 15; 

Скорость движения регулируем потенциометром.

Содержимое скетча представлено в листинге.

 

// подключение библиотек

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Max72xxPanel.h>

// пин CS

int pinCS = 10;

// количество матриц по-горизонтали (берем с запасом!!!)

int numberOfHorizontal = 4;  

// количество матриц по-вертикали

int numberOfVertical = 1;

// создание объекта

Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontal,

                       numberOfVertical);

// строка для вывода

String text = "Arduino-KIT 2019";

// текущее смещение от 0

int offset=32;

// максимальное значение скорости

int maxspeed1=100;

// минимальное значение скорости

int minspeed1=1000;

 

void setup() {

    // яркость от 0 до 15

    matrix.setIntensity(7);

}

 

void loop() {

    // очистка экрана

    matrix.fillScreen(LOW);

    // поворот 90°

    matrix.setRotation( 0, 1 );

    matrix.setRotation( 1, 1 );

    matrix.setRotation( 2, 1 );

    matrix.setRotation( 3, 1 );

    // вывод строки с позиции offset

    for ( int i = 0 ; i < text.length(); i++ ) {

        if(i*6+offset>(-6) && i*6+offset<32) {

            matrix.drawChar(i*6+offset, 0, text[i], HIGH, LOW, 1);

        }   

    }

    matrix.write();

    // задержка (скорость)

    int speed1=(analogRead(A0),0,1023,minspeed1,maxspeed1);

    delay(speed1);

    // изменение смещения

    offset=offset-1;

    // в начало - позиция 32

    if(offset+text.length()*6==0) {

       offset=32;

    }

}

 

Загружаем скетч на плату Arduino и наблюдаем "бегущую строку", потенциометром регулируем скорость.

Главное меню

Каталог

Полезные ссылки

Цена
от
до