Подключение светодиодной матрицы к ардуино: Arduino: LED-матрица 8×8

Содержание

Светодиодная матрица ардуино, матрица 16×16

В этом видео мы познакомимся с матрицей 16 на 16 собранной на светодиодах WS 2812b. Разберём как управлять любым из 256 светодиодов. Научимся включать и выключать, менять цвет и выводить сложные рисунки. Печатать текст и делать бегущие строки.
Я уже делал видео про светодиоды WS 2812b и собирал на них гирлянду на окно. Получилось очень даже красиво. Посмотреть можно здесь.

Вот так выглядит сама матрица 16х16.

Поговорим что же такое светодиоды WS 2812b, или их ещё называют «Умные светодиоды», или НЕО пикселы.
В составе каждого НЕО пиксела есть свой собственный встроенный контроллер 5050, и он позволяет управлять отдельно каждым светодиодом в матрице.

Размеры такой матрицы 16 на 16 сантиметров, а соединив их последовательно можно собирать из них длинные ленты на которых можно делать бегущие строки или большие экраны и показывать на них рекламу.

 

Из матрицы выходит 8 проводов.
6 из них это питание, а два — это вход DIN и выход DOUT.
Светодиоды потребляют большой ток и если оставить всего два провода питания вначале ленты, то в конце может быть большая просадка по напряжению, или большой ток может просто пережечь тонкие токопроводящие дорожки на блоках светодиодов в матрице.

В режиме белого цвета он доходит до 60 миллиампер. Получается он из смешения 3-х цветов. Красного-Зелёного-Голубого. Каждый из них в среднем потребляет по 20мА. в среднем каждые 10 светодиодов потребляют 0,5 Ампера.

Для питания матрицы нельзя использовать контакты +5 вольт с Ардуино. Нужен отдельный блок питания. Для матрицы 16 на 16 подойдёт адаптер, например от зарядки телефона, но он должен быть напряжением 5 вольт и иметь силу тока от 2-х ампер. Лучше больше двух ампер если у вас будет много белого цвета и статичные узоры.
Если вы будете использовать яркость меньше 50 процентов, то двух ампер вам хватит. В этом видео я установил яркость всего на 10 процентов и этого вполне достаточно.

Первые два провода — это питание начала ленты, затем середина, а оставшиеся два конец ленты.
На проводах начала и конца есть разъёмы для удобного подключения к другим матрицам.

Вход DIN подключим к выводу 6 Ардуино, а Выход DOUT никуда подключать не будем, так как у нас всего одна матрица.
Если у вас их несколько, то вы должны подключить его к DIN другой матрицы.

Вот некоторые примеры что можно сделать на такой матрице.

Для работы нам понадобятся несколько библиотек от компании Adafruit.

Adafruit NeoPixel.h — для управления лентами,
Adafruit NeoMatrix.h — для управления матрицами и
Adafruit-GFX-Library.h — для различных эффектов.

После установки этих библиотек вы можете запустить примеры из этих библиотек. Единственное что вам надо в них поменять это пин Ардуино к которому у вас подключена матрица.  По умолчанию там стоит шестой(6). И количество светодиодов по горизонтали и вертикали.

Например вот так. 
Матрица подключена к 6 пину Ардуино.
По горизонтали 16 светодиодов
По вертикали 16 светодиодов.
Яркость 50%

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>

#define PIN        6
#define MW         16
#define MH         16
#define BRIGHTNESS 50

Скачать все примеры и библиотеки можно в описании к видео на моём канале «Ардуино для начинающих». Там же вы можете задать вопрос или написать комментарий.

Принцип работы ленты WS 2812b — матрицы 16х16.
На вход первого контроллера(НЕО пиксела) передается поток данных.
В каждом пакете которого содержится 3 байта со значением цвета для каждого из 3 светодиодов в пикселе. 
Контроллер первого пиксела забирает первые 3 байта(24 бита), и устанавливает цвет в соответствии с содержимым, а остальной поток пропускает к следующим пикселам, и так до момента пока не возникнет пауза в 50 мкс,  Это конец потока данных.

В WS 2812b имеется 3 светодиода (красный, синий и зеленый) и ШИМ-драйвер управляющий их яркостью. 
ШИМ-драйвер 8-ми битный, поэтому для каждого из трёх цветов возможны 256 градаций яркости.
Получается, что для того чтобы установить яркость для каждого из 3-х светодиодов нужно передать пикселю 8 умножить на 3. Получается 24 бит или 3 байта информации. 
Протокол передачи информации светодиоду с фиксированной скоростью.

Каждый из пикселей WS2812B имеет 2 вывода питания (VDD, VSS), вход (DIN) и выход (DOUT).

Пиксели соединяются в цепочку следующим образом


Посмотреть как работает матрица, а так же как делать бегущие строки, выводить свои изображения на матрицу и многое другое можно посмотреть в видео.

Управление светодиодной матрицей с помощью MAX7219 » NGIN.pro

Управление светодиодной матрицей с помощью MAX7219
Светодиодные массивы — это очень весело, а управление ей проще, чем вы думаете. В этой статье, вы узнаете, построение и принцип работы светодиодной матрицы и как управлять ею с использованием микроконтроллера MAX7219.

Шаг 1: Элементы

8 х 8 Матрица
MAX7219 Драйвер
0.01 мкФ
10 мкФ
Макетная плата
28кОм резистор
перемычки

Шаг 2: Принцип работы светодиодной матрицы

Светодиодная матрица представляет собой набор светодиодов, они могут быть организованы во многих моделях. Здесь мы рассмотрим шаблон матрицы. Матрица определяет прямоугольную или квадратную форму, состоящую из пересекающихся строк и столбцов. Пересечение этих строк и столбцов, имеют важное значение.

Давайте начнем с того, на светодиоде есть отрицательный (катод) вывод, который подключен к земле, и положительный (анод), который подключен к источнику питания. Контакт питания подключается к микроконтроллеру. Аноды и катоды соединены так, что образуют столбцы и строки.

Если мы хотим контролировать каждый светодиод индивидуально, каждый светодиод в матрице должнен иметь контакт. Для матрицы 8×8 потребуется 64 контакты. Это много! К счастью, есть что-то называют мультиплексированием, которое уменьшает число выводов до 16 для того, чтобы контролировать светодиодную матрицу. Затем могут быть переданы на номер строки или столбца, например, строки 1-8 (R1 — R8) или колонки 1-8 (C1 — C8).

Мультиплексирование работает путем включения светодиодов в одной строке или столбце. Каждая строка включается и выключается последовательно, достаточно быстро для человеческого глаза, что заставляет нас видеть статическое изображение.

Шаг 3: Подключение
Если мультиплексированная матрица подключается к микроконтроллеру, каждый из 16 контактов на матрице должен быть подключен к 16 цифровых линий ввода / вывода. Для этого удобно использовать микросхему MAX7219. Она принимает все 16 пинов матрицы 8х8 и уменьшает число контактов, подключенных к контакту микроконтроллера 3, the data in, Load (CS) and CLK.

Определение контактов на матрице
Перед тем как матрица подключается к микросхеме, вам необходимо определить, какие контакты соответствуют столбцам и строкам. Мы можем это выяснить, посмотрев на таблицу данных для нашей светодиодной матрицы.

Подключение MAX7219 к матрице
После того, как контакты определены, они могут быть подключены к микросхеме. Глядя на даташит, мы видим, что есть Seg и Dig пины. Контакты Seg подключаются к анодам, контакты Dig подключаются к катодам.

 Чтобы было легче, на рисунке показана карта какие выводы матрицы подключить к контактам  микросхемы MAX7219.

Подключение MAX7219 к Edison

контакты контроллера 4 и 9 -> GND
контакт контроллера 19 -> +5V
контакт контроллера 12 / Load (CS) -> 10
контакт контроллера 13 / Clock -> 11
контакт контроллера 1 / Data In -> контакт 12

Шаг 4: Код

