Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я построил светодиодный дисплей из 144 7-сегментных дисплеев, управляемых Arduino nano. Сегменты управляются 18 микросхемами MAX7219, которые могут управлять до 64 отдельными светодиодами или 8 7-сегментными дисплеями. Массив состоит из 144 дисплеев, каждый из которых состоит из 8 отдельных светодиодов, поэтому в массиве всего 1152 светодиода, которыми вы можете управлять.
Шаг 1. Получите свои компоненты
1 х Arduino Nano
1 х печатная плата
144 x 7-сегментных 1-значных дисплеев с общим катодом
18 x MAX7219
Конденсатор 18 x 10 мкФ (0603)
Конденсатор 18 x 100 нФ (0603)
Резистор 19 x 12 кОм (0603)
1 x женский микро-usb
42 x Женский заголовок
1 x Tiny RTC (опционально)
1 источник питания 2 А
Шаг 2: закажите печатную плату
Здесь вы можете скачать файлы Gerber для печатной платы дисплея. Загрузите их через https://jlcpcb.com/quote#/ или у другого производителя, чтобы заказать их.
Шаг 3: припаяйте компоненты
Припаяйте все компоненты к печатной плате, как показано на схемах. Если у вас мало или совсем нет опыта в пайке SMD, я предлагаю вам сначала посмотреть это руководство по пайке SMD.
Если вы собираетесь использовать дисплей в качестве часов, припаяйте разъемы Tiny RTC сбоку от батареи.
Шаг 4. Отображение в виде часов
Когда вы закончите пайку всех компонентов, загрузите код и загрузите его в Arduino, прежде чем вставлять его на дисплей. Если вы хотите отобразить что-то нестандартное, взгляните на шаг 5.
Шаг 5: Создайте собственный код
Если вы хотите показать что-то нестандартное, вам нужно кодировать это вручную. В примере кода различные сегменты, известные как пиксели, показаны в байтах, каждый бит - один сегмент: 0bDP-A-B-C-D-E-F-G, например. 0b01011011 покажет 5.
В примере кода есть 3 разных способа отображения пикселей. Первый способ - использовать putPixel (x, y, byte); функция для замены одного пикселя дисплея в местоположении x, y (0, 0 - верхний левый, 5, 23 - нижний правый).
Второй способ - использовать addPixel (x, y, byte); она работает почти так же, как функция putPixel (), но вместо замены пикселя добавляет пиксель к исходному.
Последний способ - использовать fillPixel (x1, y1, x2, y2, byte); функция для заполнения прямоугольника от x1, y1 до x2, y2 теми же пикселями.
Шаг 6: Готово
Поздравляю, все готово! Теперь вы можете запрограммировать дисплей так, как вам нравится. И если вы сделали дисплей, не забудьте поделиться им:)