- Делаем светодиодную бегущую строку на Arduino своими руками
- Что потребуется?
- Схема
- Сборка
- Программирование бегущей строки
- 💥 LCD 1602 бегущая строка на Ардуино
- Как сделать бегущую строку на LCD 1602
- Скетч бегущей строки на LCD 1602 I2C
- Пояснения к коду:
- Урок 16.1. Бегущая строка на русском языке. Arduino и MAX7221.
- Подключение светодиодной матрицы 8×8 на MAX7219 к Arduino.
- Установка библиотек Adafruit_GFX и Max72xxPanel. И настройка для вывода русского текста.
- Пример вывода русского текста на матрицу MAX7221.
Делаем светодиодную бегущую строку на Arduino своими руками
Сборка бегущей строки на базе светодиодной матрицы и Arduino – это несложная задача, которую можно выполнить даже в домашних условиях. Чтобы заставить буквы перемещаться на светодиодном табло не нужно быть программистом и владеть углублёнными знаниями электроники. В данной статье разберем, как собрать бегущую строку из готовых светодиодных матриц и Arduino Nano.
Что потребуется?
Для реализации идеи потребуется совсем немного деталей:
- два светодиодных модуля, состоящих из четырёх матриц 8 на 8 пикселей;
- держатель для батарейки типоразмера «Крона»;
- батарейка на 9 вольт (CR-9V, ER-9V или их аналоги);
- двухконтактный переключатель;
- соединительные провода;
- плата Arduino Nano;
- термоклей.
Схема
На печатной плате используемого светодиодного модуля расположено 4 матрицы размером 8 на 8 пикселей. Каждое светодиодное табло управляется интегральной микросхемой (ИМС) MAX7219. Данная ИМС представляет собой контроллер управления led-дисплеями, матрицами с общим катодом и дискретными светодиодами в количестве до 64 шт.
Для более комфортного восприятия информации, выводимой на светодиодное табло, рекомендуется устанавливать несколько модулей. Для этого их объединяют в последовательно включенные группы, то есть выход первого модуля (out) подключают к входу второго модуля (in). Данная сборка состоит из двух модулей (16 матриц), длины которых вполне хватит для удобного прочтения целых предложений.
Сборка
Матричный модуль может иметь штырьковое соединение или контакты на плате в виде печатных проводников. От этого зависит способ их соединения. В первом случае для получения надежного электрического контакта задействуют жгут из проводков с коннекторами, а во втором придётся установить и запаять перемычки.
Но сначала необходимо объединить оба модуля в единое целое с помощью термоклея. Термопластичный клей не проводит электрический ток, а значит, его можно смело наносить на печатную плату. Клей наносят с торцов обеих плат, прижимают и оставляют на несколько минут. После затвердевания выходные контакты первого блока подключают к входным контактам второго блока по схеме:
- VCC – VCC
- GND – GND
- D IN – D OUT
- CS – CS
- CLK – CLK
С обратной стороны печатной платы с помощью термоклея прикрепляют Arduino Nano, отсек для батарейки и выключатель. Детали располагают таким образом, чтобы можно было удобно ими пользоваться. На следующем этапе производят подключение Arduino со светодиодным модулем, подсоединяя провода на вход первой матрицы. В зависимости от варианта исполнения модуля, операцию выполняют через разъёмное соединение или путем пайки по приведенной схеме:
- VCC – 5V
- GND – GND
- D IN – PIN 11
- CS – PIN 10
- CLK – PIN 13.
На заключительной стадии сборки необходимо подключить питание от батарейки. Для этого минусовой контакт (черный провод) из отсека для кроны подключается на вывод GND Arduino. Плюсовой контакт (красный провод) соединяют с выключателем, а затем с выводом №30 Arduino, предназначенный для подачи питающего напряжения от нерегулируемого источника. В тестовом режиме сделанная своими руками бегущая строка может быть запитана через микро USB от компьютера. Убедившись в надежности креплений и качестве электрических соединений, приступают к сборке корпуса. Его можно сделать из алюминиевого или пластикового профиля, так как элементы схемы не греются. Цвет, размеры, степень защиты и крепление корпуса зависят от будущего назначения устройства. В простейшем случае подойдёт защитный экран из строительного пластикового углового профиля с вырезом под выключатель.
Программирование бегущей строки
Бегущая строка из Arduino и светодиодных модулей под управлением MAX7219 практически готова. Настало время перейти к заключающей, программной части. На компьютере должно быть установлено программное обеспечение (ПО) для используемого Arduino и драйвер к нему. Далее необходимо скачать две библиотеки и скетч (специальную программу, которая будет загружаться и выполняться процессором Arduino). Установку библиотек производят при закрытом Arduino IDE в папку «Documents – Arduino – Libraries». Затем скачивают и запускают скетч и проверяют наличие библиотек и корректность других данных.
- «number of horizontal displays» указывают количество строк, в нашем случае 1;
- «number of vertical displays» указывают количество матриц, в нашем случае 8;
- «string tape» указывают надпись, выводимую на дисплей;
- «int wait» задают скорость вывода в миллисекундах.
После проверки введенных данных остаётся щелкнуть мышкой на кнопку «загрузить». Затем отключиться от ПЭВМ, вставить батарейку и произвести запуск устройства.
В заключение хочется добавить, что бегущая строка своими руками собирается довольно быстро даже без навыков работы с Arduino. Поэтому бояться этой замысловатой платы не стоит. Также стоит отметить, что сделать бегущую строку можно длиннее, увеличив количество светодиодных матриц.
Источник
💥 LCD 1602 бегущая строка на Ардуино
Бегущая строка на дисплее LCD 1602 I2C Arduino может быть выполнена различными способами. Наиболее простой способ выполнить эту задачу — это использование цикла for в программе. Подробно рассмотрим два примера бегущей строчки на жк дисплее. Первый — простой скетч с циклом for. Второй, более сложный вариант, учитывающий количество символов в строке, выводимой на дисплей Arduino Uno.
Мы уже рассматривали LCD 1602 подключение к Ардуино ранее в наших уроках. При использовании стандартной библиотеки LiquidCrystal.h можно использовать команду для прокрутки экрана: autoscroll(); . Библиотека для дисплея Arduino с I2C модулем LiquidCrystal_I2C.h лишена этой возможности, поэтому потребуется в программе использовать цикл for или while для прокрутки строки на жк экране.
Как сделать бегущую строку на LCD 1602
Для этого занятия нам потребуется:
- плата Arduino Uno / Arduino Nano / Arduino Mega;
- жк дисплей LCD 1602;
- провода папа-мама.
Подключение LCD 1602 к Arduino UNO через I²C
LCD 1602 i2c | Arduino Uno | Arduino Nano | Arduino Mega |
GND | GND | GND | GND |
VCC | 5V | 5V | 5V |
SDA | A4 | A4 | 20 |
SCL | A5 | A5 | 21 |
Напомним, что дисплей имеет 16 символов в одной строке (от 0 до 15), но в контроллере дисплея заложена память на 40 символов в строке. При использовании дисплея с модулем I2C для сборки схемы вам потребуется всего 4 провода. После подключения дисплея, загрузите следующий код. Пояснения к программе даны ниже, если у вас останутся вопросы, вы можете их оставить в комментариях к посту.
Скетч бегущей строки на LCD 1602 I2C
Пояснения к коду:
- каждый раз в цикле for меняется переменная i , а значит и положение курсора. Через 200 мс надпись очищается и выводится в новом месте;
- бегущие буквы на дисплее можно сделать и с помощью цикла while Arduno.
В следующем примере используем команды из стандартной библиотеки LiquidCrystal.h — подключать ее в скетче не обязательно. Используем функции scrollDisplayRight и scrollDisplayLeft для перемещения строчки на дисплее в цикле for. При этом нам уже не требуется указывать местоположение надписи с помощью команды setCursor. Загрузите из следующего примера программу с перемещением надписи на дисплее.
Источник
Урок 16.1. Бегущая строка на русском языке. Arduino и MAX7221.
Сегодня в уроке научимся выводить текст на русском языке на матрицу MAX7221. Для более быстрой смены текста в бегущей строке «научим» Arduino выводить на матрицу полученный текст из монитора порта . Как подключать матрицу MAX7221 к Arduino, рассказывал в предыдущем уроке: Подключаемматрицу Max72xx (MAX7219) к Arduino. Простая анимация.
Подключение светодиодной матрицы 8×8 на MAX7219 к Arduino.
Для выполнения Arduino урока нам понадобится:
Для подключения необходимо пять проводов, которые чаше всего идут в комплекте с матрицей. Подключаем вывод CLK (MAX7219 ) к выводу 13 (Arduino), вывод CS подключаем к выводу 9, вывод DIN подключаем к выводу 11. Питание подключается VCC к +5В и GND к GND.
Схема подключения модуля с 4 матрицами к Arduino UNO .
Схема подключения модуля с 4 матрицамиMAX7219 к Arduino NANO будет вот такой.