Перед загрузкой программы, нужно загрузить и поместить в библиотеки Arduino библиотеку LedControl. h
Для включения светодиода, необходимо отправить целое число 0 или 1 с помощью ПО. Рисунок можно представить в виде сетки из светодиодов или пикселей. Светодиодам, которые должны быть включены — присваивается 1, светодиоды, которые должны быть выключены — присваивается 0.

Помните, что мы работаем с матрицей колонки катода, так что мы будем посылать данные рядами. Если одна строка выступает как массив, вы можете включить R1, посылая бинарную логику:

R1: 10011001
Затем вы можете включить строки 2 — 8, отправив следующее:

R2: 01011010

R3: 00111100

R4: 11111111

R5: 11111111

R6: 00111100

R7: 01011010

R8: 10011001

Путем включения и выключения светодиодов в сетке, может быть сделано любое статическое изображение, в пределах ограничений разрешения матрицы. Что делать, если вы хотите создать анимацию? Это проще, чем вы можете подумать. Каждый кадр анимации просто нужно рассматривать как статическое изображение. Загрузите функцию с массивами, которая удерживает каждый кадр анимации. Для того, чтобы изменять частоту кадров, ставьте delay () после каждого кадра со значением в миллисекундах.

Загрузите прилагаемый пример кода и перейдите к следующему шагу, чтобы узнать, как загрузить это в Edison. Программа отображает статический знак восклицания (!), Звездочку (*) и сердце и анимированное взрывающееся сердце.
Скачать файл: matrixstaticanimation.zip [1,51 Kb] (cкачиваний: 282)

Шаг 5: Загрузка в Edison

Эдисон может быть запрограммирован с помощью Eclipse, и Arduino IDE. Языки, которые могут быть использованы, это C / C ++, Arduino и javascript.

Intel имеет обширную документацию на своем веб-сайте для Edison и Galileo. Ниже перечислены некоторые из основных шагов, которые необходимо учитывать при подготовке к загрузке программы на Edison со ссылками на соответствующие страницы.

Arduino

Проверьте, что ваш Edison прошит до последней прошивки и узнайте, как подключиться к нему через USB. Для того, чтобы загрузить Eclipse, вам также необходимо подключить его к сети Wi-Fi, с Arduino это не обязательно.

Скачать Arduino IDE от Intel, когда вы откроете его, вы увидите платы Intel Edison и Galileo в меню Tools. Рекомендуется понимание Arduino перед тем как начать работу с версией Intel.

Рекомендуемая литература:

Начало работы с Arduino

Upload your first blink sketch to the Edison

Удачи!


Источник


Часы – матрица на Arduino и адресных светодиодах WS2812B.

Это уже 2 версия часов матрицы на Arduino и адресных светодиодах WS2812B. Первый вариант собирал год назад. Допустил пару ошибок. От выбора пластика до реализации рассеивателя. Но обо всем по порядку.

Печать деталей и сборка корпуса.

Распечатался детали для часов. 3D модели сам не делал, а взял готовый из интернета. Вы можете скачать модели со страницы автора или внизу страницы в разделе «файлы для скачивания».

Печатаю я на своём принтере Anet A8 на стекло. Это достаточно недорогой, но эффективный способ печати.

Для того, чтобы деталь держалась хорошо, используя клей ПВА, наношу его на стекло. Но перед тем как печатать данный проект, у меня закончился клей, которым я мазал стекло. И решил я нанести столярный клей.

Предварительно развёл его водой. На первый взгляд результат ничем не отличался. Детали приклеились ещё лучше. Клей при высыхании становится прозрачным. Ну, в принципе, как всегда. После распечатки клей смываю горячей водой. Но, тут ожидал меня сюрприз.При смывании клей не отходил, становился белым

.

Это меня очень сильно расстроила. После чего положил заготовки в горячую воду и оставил на ночь. Клей так и не отошёл. Хороший клей. Но нельзя этих целей.

Принял решение покрасить часы темно – серым цветом, развёл краску.

Цвет подбирать помогал сын. В итоги вот такой оттенок получился, мне очень понравился. С помощью тампона из губки нанёс краску на корпус часов в 2 слоя. И вот что получилось. Теперь можно приступить к сборке часов.

Сборка корпуса часов матрицы.

Приступаю к сборке часов. Для этого нам понадобится светодиодная лента, 60 светодиодами на метр.

Клеим на 2 плоские пластины-основания. Таким образом, чтобы подключение ленты была в левом нижнем углу. И укладываем ленту в виде зигзага. Важно на данном этапе не перепутать направление ленты.

Беру шлейф от компьютера, который раньше использовали для подключения CD-rom. Разделяю на 3 проводника. Нарезаю проводники нужной длины. И зачищаю края каждого провода.

Припаял провода по направлению светодиодной ленты так, чтобы получился зигзаг.

Подключаю к ESP8266, в которой загружен код из предыдущего проекта: «Елочная гирлянда на ESP8266 (ESP32). Управление с приложения».

Тестирование показала, что все сделано правильно, и светодиоды светятся. Устанавливаю решётки поверх светодиодной ленты. На светодиоды нанёс термоклей. Чтобы усилить эффект рассеивания.

После чего приступает к сборке корпуса. Для соединения двух основных частей, использую специальные фиксаторы, которые ставятся сверху и снизу в местах соединения корпуса часов.

На решётку корпуса устанавливаю матовый пластик, который вырезал из коробки под нитки. Коробку под нитки купил незадорого в фикс-прайсе.

Установил внутреннюю часть со светодиодами в корпус. Затем поставил боковые накладки, которые закрывают провода. Поверх накладок устанавливаются ножки. И с помощью винтов М3 длинной 10 мм. Закрепляю корпус и ножки. По центру часов устанавливаю корпус под электронику, который также служит фиксатором конструкции.Все скрепляю винтами М3.

Проверка электроники часов на Arduino.

Пришло время проверить работоспособность часов на Arduino и адресных светодиодах WS2812B. Для этого собираем электронику на макетной плате.

Для проекта на Arduino понадобится следующая электроника:

  • Arduino Nano или Arduino Pro Mini.
  • Лента адресных светодиодов WS2812B.
  • МодульDS-3231 или DS-3231 mini.
  • Две тактовые кнопки.
  • Соединительные провода.
  • Макетная плата.
  • Блок питания 5в. 700 мА.

Схема подключения часов матрицы на Arduino NANO.

Для тестирования и проверки кода часов матрицы собрал электронику на макетной плате по схеме.

Протестировал и поправил код, и вот что получилось.

Пришло время установить электронику в корпус часов. Плату решил использовать Arduino Pro Mini. Так как они есть у меня в наличии, и занимает меньше места в корпусе часов.

Установка электроники в корпус часов.

Подготовил всю необходимую электронику.Нарезал провода нужной длины. На необходимые проводники установил разъём Dupont. Загрузил прошивку в Arduino Pro Mini. Как это сделать, читайте в статье: «Прошивка Arduino Pro Mini с помощью конвертера PL2303HX». И после чего приступим к пайке.

Схема подключения часов на Arduino Pro Mini и светодиодах WS2812B.

Паяем электронику по схеме.

Вот такой результат получился, осталось уложить все в корпус часов.

Чтобы Arduino Pro Mini и DS-3231 не стучали об корпус, приклеил их на двухсторонний вспененный скотч.

Тактовые кнопки устанавливают на место и креплю специальными пластинами, распечатанными заранее. Устанавливаю крышку на бокс с электроникой.А теперь можно подключить часы к питанию и приступить к финальному тестированию.

А сейчас немного о прошивке часов.

Код часов на Arduino и светодиодах WS2812B.

Для начала необходимо установить 2 библиотеки: DS3232RTC –для работы с модулем реального времени DS3231 и FastLED – для управления адресными светодиодами WS2812B.

Внимание! При установке библиотеки FastLED будьте внимательны нужно ставить версию, не больше, чем 3.3.2. Если у вас уже установлена более поздняя версия библиотеки, её нужно переустановить.

Установить эти библиотеки можно из файла. Скачать их можно внизу статьи в разделе «файлы для скачивания».

