Вращающийся светодиодный дисплей на Arduino: схема и программа
volatile char ALPHA[26][8]={{0,0b01111111,0b11111111,0b11001100,0b11001100,0b11001100,0b11111111,0b01111111},
{0,0b00111100,0b01111110,0b11011011,0b11011011,0b11011011,0b11111111,0b11111111},
{0,0b11000011,0b11000011,0b11000011,0b11000011,0b11100111,0b01111110,0b00111100},
{0,0b01111110,0b10111101,0b11000011,0b11000011,0b11000011,0b11111111,0b11111111},
{0,0b11011011,0b11011011,0b11011011,0b11011011,0b11011011,0b11111111,0b11111111},
{0,0b11011000,0b11011000,0b11011000,0b11011000,0b11011000,0b11111111,0b11111111},
{0b00011111,0b11011111,0b11011000,0b11011011,0b11011011,0b11011011,0b11111111,0b11111111},
{0,0b11111111,0b11111111,0b00011000,0b00011000,0b00011000,0b11111111,0b11111111},
{0b11000011,0b11000011,0b11000011,0b11111111,0b11111111,0b11000011,0b11000011,0b11000011},
{0b11000000,0b11000000,0b11000000,0b11111111,0b11111111,0b11000011,0b11001111,0b11001111},
{0,0b11000011,0b11100111,0b01111110,0b00111100,0b00011000,0b11111111,0b11111111},
{0b00000011,0b00000011,0b00000011,0b00000011,0b00000011,0b00000011,0b11111111,0b11111111},
{0b11111111,0b11111111,0b01100000,0b01110000,0b01110000,0b01100000,0b11111111,0b11111111},
{0b11111111,0b11111111,0b00011100,0b00111000,0b01110000,0b11100000,0b11111111,0b11111111},
{0b01111110,0b11111111,0b11000011,0b11000011,0b11000011,0b11000011,0b11111111,0b01111110},
{0,0b01110000,0b11111000,0b11001100,0b11001100,0b11001100,0b11111111,0b11111111},
{0b01111110,0b11111111,0b11001111,0b11011111,0b11011011,0b11000011,0b11111111,0b01111110},
{0b01111001,0b11111011,0b11011111,0b11011110,0b11011100,0b11011000,0b11111111,0b11111111},
{0b11001110,0b11011111,0b11011011,0b11011011,0b11011011,0b11011011,0b11111011,0b01110011},
{0b11000000,0b11000000,0b11000000,0b11111111,0b11111111,0b11000000,0b11000000,0b00000000},
{0b11111110,0b11111111,0b00000011,0b00000011,0b00000011,0b00000011,0b11111111,0b11111110},
{0b11100000,0b11111100,0b00011110,0b00000011,0b00000011,0b00011110,0b11111100,0b11100000},
{0b11111110,0b11111111,0b00000011,0b11111111,0b11111111,0b00000011,0b11111111,0b11111110},
{0b01000010,0b11100111,0b01111110,0b00111100,0b00111100,0b01111110,0b11100111,0b01000010},
{0b01000000,0b11100000,0b01110000,0b00111111,0b00111111,0b01110000,0b11100000,0b01000000},
{0b11000011,0b11100011,0b11110011,0b11111011,0b11011111,0b11001111,0b11000111,0b11000011}};
void setup()
{
DDRD = 0xFF;
//a,b,c,d,e,f,g,. ..z
}
void loop()
{
for (int i=7;i>0;i–)
{
PORTD = ALPHA[2][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[8][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[17][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[2][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[20][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[8][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[19][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[3][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[8][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[6][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[4][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[18][i];
delay(1);
PORTD=0;
}
delay(2);
for (int i=7;i>0;i–)
{
PORTD = ALPHA[19][i];
delay(1);
PORTD=0;
}
delay(19);
}
Бегущая строка
Общие положения
Некоторые объекты, размещенные на сайте, являются интеллектуальной собственностью компании StoreLand. Использование таких объектов установлено действующим законодательством РФ.
На сайте StoreLand имеются ссылки, позволяющие перейти на другие сайты. Компания StoreLand не несет ответственности за сведения, публикуемые на этих сайтах и предоставляет ссылки на них только в целях обеспечения удобства для посетителей своего сайта.
Личные сведения и безопасность
Компания StoreLand гарантирует, что никакая полученная от Вас информация никогда и ни при каких условиях не будет предоставлена третьим лицам, за исключением случаев, предусмотренных действующим законодательством Российской Федерации.
В определенных обстоятельствах компания StoreLand может попросить Вас зарегистрироваться и предоставить личные сведения. Предоставленная информация используется исключительно в служебных целях, а также для предоставления доступа к специальной информации.
Личные сведения можно изменить, обновить или удалить в любое время в разделе “Аккаунт” > “Профиль”.
Чтобы обеспечить Вас информацией определенного рода, компания StoreLand с Вашего явного согласия может присылать на указанный при регистрации адрес электронный почты информационные сообщения. В любой момент Вы можете изменить тематику такой рассылки или отказаться от нее.
Как и многие другие сайты, StoreLand использует технологию cookie, которая может быть использована для продвижения нашего продукта и измерения эффективности рекламы. Кроме того, с помощь этой технологии StoreLand настраивается на работу лично с Вами. В частности без этой технологии невозможна работа с авторизацией в панели управления.
Сведения на данном сайте имеют чисто информативный характер, в них могут быть внесены любые изменения без какого-либо предварительного уведомления.
Чтобы отказаться от дальнейших коммуникаций с нашей компанией, изменить или удалить свою личную информацию, напишите нам через форму обратной связи
AlexGyver/POV_display: Вращающийся светодиодный дисплей на Arduino и WS2812
Описание проекта
Вращающийся дисплей Особенности:
- Собран из доступных компонентов, на адресной ленте WS2812
- Разрешение 10 градусов
- Плавный разгон и торможение (уменьшение нагрузки на редуктор и муфту)
- Воспроизведение 9-кадровой анимации (Arduino NANO/UNO/MINI)
- На Arduino MEGA влезет около 80 кадров анимации
- Подробности в видео: https://youtu.
be/RL3j-3fyWM8
Папки
ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию
- libraries – библиотеки проекта. Заменить имеющиеся версии
- POV_display – прошивка
- images – исходники картинок
- schemes – схемы подключения
Схемы
Материалы и компоненты
Ссылки оставлены на магазины, с которых я закупаюсь уже не один год
Почти все компоненты можно взять в магазине WAVGAT по первым ссылкам
- Arduino NANO 328p – искать
- https://ali.ski/tI7blh
- https://ali.ski/O4yTxb
- https://ali.ski/6_rFIS
- https://ali.ski/gb92E-
- Адресная лента (под нарезку)
- https://ali.ski/crrqi1
- https://ali.ski/2I3be
- Купить в РФ, 60 свет/метр, 30 свет/метр
- Black PCB / White PCB – цвет подложки ленты, чёрная / белая. В видео была чёрная
- 1m/5m – длина ленты в метрах (чтобы заказать 2 метра, берите два заказа 1m, очевидно)
- 30/60/74/96/100/144 – количество светодиодов на 1 метр ленты.
В видео использовалась лента 60 диодов на метр
- IP30 лента без влагозащиты (как на видео)
- IP65 лента покрыта силиконом
- IP67 лента полностью в силиконовом коробе
- Постфикс ECO – лента чуть более низкого качества, меньше меди, на длинной ленте будет сильно проседать яркость
- Лента как на видео: White PCB 144. Берите IP30
- Датчик Холла https://ali.ski/R0w7s или такой https://ali.ski/zBqc8
- Мотор https://ali.ski/6Ynot3
- Повышайка https://ali.ski/PL0ghf
- Мосфет модуль (вместо голого фета) https://ali.ski/D2_DMh
- Штекер https://www.chipdip.ru/product/sp20-6.35s-n
- Гнездо https://www.chipdip.ru/product/st-008s-04
- Блок питания 5V – любой зарядник для смартфона
- Транзисторы, конденсаторы, кнопки и резисторы – в ЛЮБОМ магазине радиодеталей
Вам скорее всего пригодится
Как скачать и прошить
- Первые шаги с Arduino – ультра подробная статья по началу работы с Ардуино, ознакомиться первым делом!
- Скачать архив с проектом
На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP
- Установить библиотеки в
C:\Program Files (x86)\Arduino\libraries\
(Windows x64)C:\Program Files\Arduino\libraries\
(Windows x86) - Подключить Ардуино к компьютеру
- Запустить файл прошивки (который имеет расширение .
ino)
- Настроить IDE (COM порт, модель Arduino, как в статье выше)
- Настроить что нужно по проекту
- Нажать загрузить
- Пользоваться
Настройки в коде
#define NUM_LEDS 72 // количество светодиодов
#define BRIGHTNESS 200 // яркость
#define MOTOR_MAX 160 // скорость мотора (0-255)
#define RES 10 // разрешение (каждые n градусов)
#define COEF 0.3 // коэф. сглаживания частоты оборотов
#define PODGON 1.3 // коэф. подгона (у, блет)
#define OFFSET 240 // сдвиг по углу (0-360)
#define NUM_FRAMES 8 // количество фреймов анимации
#define FRAME_RATE 30 // количество перерисовок между сменой кадра
#define PIN 4 // пин ленты
#define MOS 3 // пин мосфета (мотора)
#define BTN1 8 // пин кнопки 1
#define BTN1_G 6 // земля кнопки 1
#define BTN2 11 // пин кнопки 2
#define BTN2_G 9 // земля кнопки 2
FAQ
Основные вопросы
В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP
В: Скачался какой то файл .
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.
В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/
В: Вылетает ошибка загрузки / компиляции! О: Читай тут: https://alexgyver.ru/arduino-first/#step-5
В: Сколько стоит?
О: Ничего не продаю.
Вопросы по этому проекту
В: Подойдёт ли обычная RGB лента?
О: Нет.
Полезная информация
Arduino светодиодный экран своими руками. Особенности и нюансы сборки
Прочитав нашу статью, вы будете знать, как сделать Arduino светодиодный экран своими руками, какие существуют особенности работ при создании LED модуля.
Любой радиолюбитель-энтузиаст способен собрать полноценный лед экран своими руками. В продаже есть элементная база на любой вкус: отдельные адресные светодиоды RGB, готовые блоки-модули, лента и т. д. Для управления применяются разнообразные контроллеры. Довольно популярным являются решения от Arduino.
Делаем LED модуль своими руками
Первый этап – сборка матрицы
Потребуется набор RGB светодиодов под управлением адресных микросхем типа WS2811. В зависимости от размеров и разрешения собираемого экрана нужно будет от сотни до нескольких тысяч.
Есть 4 варианта выбора комплектующих:
- Светодиоды россыпью, которые соединяются вручную. Преимущества – нет привязки к расстоянию между элементами. Недостатки: кропотливая работа по соединению шлейфов с помощью паяльника (этим инструментом нужно владеть в совершенстве).
- Эти же светодиоды, с уже припаянными шлейфами. Предлагаются комплектами по 50 или 100 шт. Цена немного выше, но монтаж существенно проще. Есть ограничения по длине шлейфа между LED элементами.
- Светодиодные ленты. Монтаж самый простой, но для применения на улице потребуется герметичный корпус. К тому же, на небольшом расстоянии, такой светодиодный экран выглядят не эстетично (в выключенном состоянии).
- Матрицы из SMD светодиодов. Это готовый модуль с правильной геометрией. Остается лишь пропаять (точечно) соединительные контакты – и экран любого размера готов. Также требуется защита при уличном монтаже.
Важно! Диоды на адресных микросхемах могут иметь питание 5В или 12В. Так что, будьте внимательны при выборе комплектующих.
Через каждые 50-100 диодов (по цепочке) необходимо продублировать питание (в параллель), чтобы не было затухания по яркости.
Для управления экраном подключается контроллер Arduino. Просто соединяем диодную панель с нужными контактами. Для использования внешнего источника информации (видеокарта, DVD-проигрыватель и т.д.) потребуется дополнительный модуль.
Второй этап – программирование
Типовая программная среда: Arduino Software (IDE). В ней пишутся программы управления, так называемые скетчи. Для удобства существуют готовые библиотеки: AdafruitNeoPixel, FastLED и пр. Их можно встраивать в ваш скетч, или преобразовывать по усмотрению разработчика программы.
Язык управления и программирования Arduino несложный. Любой начинающий любитель легко разберется с логичными командами.
По материалам сайта Apex-led.ru.
8 bit ws2812 5050 rgb led smart full color led display module board geekcreit for arduino – products that work with official arduino boards Sale
Доставка
Общее расчетное время, необходимое для получения заказа, показано ниже:
- Вы размещаете свой заказ
- (Время обработки)
- Мы отправляем ваш заказ
- (Время доставки)
- Доставка!
Общее расчетное время доставки
Общее время доставки рассчитывается с момента размещения вашего заказа до момента его доставки. Общее время доставки разбито на время обработки и время доставки.
Время обработки: Время, необходимое для подготовки вашего(их) товара (ов) для отправки из нашего склада. Это включая подготовку ваших товаров, проверку качества и упаковку для отправки.
Время доставки: Время нужно вашему(им) товару(ам) для отправления из нашего склада в вашего назначения.
Рекомендуемые способы доставки для вашей страны/региона приведены ниже:
Доставка до: Отправка изМетод(ы) доставки | Срока доставки | Информация о треке |
---|
Примечание:
(1) Время доставки, указанное выше, относится к расчетному времени рабочих дней, которое будет отправлена после отправки заказа.
(2) Рабочие дни не включают субботу/воскресенье и любые праздничные дни.
(3) Эти оценки основаны на нормальных обстоятельствах и не являются гарантией сроков доставки.
(4) Мы не несем ответственности за сбои или задержки в доставке в результате любого форс-мажорного события, такого как стихийное бедствие, непогоды, войны, таможенные вопросы и любые другие события, находящиеся вне нашего прямого контроля.
(5) Ускоренная доставка не может использоваться для адресов PO Box
расчетные налоги:предполагаемые налоги: может применяться налог на товары и услуги.
Способ оплаты
Мы поддерживаем следующие способы оплаты.Нажмите для получения дополнительной информации, если вы запутались в как платить.*В настоящее время мы предлагаем COD платежи для Саудовской Аравии, Объединенных Арабских Эмиратов, Кувейта, Омана, Бахрейна, Таиланда, Сингапура, Малайзии, Филиппин, Индонезии. Мы отправим код подтверждения на ваш мобильный телефон, чтобы подтвердить правильность ваших контактных данных. Пожалуйста, убедитесь, что вы следуете всем инструкциям, содержащимся в сообщении.
*
Светодиодный матричный дисплей на MAX7219
Всем привет!
Сегодня в статье расскажу как сделать бегущую строку на матричном дисплее 8 х 8 пикселей.
В основе матрицы лежит микросхема MAX7219. Которая принимает последовательный сигнал трехпроводной последовательной шины Microwire, пакетами по 16 бит из которых 8 бит это данные и 4 бита это адрес столбца светодиодов. Всего 8 столбцов по 8 светодиодов в каждом.
Модули матриц допускают каскадирование для управления большим числом светодиодных матриц. Каждый из светодиодных столбцов дисплея имеет независимую адресацию и его содержимое может быть обновлено без необходимости перезаписи всего экрана. Микросхема драйвера MAX7219 имеет встроенный буфер и может переходить в спящий режим с запоминанием информации. А так же поддерживает управление яркостью всей матрицы. LED панель подключена к драйверу по схеме с общим катодом.
Для создания информационной панели или бегущей строки нам понадобятся:
Матрица max7219
Ардуино нано
Провода соединительные
Схема подключения матрицы к arduino:
Для подключения матричного дисплея max7219 к Arduino, понадобится всего пять соединительных проводов типа мама-мама. Из которых два подключаются к питанию +5В и GND, а остальные 3 провода подключаются к шине SPI микроконтроллера arduino. При правильном подключении как правило дисплей должен сразу заработать, при условии , что микроконтроллер запрограммирован ниже приведенным кодом.
Прошивка Ардуино:
Для прошивки бегущей строки Вам понадобится библиотека для arduino с примерами.
Устанавливаем библиотеку LedControl и выбираем пример скетча бегущей строки под названием LedMatrix8x8_4x.ino
Видео демонстрирующее работу бегущей строки на матричном дисплее с микросхемой MAX7219