Posted by lex232 on

Управляем элементом бегущей строки Adafruit с Arduino. Часть 1. Подключение

Управляем элементом бегущей строки Adafruit с Arduino. Часть 1. Подключение

Недавно я штудировал китайские сайты на предмет светодиодных матриц, которые можно было бы использовать как глаза робота. Нашёл на алиэкпресс версию с хорошим разрешением 64х32 пикселя и небольшими габаритами. До его прихода в Россию, особо в рунете информации по использованию не нашёл, смотрел библиотеки adafruit, и пытался компилировать в среде arduino разные примеры. Как только панель пришла, я растерялся в вариантах её подключения, потому-что это был китайский клон.дисплей от бегущей строки 64 32 пикселяВсё, что полезного я тут нашёл из подсказок — это IN, VCC и GND. Вот здорово! Теперь то всё ясно. Но не отчаиваемся и идём на сайт adafruit.Тут я немного занервничал, потому что подключения описано для 32х16 и 32х32 панелей, хотя они продают панели большего разрешения. Кроме как пробовать ничего не оставалось, я решил подключать, к тому же в разделе питания о таких панелях шла речь «A single 32×16 or 32×32 RGB matrix, running full tilt (all pixels set white), can require nearly 4 Amps of current! Double that figure for a 64×32 matrix.»

Т.е. если вы зальёте все пиксели в полную силу (чтобы получить белый квадрат/прямоуголник), то для 64х32 матрицы нужно будет 8 Ампер!!! Учтите это. Конечно в реальных случаях получать полностью белую плашку вам почти никогда не придётся. Теперь идём в раздел «Connection with Jumper Wires»connection 62x32 matrix

И видим как красиво всё подписано, только у нас такого нет. Если подписано — как подключить будет понятно, в нашем случае ищем следующую раскладку в разделе «Connections» и находим заветную фразу «If you have a 32×32 panel with no pin labels at all, then use this layout.»

подключение бегущей строки элемента

Дальше проходим обратно во вкладку «Connection with Jumper Wires» и смотрим как это подключать к arduino. Обратите внимание! Панели с большим разрешением можно подключить только к Mega, к Uno подключать не нужно! Начинаем подключать с земли.

led_matrix_plug-gnds
led_matrix_mega-gnds

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

led_matrix_plug-rgb1

led_matrix_mega-rgb1

Тоже самое проделаем с нижним уровнем для цветовых сигналов.
led_matrix_plug-rgb2 (1)
led_matrix_mega-rgb2
Далее подключаем сигнальные шины, которые выбирают, какие линии сейчас будут задействованы в выборе картинки.

led_matrix_plug-rows

led_matrix_uno-rows

 

Осталось подключить ещё несколько сигнальных шин, и можно будет приступать к запуску дисплея. Первое это LAT. Картинка на сайте дана одна для Uno и Mega, потому что используется одинаковый пин. Но есть одно НО, для разного разрешения пин используется разный. «For 32×32 and 64×32 matrices, LAT connects to Arduino pin 10.» Т.е. нам нужен 10, а если панель низкого разрешения, то используем A3.led_matrix_plug-lat

led_matrix_uno-latПин CLK подключается к 11 входу arduino mega.
led_matrix_plug-clk

led_matrix_mega-clk

Ну и остался последний пин OE. Он также одинаково подключается к Mega и Uno, напоминаю всё подключение я описываю к Uno, потому-что нет смысла подключать столь требовательный дисплей к контроллеру с маленьким объёмом памяти, о чём предупреждается и на сайте adafruit.led_matrix_plug-oe

led_matrix_uno-oe

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

 

При подготовке статьи были использованы материалы и изображения с сайта adafruit.com