Также установить данные библиотеки можно через менеджер библиотек. Для этого в Arduino IDE переходим в пункт меню Скетч > Подключить библиотеку > Управлять библиотеками …

Подождите, пока диспетчер библиотек загрузит индекс библиотек и обновит список установленных библиотек.

Отфильтруйте результаты поиска, набрав «DS3232RTC». Устанавливаем последнюю версию библиотеки.

Затем установить библиотеку FastLED для этого отфильтруйте результаты поиска, набрав «FastLED».

Выбираем версию 3.3.2. и устанавливаем. Если у вас была установлена более новая версия, её нужно переустановить что можно сделать через менеджер – библиотека. Аналогичным образом.Выбрать нужную версию и нажать, установить. Ваша версия библиотеки будет переустановлена на ту версию, которую вы выбрали.

Модуль DS-3231 подключён по шине I2C, по этому контакт SDA подключаем к пину А4 Arduino и SCL подключаем к A5.

#define LED_PIN 6                     // Пин поключения ленты 6

Контакт данных ленты подключаем к 6 пину Arduino. Тактовые кнопки подключаем к 3 и 4 пинам Arduino.

byte button_1 = 4;  // кнопка
byte button_2 = 3;  // кнопка

Данные настройки можно оставить без изменений, но про них нужно знать.

После чего можно приступить к загрузке скетча в Arduino. Код мы рассмотрели, тут ничего сложного нет, а сейчас приступим к сравнению предыдущей версии часов с текущей.

Сравнение первой версии часов с данной реализацией.

Подобные часы я уже собирал около года назад, но допустил ряд ошибок:

  • Напечатал пластиком PLA.И буквально через месяц пластик начал трескаться, и часы потеряли свою привлекательность. Данную версию напечатал пластиком PETG.
  • Размер матрицы не позволяла водить время в формате 24 часа, что было исправлено в данном весе часов.
  • В первой версии не было фальш – панелей, которые прикрывают провода. Что исправлено данной версии.
  • В данной версии также реализовал вывод температуры со встроенного датчика модуля часов DS3231.Данные не очень точные, это связано с тем, что модуль установлен в корпус. И реагировать на изменение температуры будет медленно. Но в помещении нет резких перепадов температуры, и данной точности будет достаточно.
  • Покрасил корпус часов матовым серым цветом, что делать часы более красивыми.

На этом различия заканчиваются. Первая версия часов тоже неплохая. Я бы их повесил в коридоре или поставил в комнате. Но так как пластик потрескался, они пылятся на полке. Возможно, я их разберу и комплектующие, используя при реализации других проектов.

Понравились часы, не забудь нажать на сердечко. И поделиться с друзьями в соцсетях нажав на иконку в правом верхнем углу статьи. Или ниже статьи, если вы читаете с телефона.

Понравился проект Часы – матрица на Arduino и адресных светодиодах WS2812B? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Скачивая материал, я соглашаюсь с Правилами скачивания и использования материалов.

Код часов на Arduino и светодиодах WS2812B.ino11 Kb 1174Скачать
библиотека FastLED .zip331 Kb 625Скачать
библиотека DS3232RTC .zip48 Kb 616Скачать
Файлы для печати . zip958 Kb 644Скачать

Соединение с помощью перемычек | Светодиодная матрица RGB 32×16 и 32×32

Сохранить Подписаться

Пожалуйста, войдите, чтобы подписаться на это руководство.

После входа в систему вы будете перенаправлены обратно к этому руководству и сможете подписаться на него.

МЫ НЕ ГАРАНТИРУЕМ УСПЕХ ПРИ ИСПОЛЬЗОВАНИИ ПЕРЕМЫЧКИ НА ЭТИ ПАНЕЛИ. ПОЖАЛУЙСТА, ИСПОЛЬЗУЙТЕ ПЕРО/ЩИТ/ШЛЯПУ, ЧТОБЫ ПРОВОДКА СДЕЛАЛА ЗА ВАС! Мы не предлагаем никакой поддержки при ручном подключении, ЭТО СЛИШКОМ СЛОЖНО ОТЛАДИТЬ!

Плоские кабели и соответствующие им разъемы иногда представляют собой топологическую головоломку. Вот хитрость, которая поможет отслеживать…

Если вы держите ленточный кабель ровно — без складок — и с обоими разъемами, обращенными к вам, ключи направлены в одном направлении — теперь между штырьками соотношение 1:1. Правый верхний контакт на одном разъеме связан с правым верхним контактом на другом разъеме и т. д. Это справедливо даже в том случае, если кабель имеет двойную компенсацию натяжения. Пока ключи направлены одинаково и вилки обращены одинаково, контакты находятся в одинаковых положениях на обоих концах.

Подключен к разъему на светодиодной матрице, теперь один разъем обращен к далеко от вас. Если свернуть кабель вдвое (не скрутить, а согнуть)… чтобы получить доступ к определенному контакту на разъеме, левый и правый столбцы теперь зеркально отражены (ряды расположены в том же порядке — красная полоса обозначает точку соединения). ссылка). Вы смотрите «вверх» в вилку, а не «вниз» в розетку.

Например, R1 (верхний левый штырек разъема INPUT) появляется в верхней правой открытой вилке. Вы можете вставить проволочную перемычку в это отверстие в соответствующий контакт на Arduino…

Итак! На предыдущей странице обратитесь к сокету, который подходит для вашего типа матрицы. Ярлыки могут немного отличаться (или вообще отсутствовать), но большинство из них довольно близки к тому, что показано здесь.

 

Затем поменять местами столбцы , чтобы найти правильную позицию для данного сигнала.

Любой конец ленточного кабеля можно подключить к разъему INPUT матрицы. Обратите внимание, что «ключ» всегда направлен одинаково.

Свободным концом ленты к центру матрицы можно спрятать Arduino за ней.

Когда свободный конец шлейфа находится сбоку, удобнее одновременно видеть и переднюю часть матрицы, и плату Arduino для выполнения дополнительных подключений или устранения неполадок.

Использование проводов с цветовой маркировкой очень помогает ! Если у вас нет цветных проводов, ничего страшного, просто внимательно следите за тем, куда что идет. Наша цель – полностью укомплектованная вилка, например 

.

Итак! Приступим к разводке, по группам…

32×32 и 64×32 Матрицы требуют трех соединений заземления . 32×16 матрицы имеют четыре .

 

Текущий форм-фактор Arduino Uno  платы имеют три контакта заземления (третий находится рядом с контактом 13). Если вам нужны дополнительные соединения с землей — для матрицы 32×16 или при использовании старой платы Arduino только с двумя контактами заземления — для соединения всех этих контактов удобна макетная плата без пайки.

 

9Платы 0016 Arduino Mega имеют пять контактов заземления . Те же три, что и у Arduino Uno, плюс еще два рядом с контактами 52 и 53. дисплея.

 

На платах Arduino Uno и Adafruit Metro (328, M0 или M4) подключите их к цифровым контактам 2 , 3 и 4 .

 

На Arduino Mega подключите к контактам 24 , 25 и 26 .

Выводы R2 , G2 и B2 (обозначенные R1, G1 и B1 на некоторых матрицах) передают данные в нижнюю половину дисплея. Они подключаются к следующим трем контактам Arduino…

 

На Arduino Uno и Adafruit Metros это контакты 5 , 6 и 7 .

 

На Arduino Mega , контакты 27 , 28 и 29 .

Контакты A , B , C и D выбирают, какие две строки дисплея горят в данный момент. (Матрицы 32×16 не имеют D-контакта — вместо этого он подключен к заземлению .) А3 . Это тот же для всех плат.

Сигнал LAT подключается к контакту Arduino 10 .

Одинаков для всех плат.

Сигнал LAT (фиксация) отмечает конец строки данных.

OE подключается к контакту 9 Arduino. Это одинаково для всех плат.

OE (включение выхода) выключает светодиоды при переходе от одного ряда к другому.

Последний!

CLK подключается к…

  • Pin 8 на Arduino Uno , Adafruit Metro 328 или Metro M0 .
  • Pin 11 на Arduino Mega .
  • Pin A4 на Adafruit Metro M4 (не показано, но вы поняли).