Установка библиотек Adafruit_GFX и Max72xxPanel. И настройка для вывода русского текста.
Существует несколько библиотек, доступных для управления матрицей на драйвере MAX7219 . В этом уроке я буду использовать две библиотеки: Adafruit_GFX и Max72xxPanel .
Для установки этих библиотек выполните следующие действия.
1. Откройте Arduino IDE и перейдите в раздел Скетч > Подключить библиотеку > управление библиотеками .
Должен открыться менеджер библиотек.
2. Укажите “ GFX” в поле поиска, выберете из списка и установите библиотеку от Adafruit GFX.
3. Библиотеку Max72xxPanel можно установить из zip архива. Для этого скачайте архив с библиотекой отсюда или внизу урока из раздела «Файлы для скачивания». В Arduino IDE перейдите в раздел Скетч > Подключить библиотеку > Добавить .ZIP библиотеку . Выбираете архив с библиотекой.
4. Скачать файл glcdfont.c и заменить его в библиотеке Adafruit-GFX. Библиотека находится C:\Users\USER\Documents\Arduino\libraries\Adafruit_GFX_Library. У вас путь до библиотеки может отличаться. Вы также можете скачать библиотеку Adafruit-GFX подготовленную для работы с русским текстом внизу статье есть раздел с материалами для урока.
5. В скетч нужно добавить функцию перекодировки русских букв из UTF-8 в Win-1251 . Добавить функцию можно в самом низу кода.
6. После установки библиотек перезагрузите среду разработки Arduino.
Пример вывода русского текста на матрицу MAX7221.
Пример 1. Выводим русский текст на матрицу. Текст хранится в переменной. Для смены текста нужно постоянно загружать скетч в Arduino.
В скетч нужно добавить функцию перекодировки русских букв из UTF-8 в Win-1251 . Добавить функцию можно в самом низу кода.
При выводе русского текста использовать функцию utf8rus() .
Как видно, вывод на матрицу не сильно отличается от вывода русского текста на SSD1306 OLED-диспл ей: SSD1306OLED-дисплей, вывод текста на русскомязыке в Arduino IDE
Пример 2. Выводим на матрицу русский текст, полученный из монитора порта.
За основу возьмем первый пример. Добавим в него функцию, которая посимвольно считывает значения с монитора порта. Сохраним полученный результат в переменную для вывода значения на MAX7221. А остальная часть кода остается без изменений.
Для проверки работы откроем монитор порта в Arduino IDE. И напишем нужный текст.
После чего нужно нажать кнопку « Отправить». Вот, что получается.
Один минус. Пока не закончится показ предыдущего текста, новый не будет выводиться на матрицу. Это особенности работы матрицы MAX7221.
Матрицу можно сделать гораздо больше , и на нее выводить текст с анимацией из предыдущего урока. Пишите в комментарии, какой проект на Arduino вы бы хотели увидеть с использованием матриц MAX7221 и Arduino.
Не забывайте подписываться на канал Youtube и вступайте в группы в Вконтакте и Facebook.
Всем Пока-Пока.
И до встречи в следующем уроке.
Понравилась статья? Поделитесь ею с друзьями:
Источник