Сигнал CLK (часы) отмечает поступление каждого бита данных.

Вот и все. Теперь вы можете перейти к странице «Тестовый пример кода».

 Подключение с помощью RGB Matrix Shield Подключение с помощью Proto Shield

Это руководство было впервые опубликовано 11 декабря 2012 г. обновлено 11 декабря 2012 г.

Эта страница (Подключение с помощью перемычек) последний раз обновлялась 16 сентября 2022 г.

Текстовый редактор на базе tinymce.

Как собрать светодиодную матрицу Arduino за 3 простых шага | Ардуино

Этот простой учебник научит вас создавать собственный проект светодиодной матрицы и создавать световые узоры с помощью Arduino.

Прокрутите, чтобы продолжить содержание

Светодиодные матрицы — одни из самых популярных проектов, созданных с использованием Arduino. Работать со светодиодами действительно весело, а результат, который вы получаете от них, просто завораживает. Вы можете использовать эти матрицы для различных приложений, чтобы создавать вывески с прокручивающимся текстом и воспроизводить анимацию. Его действительно дешево и просто построить, и его можно легко перепрограммировать с помощью Arduino. Вы даже можете настроить его для использования с выходом музыкальной системы, поэтому вместе с ним мы получаем классные синхронизированные визуальные эффекты.

В этом уроке я покажу вам, как построить причудливую светодиодную матрицу Arduino 8 на 10 (с прокручивающимся текстом и анимацией), используя Arduino и счетчик декад 4017. Вы также можете купить собранную светодиодную матрицу онлайн. Этот тип матрицы легко создать и запрограммировать, и это хороший способ узнать о мультиплексировании.

Как работает светодиодная матрица? Весь этот проект светодиодной матрицы Arduino работает по принципу мультиплексирования. Здесь Arduino подключен к микросхеме счетчика декад 4017 и отправляет данные по двум линиям. Затем мультиплексированные данные от Arduino декодируются в отдельные сигналы для светодиодов через микросхему 4017. Затем это приводит в действие соответствующие светодиоды в различных рядах.

Пайка матрицы Выбор правильных светодиодов является одной из наиболее важных частей этого проекта. потому что правильный выбор очень важен для выполнения этого проекта. Я рекомендую использовать 5-миллиметровые рассеивающие светодиоды, потому что они обеспечивают приличную яркость и обеспечивают четкое изображение.

5 мм рассеивающий светодиод

Паять светодиодную матрицу Arduino — сложная часть, есть много способов сделать это, и я поделюсь с вами своим методом. Вам необходимо соединить все положительные выводы светодиодов столбцами, а отрицательные выводы — рядами. Вы можете использовать макетную плату для пайки светодиодов. Протолкните светодиоды через соседние отверстия на плате. Используйте схему ниже, чтобы соединить светодиодную матрицу Arduino вместе. Затем возьмите положительный вывод первого светодиода, отогните его к другим светодиодам и припаяйте контакты, которые соприкасаются друг с другом. Затем возьмите последний припаянный вывод, снова согните его и повторяйте, пока не соедините все положительные выводы в колонке. Отрежьте лишнюю длину проводов, которые вы не использовали.

Возникла новая дилемма. То есть: соедините отрицательные контакты в ряд, потому что вы не можете их согнуть и припаять, как вы это сделали с положительными выводами, так как они будут замыкать друг друга. Мой метод экономит много времени и проще. Хитрость заключается в том, чтобы наклеить ленту на соединения колонки, чтобы изолировать их от отрицательных контактов. Если вы сделаете это, вы также сможете согнуть отрицательные выводы и соединить их так же, как и с положительными. Они не будут замыкать друг друга, потому что будут изолированы. Схема для светодиодной матрицы Arduino показана ниже:

Подключение светодиодной матрицы Arduino

Через резистор вы должны подключить каждую колонку к Arduino (контакты 0-7). Контакт сброса 4017 подключается к контакту 8 на Arduino, а контакт часов — к контакту 9 на Arduino.

Мультиплексирование для светодиодной матрицы Arduino

Что такое мультиплексирование?

По сути, это способ разделить информацию на маленькие кусочки и отправить их один за другим. Таким образом, вы можете сэкономить много пинов на Arduino и сделать вашу программу простой. В нашем случае мы разделяем изображение, которое хотим отобразить, на 10 частей (10 строк). Мы хотим сканировать строки матрицы (зажигать по одной строке за раз) и отправлять информацию из Arduino в столбцы. Все столбцы — это плюсы светодиодов, а строки — минусы. Таким образом, если первый ряд подключен к земле и мы отправим сигнал на первый столбец, он зажжет только первый светодиод в ряду. Чтобы получить хорошее отображение, нам нужно сканировать строки очень быстро, настолько быстро, чтобы человеческий глаз думал, что все строки соединены одновременно.

Почему IC 4017?

Для управления этой светодиодной матрицей Arduino лучше всего подходит микросхема 4017. Вот хороший сайт для изучения основ этой ИС: 4017 IC. Декадный счетчик 4017 помогает нам с мультиплексированием. Эта микросхема в основном сканирует строки матрицы (загорается по одной строке за раз). В нашем случае мы хотим соединить ряды с землей, но 4017 обеспечивает выходной сигнал и не может заземлить светодиоды. Чтобы решить эту небольшую проблему, нам нужно использовать транзистор с резистором.

Через резистор вы должны подключить каждый столбец к Arduino (контакты 0–7). Контакт сброса 4017 подключается к контакту 8 на Arduino, а контакт синхронизации — к контакту 9 на Arduino.

У 4017 10 выходных контактов, поэтому нам нужно 10 резисторов и 10 транзисторов. Мы подключаем резисторы номиналом 1 кОм к выходам 4017, а другой его конец к базе транзистора, как показано на схеме вверху этой страницы. Далее подключаем коллекторы транзистора к светодиодным рядам, а эмиттер к земле. Вы также можете использовать NPN-транзистор BC547.

Программирование светодиодной матрицы Arduino

Я написал небольшую программу, которая прокручивает текст и добавляет в нее все буквы и цифры. Я использовал порты для своей программы, потому что это экономит место и проще в обращении.

Если вы не знаете, как работать с портами на Arduino, я рекомендую зайти на веб-сайт Arduino, чтобы изучить несколько основных вещей, прежде чем начать. Вот ссылка: Управление портами Arduino.

Пример управления портом

Управление портом очень просто, взгляните на рисунок выше в качестве примера. Красные точки указывают на то, что светодиоды включены, а белые — на то, что они выключены. В первой строке матрицы для включения 2-го и 7-го светодиодов даем команду на порт Arduino: B01000010. Здесь 2-й и 7-й биты равны «1», что, в свою очередь, включает светодиод. «B» указывает Arduino, что порт является выходным портом. Проделываем это упражнение для всех рядов и, наконец, у нас получится смайлик в огнях, как на рисунке выше.

Если вы хотите создавать свои собственные изображения, я сделал небольшой инструмент Excel, который значительно облегчит написание изображений. Вы можете найти его в zip-папке, которую я прикрепил в конце.

И, наконец, не забудьте отключить контакты 0 и 1 при загрузке программы. Эти контакты также используются в качестве контактов для связи и могут вызвать некоторые ошибки в программе.

Загрузите файлы проекта. Готово!

Пожалуйста, поделитесь своими проектами, чтобы мы могли работать вместе! Вот демонстрационное видео светодиодной матрицы Arduino:

Автор

Сохил Патель

Я кодер и очень увлечен компьютерным зрением и электронным оборудованием. Соучредитель www.printajoy.com

Взаимодействие светодиодной матрицы 8×8 с использованием драйвера MAX7219 и Arduino …

Здесь мы продемонстрируем, как соединить модуль светодиодной матрицы 8×8 с Arduino UNO при использовании светодиодного драйвера MAX7219. MAX7219Драйвер светодиодов можно использовать для управления 7-сегментными дисплеями, отображающими до 8 цифр, гистограммами или 64 отдельными светодиодами. Драйвер связывается с Arduino через SPI, поэтому вам нужно всего три провода для управления дисплеем. Поскольку MAX7219 может управлять максимум 64 светодиодами, максимальный размер точечно-матричного дисплея, который он может использовать, составляет 8×8 пикселей. Тем не менее, вы можете последовательно подключить несколько дисплеев для создания одного большого дисплея, подключив DOUT первого дисплея к DIN следующего дисплея. VCC, GND, CLK и CS являются общими для всех дисплеев. В интерфейсе SPI всегда есть одно ведущее устройство (Arduino), которое управляет периферийными устройствами (также известными как ведомые). Вы можете управлять дисплеем либо через аппаратный интерфейс SPI микроконтроллера AVR Arduino, либо через три произвольных цифровых контакта (программный SPI). Аппаратные контакты SPI (MOSI, MISO и SCK) находятся в определенном месте на каждой плате Arduino. Этот интерфейс быстрее, чем использование программного SPI.

 

ФУНКЦИЯ

 

  • Напряжение питания (В): 4,0–5,5 В
  • Потребляемый ток: 330 мА
  • Ток источника привода сегмента: -40 мА
  • Ток выключения: 150 мкА
  • Частота сканирования: 500–1300 Гц, 800 Гц (тип. )
  • Интерфейс: SPI (четырехпроводной)
  • Макс. тактовая частота последовательного порта: 10 МГц (макс.)
  • Рабочая температура (MAX7219E): -40°C ~ 85°C [1]

 

СОЕДИНЕНИЕ

 

MAX7219 Дисплей Ардуино
ВКЦ
Земля Земля
DIN 12 (МОСИ)
КС 10 (СС)
ЦЛК 11 (СКК)

 

Если вместо этого вы хотите использовать программный SPI, вы можете подключить DIN, CS и CLK к любому из цифровых контактов Arduino. Вам просто нужно указать номера контактов в настройках кода Arduino.

 

Принципиальная схема

 

 

БИБЛИОТЕКА

 

 

Чтобы установить библиотеку, выполните следующие действия:

 

МЕТОД 1

 

  • Перейдите в меню «Эскиз».
  • Выберите «Включить библиотеки».
  • Перейти к управлению библиотеками.
  • Найдите LedControl и установите его.

 

МЕТОД 2

 

 

Вы можете установить его извне, используя следующую ссылку. https://github.com/wayoda/LedControl.


После загрузки zip-файлов 


Перейдите в Sketch →  Включить библиотеку → Добавить библиотеку .ZIP 


Затем добавьте загруженные zip-файлы.


Теперь библиотеки включены в вашу Arduino IDE.


Библиотека Adafruit содержит действительно хорошие примеры для дисплеев с разрешением 128×32 и 128×64.


Вы найдете примеры OLED-дисплеев в меню «Файл» > «Примеры» > «Adafruit SSD1306» >, а затем выберите тип дисплея в Arduino IDE.


Самый простой способ отобразить что-либо на точечной матрице — использовать функции setLed(), setRow() или setColumn(). Эти функции позволяют управлять одним светодиодом, одной строкой или одним столбцом одновременно.


Вот параметры для каждой функции


SetLed (адрес, строка, столбец, состояние)

 

addr: это адрес вашей матрицы, например, если у вас есть только 1 матрица, int addr будет равен нулю.
строка: строка, в которой расположен светодиод
столбец:  столбец, в котором расположен светодиод
состояние:   это правда или 1, если вы хотите включить светодиод
            это ложь или 0, если вы хотите выключить его

 

setRow (адрес, строка, значение)
setCol (адрес, столбец, значение)
Как указывалось ранее, эта матрица имеет 8 столбцов и 8 строк. Каждый из них пронумерован от 0 до 7. Вот цифра для лучшего понимания:

Если вы хотите отобразить что-то в матрице, вам просто нужно знать, включены ли в определенной строке или столбце светодиоды или выключены.
.

ТЕСТИРОВАНИЕ

 

ЭТАП 1:

 

Подсоедините кабель A к B  к USB-порту компьютера и убедитесь, что порт обнаружен, установив флажок в диспетчере устройств.

 

 

ШАГ 2:


Откройте два окна Arduino IDE, выберите Arduino UNO в качестве платы и выберите соответствующий COM-порт. Плата
: Инструменты > Плата > Arduino/Geniuno UNO.

 

 

ШАГ 3:


Порт: Инструменты > Порт в Arduino

 

 

ШАГ 4:

  • Скомпилируйте и загрузите указанный выше исходный код на плату Arduino Uno через Arduino IDE.
  • После завершения загрузки вы можете увидеть вывод на светодиодном матричном дисплее 8 * 8

Здание Светодиодную матрицу с Arduino, Powered By CUI.Поскольку многие из нас остаются дома, я трачу свободное время дома, чтобы перебрать свой запас блоков питания и электронных компонентов, чтобы посмотреть, что я могу с ними сделать. Мой первый проект заключался в использовании некоторых старых программируемых светодиодных лент, оставшихся после праздников.

Результатом стала матрица 24 x 18 светодиодов RGB (всего 432 светодиода RGB). Матрица имеет в общей сложности 144 управляемых секции (24 x 6), запрограммированных с различными выбираемыми процедурами.

Рисунок 1: «CUI» на плате светодиодных индикаторов

Обзор платы

Плата изготовлена ​​из куска фанеры с 3 5-метровыми полосами светодиодов, разрезанными на 24 полосы меньшего размера, каждая из которых содержит 18 светодиодов. Цвет светодиодов контролируется Arduino Uno в группах по три (6 групп на полосу из 18 светодиодов) на основе пользовательского ввода с помощью потенциометра и трех кнопок. Плата питается от CUI SDI65-12-U-P6, 60 Вт, 12 В, 5 А, блок питания переменного и постоянного тока, а две внутренние шины +/- 5 В питаются от CUI V7805-1000. Схема демультиплексора используется для маршрутизации данных на светодиодные ленты. Arduino контролирует ток светодиода и управляет питанием светодиодов через реле.

Рисунок 2: Блок-схема платы светодиодов Рисунок 3: Плата светодиодов спереди Рисунок 4: Плата светодиодов сзади
Категория Описание КОЛ-ВО
Контроллер ARDUINO UNO ATMEGA328 EVAL BRD 1
Светодиодные ленты 5 м 150 светодиодов WS2811 светодиодная лента с программируемой цветной подсветкой IP67 Трубка водонепроницаемая белая печатная плата 3
Блок питания НАСТОЛЬНЫЙ АДАПТЕР ПЕРЕМЕННОГО/ПОСТОЯННОГО ТОКА 12 В 60 Вт 1
Плата мультиплексора Демультиплексоры и регулятор 5 В 1
Плата измерения тока Датчик тока и усилитель, с регулятором -5 В, 5 В 1
Плата реле Плата реле, 12 В 1
Плата с кнопками Плата пользовательского интерфейса, три кнопки, один потенциометр, 5 В 1
Рис. 5: Спецификация верхнего уровня

Внешнее питание

В качестве основного источника питания платы используется внешний источник питания SDI65-12-U-P6. Он может постоянно обеспечивать 12 В, до 5 А. Где-то между 5 А и 7,5 А источник питания переходит в режим защиты от перегрузки по току и икает, пока ток нагрузки не упадет обратно. Когда это произойдет, Arduino потеряет питание и перезагрузится, если его шина питания не будет удерживаться достаточно долго, чтобы неисправность была обнаружена и исправлена. Чтобы определить ток и предотвратить сброс контроллера OCP, светодиодные ленты подключены к источнику питания 12 В через схему измерения тока и реле, которым управляет Arduino.

Максимальный ток каждого светодиода составляет 18,5 мА. С 432 светодиодами максимальный ток составляет 8 А, что означает, что при определенных условиях он может вызвать срабатывание OCP. Но это условие применимо только тогда, когда все красные, зеленые и синие светодиоды горят одновременно. Для сплошного красного или зеленого при полной яркости требуется всего 2,7 А. После тестирования я обнаружил, что 4,5 А будет более чем достаточно для всего, что я планировал сделать. Arduino будет отслеживать измеренный ток светодиода и выключать реле, если ток превышает ~ 4,6 А. Это оставляет 5 Вт для других цепей.

Рис. 6: Тестовое измерение OCP — Реле (зеленый) становится низким, когда ток (фиолетовый), определяемый усилителем (светло-синий), превышает 4,78 А, что приводит к отключению напряжения светодиода (темно-синий). Максимальная выходная мощность во время теста составила 57,2 Вт.

Arduino Uno

Плата Arduino Uno, основанная на Atmel ATmega328, используется для управления системой. Связь со светодиодными лентами (или WS2811, который внутренне управляет ими) представляет собой однопроводную связь на основе ширины импульса и обрабатывается библиотекой Adafruit NeoPixel, которая включена в среду разработки Arduino IDE. Все коммуникации, процедуры отображения, пользовательский интерфейс и управление реле запрограммированы на плате Arduino и управляются ею.

Рис. 7: Плата Arduino Uno Рис. 8: Синхронизация связи WS2811

Плата MUX

Каждая из небольших полос имеет одну проводную линию связи, которая была демультиплексирована в одну линию связи платой мультиплексирования, которая управляется Arduino Uno. Плата мультиплексора также служит центральной точкой распределения питания. Внешний источник питания от SDI65-12-U подключается непосредственно к плате мультиплексора. 12 В от источника питания распределяются от платы мультиплексора к плате реле и входу импульсного стабилизатора V7805-1000, который преобразует его в 5 В для демультиплексоров. Шина 5 В также выводится на Arduino и через эту плату на кнопки и платы датчиков тока.

Рисунок 9: Плата MUX Рисунок 10: Схема платы MUX
Категория Описание Арт. КОЛ-ВО
Соединитель 2,0 x 6,5 мм, 5,0 А, горизонтальный, поверхностный монтаж (SMT), разъем питания постоянного тока Дж8 1
Соединитель СОЕДИНИТЕЛЬНАЯ ГОЛОВКА ВЕРТ. 10 ПОЗ. 2,54 ММ Дж1, Дж2, Дж3 3
Ползунковый переключатель Однополюсный двухпозиционный ползунковый переключатель 5A/120 В С1 1
Провод-плата Терминал TERM BLK 2P SIDE ENT 2,54MM PCB Дж4, Дж5, Дж6, Дж7, Дж9 5
Провод-плата Терминал TERM BLK 2P SIDE ENT 5.08MM PCB Дж10 1
Импульсный регулятор DC-DC НЕИЗОЛИРОВАННЫЙ, 2 A, 8~36 В пост. тока ДС1 1
Керамический конденсатор КОЛПАЧОК CER 0,1 мкФ 50 В X7R РАДИАЛЬНЫЙ С3, С4, С5 3
Электролитический конденсатор КОЛПАЧОК ALUM 1UF 20% 50V РАДИАЛЬНЫЙ С2 1
Алюминиевый полимерный конденсатор КРЫШКА ALUM POLY 470UF 20% 16V T/H С1 1
Светодиод СВЕТОДИОД ЗЕЛЕНЫЙ РАССЕЯННЫЙ T-1 3/4 T/H Д1 1
МУКС IC 3-8 LINE DECODER/DEMUX 16-DIP МУКС0, МУКС1, МУКС2 3
Резистор RES 1. 2K OHM 1/8W 5% CF AXIAL Р1 1
Рис. 11: Спецификация платы MUX

Плата измерения тока

Плата измерения тока является частью схемы защиты от перегрузки по току (OCP). Ток к светодиодам протекает через силовой резистор на этой плате, и напряжение этого резистора, пропорциональное току светодиода, измеряется и усиливается операционным усилителем и выводится на Arduino. Коэффициент усиления усилителя регулируется потенциометром с минимальным коэффициентом усиления 1 и максимальным коэффициентом усиления 11. Обычно он установлен на 5, так что выходной сигнал составляет 2,5 А/В входного сигнала (2 В при 5 А). Компаратор, порог которого устанавливается вторым потенциометром, определяет, был ли превышен порог OCP, который включает светодиодный индикатор и выводит логический сигнал на Arduino. Эта плата питается от шины 5 В V7805-1000, поступающей от платы MUX. Он также внутренне создает шину -5 В для операционного усилителя, используя V7805-1000 в его инвертирующей конфигурации.

Рисунок 12: Схема датчика тока Рисунок 13: Схема платы датчика тока
Категория Описание Арт. КОЛ-ВО
Резистор RES 5.1K OHM 1/8W 5% AXIAL Р2, Р8 2
ОУ IC OPAMP GP 1 CIRCUIT 8DIP У2, У3 2
Резистор RES 10K OHM 1/8W 5% AXIAL Р5, Р6, Р10 3
Светодиод СВЕТОДИОД ЗЕЛЕНЫЙ РАССЕЯННЫЙ T-1 3/4 T/H Д1 1
Светодиод LED КРАСНЫЙ РАССЕЯННЫЙ T-1 3/4 T/H Д2 1
Транзистор MOSFET N-CH 60V 200MA TO-92 Q1, Q2 2
Провод-плата Терминал TERM BLK 2P SIDE ENT 2,54MM PCB Дж1, Дж2 2
Керамический конденсатор КОЛПАЧОК CER 0,1 мкФ 50 В X7R РАДИАЛЬНЫЙ С2, С3, С4 3
Импульсный регулятор DC-DC НЕИЗОЛИРОВАННЫЙ, 2 A, 8~36 В пост. тока У1 1
Резистор RES 470 OHM 1/8W 5% ОСЕВАЯ Р1 1
Конденсатор КОЛПАЧОК ALUM 47UF 20% 25V ЧЕРЕЗ ОТВЕРСТИЕ С1 1
Резистор RES CHAS MNT 0,1 Ом 5% 16 Вт Р4 1
Керамический конденсатор КОЛПАЧОК CER 0,01 мкФ 50 В X7R РАДИАЛЬНЫЙ С5 1
Горшок для отделки ТРИММЕР 10K OHM 0.2W PC PIN TOP Р3 1
Горшок для триммеров ТРИММЕР 50K OHM 0.2W PC PIN TOP Р7 1
Рисунок 14: Спецификация платы Current Sense

Релейная плата

Релейная плата представляет собой простое реле и драйвер. Когда управляющий вход становится высоким, реле включает питание светодиодов, а когда оно становится низким, питание отключается от светодиодов. Эта плата работает от 12 В, поступающих от SDI65-12-U-P6 через плату MUX.

Рисунок 12: Плата реле Рисунок 13: Схема платы реле
Категория Описание Арт. КОЛ-ВО
Клемма провод-плата TERM BLK 2P SIDE ENT 2,54MM PCB Дж1, Дж2, Дж3 3
Транзистор Биполярный (BJT) транзистор PNP 40 В 200 МГц 600 мВт сквозное отверстие TO-92 Q1 1
Транзистор N-канальный 60 В 200 мА (Ta) 400 мВт (Ta) сквозное отверстие TO-92-3 Q2 1
Резистор RES 2.2K OHM 1/8W 5% ОСЕВАЯ Р1 1
Резистор RES 110K OHM 1/8W 5% CF ОСЕВОЙ Р3 1
Резистор RES 1.2K OHM 1/8W 5% CF AXIAL Р2 1
Реле РЕЛЕ ГЕНЕРАЛЬНОЕ НАЗНАЧЕНИЕ DPDT 5A 24V К1 1
Рисунок 14: Релейная плата BOM

Плата кнопок

Пользователь может управлять яркостью светодиодов с помощью потенциометра. Три кнопки позволяют пользователю переключаться между различными процедурами отображения и настройками цвета. Эта плата питается от напряжения 5 В, поступающего от V7805-1000 на плате MUX.

Рисунок 14: Панель кнопок Рисунок 15: Схема платы кнопок
Категория Описание Арт. КОЛ-ВО
Кнопки КНОПКА ПЕРЕКЛЮЧАТЕЛЯ SPST 1A 30V С1, С2, С3 3
Провод-плата Терминал TERM BLK 2P SIDE ENT 2,54MM PCB Дж1, Дж2, Дж3 3
Керамический конденсатор КОЛПАЧОК CER 0,1 мкФ 50 В X7R РАДИАЛЬНЫЙ С2 1
Светодиод СВЕТОДИОД ЗЕЛЕНЫЙ РАССЕЯННЫЙ T-1 3/4 T/H Д1 1
Резистор RES 4.7K OHM 1/8W 5% AXIAL Р1 1
Электролитический конденсатор КОЛПАЧОК ALUM 10UF 20% 16V РАДИАЛЬНЫЙ С1 1
Резистор RES 110K OHM 1/8W 5% CF ОСЕВОЙ Р2, Р3, Р4 3
Потенциометр ПОТЕНЦИАЛ 10K ОМ 1/5ВТ ПЛАСТИКОВЫЙ ЛИНЕЙНЫЙ Р5 1
Рис. 16: Спецификация платы кнопок

Результаты

После пайки и сборки плат пришло время запрограммировать некоторые процедуры отображения. С помощью кнопок пользователь может переключаться между различными процедурами, включать и выключать все светодиоды и циклически переключать сплошные цвета, а потенциометр позволяет регулировать яркость светодиодов. Однако при ограниченной памяти существует ограничение на количество и сложность подпрограмм.

Для первой процедуры (до того, как я закончил добавлять все светодиодные ленты) я заменил потенциометр внешним аналоговым входом. К этому входу были подключены микрофон и схема определения уровня, а громкость микрофона управляла светодиодами.

Пожалуйста, примите файлы cookie, чтобы воспроизвести это видео на YouTube.
Узнайте больше о файлах cookie.

Еще одна процедура представляла собой прыгающий квадрат, цвет которого менялся при попадании на край.

Пожалуйста, примите файлы cookie, чтобы воспроизвести это видео на YouTube.
Узнайте больше о файлах cookie.

Наконец, я добавил полностью белый цвет для проверки функции OCP. При увеличении яркости включается схема OCP. В следующем клипе также демонстрируется панель кнопок, переключающая запрограммированные процедуры отображения.

Пожалуйста, примите файлы cookie, чтобы воспроизвести это видео на YouTube.
Узнайте больше о файлах cookie.

Вам также может понравиться

Источники питания переменного/постоянного тока и преобразователи постоянного тока

Рекомендуемые продукты

СДИ65-12-У

Рекомендуемый продукт

В7805-1000

Рекомендуемый продукт


Есть комментарии по этому посту или темам, которые вы хотели бы видеть в будущем?
Отправьте нам письмо по адресу powerblog@cui. com

Работа с монохромными матричными дисплеями



Введение

В отличие от 7-сегментных дисплеев, вы можете использовать дисплеи с точечной матрицей для создания буквенного, цифрового или пользовательского вывода символов. Это краткое введение в основы использования монохромных светодиодных матричных дисплеев с микроконтроллерами.

Структура и работа светодиодных матричных дисплеев

В матричном светодиодном дисплее светодиоды расположены на пересечении столбцов и строк матрицы. Светодиоды в одном ряду соединены вместе, как и светодиоды в одном столбце. На рис. 1 показаны две распространенные конфигурации матричных светодиодных дисплеев.

Рис. 1. Конфигурации матричных светодиодов — CCAR и ACCR

В матрице (рис. 1) слева положительные выводы (аноды) светодиодов подключены к строкам, а отрицательные выводы (катоды) подключены к столбцам. Иногда это указывается в технических характеристиках производителя как Катодная колонка, Анодный ряд (CCAR). В матрице справа соединения обратные – анодный столбец, катодный ряд (ACCR).

Щелкните здесь, чтобы приобрести схему драйвера с точечной матрицей

Необходимое время: 1-2 часа
Уровень опыта: Средний

Комплект схемы драйвера с точечной матрицей 5×7 Включает:

(1) Arduino Uno R3 DIP Edition (версия 3)
(10) 220 Ом, 1/4 Вт, 5% резистор из углеродной пленки
(10) 2N3904 Транзистор общего назначения NPN
(10) 1 кОм, 1/4 Вт, 5% резистор Углеродная пленка
(1) 830-точечная макетная плата без пайки 6,5 x 2,125 дюйма
(1) ZipWire, 40 шт., 20 см, цветные перемычки
(1) Батарея 9 В с разъемом 2,1 мм
(1) Щелочная батарея Energizer 9 В
(1) Светодиодный матричный дисплей 5×7 Красно-оранжевый CC/AR DIP -14

Необходимые инструменты и детали:

Компьютер со свободным USB-портом и установленной Arduino IDE.

Недостаточно контактов на матричном светодиодном дисплее для одновременного прямого доступа ко всем светодиодам в матрице. Например, типичный монохромный матричный дисплей 5×7 имеет 35 светодиодов, но поставляется в корпусе с 12 или 14 контактами. Как вы видите на рис. 2, контакты расположены внутри так, что каждый из них управляет определенной строкой или столбцом.


Рис. 2. Схема контактов светодиода с точечной матрицей.

Доступ к отдельным светодиодам

Вы включаете отдельный светодиод, устанавливая для его выводов строки и столбца правильную полярность. Например, на рисунке 3 в матрице CCAR слева переключатель в строке 1 замкнут (показан красным), что приводит к приложению положительного уровня напряжения к анодам всех светодиодов в этой строке. Переключатель в столбце 2 также замкнут, что связывает катоды всех светодиодов в этом столбце с землей. Светодиод на пересечении столбца 2 и строки 1 смещен в прямом направлении и включается. Изображение справа на рисунке 3 показывает эквивалентное действие (с противоположной полярностью) для матрицы ACCR.

Рис. 3. Адресация отдельных светодиодов на точечно-матричных дисплеях CCAR и ACCR.

Мультиплексирование

Из-за ограниченного количества контактов вы можете одновременно отображать только одну строку или один столбец светодиодов. Чтобы отобразить всю матрицу, вам нужно мультиплексировать столбцы или строки. То есть отображайте каждый столбец или строку по одному и делайте это так быстро, чтобы все столбцы или строки казались видимыми одновременно.

Рис. 4. Мультиплексирование столбцов

Интерфейс микроконтроллеров и матричных светодиодных дисплеев
На принципиальной схеме на рис. 5 показан матричный светодиодный дисплей 5×7, подключенный к Arduino Uno SBC.


Рис. 5. Схема драйвера светодиодного матричного дисплея Arduino Uno 5×7

Матричный дисплей, используемый в примере схемы, представляет собой дисплей CCAR. Он поставляется в 14-контактном корпусе (рис. 6). Штифты выровнены в два ряда. Один вверху, а другой внизу упаковки. Контакт 1 — это первый контакт слева в нижнем ряду.


Рисунок 6: Схема корпуса светодиодного матричного дисплея.

Для управления дисплеем требуется двенадцать цифровых контактов ввода-вывода Arduino — 7 контактов для строк и 5 для столбцов. Контакты 2-6 управляют транзисторами с T1 по T5, которые подключены к контактам столбца матричного дисплея. Транзисторы необходимы, потому что ток через контакты ввода-вывода Arduino ограничен 20 мА. Включение только двух или более светодиодов в столбце может привести к превышению этого предела.

Контакты 7–13 подключены к контактам строки матричного дисплея. Резисторы R6 — R12 ограничивают ток через каждый вывод ряда до уровня менее 20 мА.

Пример кода в листинге 1 представляет собой простой драйвер светодиодного матричного дисплея, который использует мультиплексирование столбцов для отображения шаблона. Отображаемый паттерн хранится в массиве mBuf. Каждый элемент в mBuf содержит значение, указывающее, должен ли соответствующий светодиод на матричном дисплее гореть (1) или выключаться (0). Приложение просто обновляет дисплей текущим содержимым mBuf. Конечно, вы можете изменить значения в mBuf для отображения других символов или шаблонов.

Массивы rowPins и colPins содержат списки контактов ввода-вывода Arduino, подключенных к строкам и столбцам матричного дисплея соответственно. Номера выводов отображаются в массиве в том порядке, в котором выводы подключены к матричному дисплею (например, rowPins[0] подключены к строке 1, colPins[0] подключены к столбцу 1).

Листинг 1

 // mBuf — 2-мерный массив (7 строк, 5 столбцов)
            байт mBuf[7][5] = {
                               {0, 0, 0, 0, 0}, // 0
                               {0, 1, 0, 1, 0}, // 1
                               {0, 0, 0, 0, 0}, // 2
                               {0, 0, 1, 0, 0}, // 3
                               {1, 0, 0, 0, 1}, // 4
                               {0, 1, 1, 1, 0}, // 5
                               {0, 0, 0, 0, 0} // 6
                             };

int rowPins[7] = {7, 8, 9, 10, 11, 12, 13}; // массив, содержащий назначения выводов строки
int colPins[5] = {2, 3, 4, 5, 6}; // массив, содержащий назначения выводов столбцов

void setRowPins(int c) // Устанавливаем выводы строк на значения столбцов mbuff
  {
    инт г;
    для (r = 0; r
 

На каждой итерации основного цикла функция refreshMatrix обновляет матричный светодиодный дисплей содержимым Mbuf, по одному столбцу за раз. Функция refreshMatrix вызывает функцию setRowPins для установки выводов строки ввода-вывода Arduino в соответствии со значениями, найденными в строках текущего столбца. После установки выводов строки, refreshMatrix устанавливает соответствующий вывод столбца ввода-вывода Arduino, чтобы включить транзистор для текущего столбца отображения матрицы. Светодиоды, смещенные в прямом направлении, загорятся. После небольшой задержки refreshMatrix выключает транзистор и переходит к следующему столбцу. Этот цикл повторяется так быстро, что из-за постоянства зрения светодиоды кажутся включенными одновременно.


Рис. 7: Схема драйвера с точечной матрицей 5x7.

Вопросы для обсуждения:

1. Как бы вы обратились к матрице, если бы полярность была обратной? (анодный столбец/катодный ряд)
2. Как работают матричные дисплеи?
3. Если бы не мультиплексирование, сколько пинов потребовала бы эта матрица 5х7?
4. Из всех возможных форм цифр, какие шрифты наименее запутаны?

Как подключить светодиодную матрицу 8х8 к Arduino? – Runtheyear2016.

com

Как подключить светодиодную матрицу 8х8 к Arduino?

Чтобы подключить точечную матрицу к Arduino, просто подключите контакты Vcc и GND к 5V и GND Arduino, а контакты DIN, CS и CLK точечной матрицы можно подключить к любым цифровым контактам Arduino.

Сколько светодиодов будет иметь светодиодная матрица 8×8?

Детали распиновки светодиодной матрицы 8×8 Если мы посмотрим на часть точечной матрицы 8×8, она содержит 16 контактов, из которых 8 контактов используются для строк и 8 для столбцов. Это означает, что в строках и столбцах всего 64 светодиода.

Как сделать светодиодную матрицу 8×8?

Как сделать светодиодную матрицу 8×8

  1. Вам понадобятся следующие детали: макетная плата, (2) 8-контактные разъемы, (8) резисторы на 200 Ом и (64) красные светодиодные лампы.
  2. Расположите светодиоды на плате в соответствии с выбранной вами конструкцией: либо анод с общим рядом, либо катод с общим рядом.

Какой размер светодиодной матрицы?

В этом проекте для отображения информации используется матричный светодиодный дисплей 8 x 8. Светодиодные матрицы доступны в различных стилях, таких как одноцветные, двухцветные, многоцветные или светодиодные матрицы RGB. Они также доступны в различных размерах, таких как 5 x 7, 8 x 8, 16 x 16, 32 x 32 и т. д.

Как вы управляете светодиодной матрицей?

Для управления отдельным светодиодом установите для его столбца НИЗКИЙ уровень, а для строки ВЫСОКИЙ. Чтобы управлять несколькими светодиодами в строке, вы устанавливаете строку ВЫСОКИМ, затем берете столбец высоким, затем устанавливаете столбцы НИЗКИМ или ВЫСОКИМ в зависимости от ситуации; столбец LOW включит соответствующий светодиод, а столбец HIGH выключит его.

Как мне запрограммировать клавиатуру Arduino?

Сначала выясните, какие контакты клавиатуры подключены к рядам кнопок. Вставьте заземляющий (черный) провод в первый контакт слева. Нажмите любую кнопку в первом ряду и удерживайте ее. Теперь вставьте положительный (красный) провод в каждый из остальных контактов.

Что такое светодиодная матрица 8*8?

Матрица 8×8 состоит из 64 точек или пикселей. Для каждого пикселя есть светодиод, и эти светодиоды подключены к 16 контактам. Как правило, существует два типа точечной матрицы — общий катод и общий анод. По внешнему виду они выглядят почти одинаково.

Почему мы используем светодиодную матрицу?

Светодиодный матричный дисплей — это устройство, используемое для отображения информации о машине, указателях отправления поездов, часах и многих других устройствах, для которых требуется простой дисплей с очень низким разрешением. Эти дисплеи доступны в различных разрешениях.

Что такое светодиодная матрица 8×8?

1388A представляет собой светодиодный матричный модуль 8×8, который помогает спроектировать визуальный дисплей. Всего на дисплее имеется 64 числа светодиодов. Все светодиоды являются общими по аноду и катоду друг с другом в схеме. Вся картина выходит с анодом и катодом в виде лоу и столбика.

Как сделать матричный дисплей?

Сделай сам светодиодный точечный матричный прокручивающийся дисплей с использованием Arduino

  1. Шаг 1. Собираем все необходимое. Составные части.
  2. Шаг 2: Светодиодная матрица и мультиплексирование. Светодиоды создают матрицу.
  3. Шаг 3. Тестирование компонентов.
  4. Шаг 4: Создание прототипа.
  5. Шаг 5: Давайте построим.

Что такое матричный светодиодный дисплей?

Светодиодная матрица представляет собой точечную матрицу большого дисплея с низким значением разрешения и полезна как для промышленных или коммерческих дисплеев, так и для любительских машин с интерфейсом пользователя. Он содержит двумерную диодную матрицу, в которой катод соединен в строки, а анод — в столбцы.

Что такое светодиодная матричная панель?

Светодиодные матричные панели могут использоваться в качестве замены вашей существующей RGB-системы и просты в установке. Светодиодная матричная панель, подходящая для всех видов экранов. Между тем, панельные ЖК-мониторы более экономичны. Панель изготовлена ​​из импортного высококачественного оптического стекла с длительным сроком службы и стабильной работой.

Сколько светодиодов в матрице 8×8?

1388A – светодиодный матричный модуль 8×8 1388A представляет собой светодиодный матричный модуль 8×8, который помогает спроектировать визуальный дисплей. Всего на дисплее имеется 64 числа светодиодов. Все светодиоды являются общими по аноду и катоду друг с другом в схеме.

Какие контакты на светодиодном матричном модуле?

МАТРИЧНЫЕ МОДУЛИ СВЕТОДИОДНЫХ СВЕТОДИОДОВ доступны в различных модулях, и каждый модуль будет иметь различную конфигурацию контактов. Здесь мы показали конфигурацию контактов светодиодного матричного модуля 1388A. Разные модули могут иметь разную конфигурацию выводов, но у них одинаковые рабочие контакты.

Что лучше LED матрица или LCD дисплей?

ЖК-дисплеи практически бесполезны на открытом воздухе, так как символы едва видны. Подсветка светодиодного МАТРИЧНОГО МОДУЛЯ видна при дневном свете, в отличие от ЖК-дисплеев и ГРАФИЧЕСКИХ дисплеев, поэтому для наружного использования светодиодный МАТРИЧНЫЙ МОДУЛЬ идеален.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *