13.03.2011

LoL Shield (1)

Никогда бы не предположил, что столько положительных эмоций заключено в простой  светодиодной матрице! А вот Джимми Роджерсу это удалось не только предположить, но и воплотить в полной мере - именно он является автором LoL Shield:



Что такое LoL Shield? Это матрица индивидуально адресуемых светодиодов 9х14, куда можно выводить все, что душе угодно: начиная с текста и заканчивая изображениями. Принцип действия основывается на т.н. сharlieplexing - в отличие от обычного мультиплексирования, используется свойство микроконтроллеров поддерживать свои выходы в трех состояниях. Наглядно этот эффект можно продемонстрировать на такой схеме:



Когда вы переводите пин MCU в состояние входа, то практически отсоединяете его от схемы. Следовательно, чтобы заставить зажечься светодиоды LED5 или LED6, надо подать разные логические уровни на pin1 и pin3, но чтобы при этом не загорелись остальные - перевести pin2 в состояние входа (иначе говоря - high impendance - высокого сопротивления).

Теоретически, имея в распоряжении N свободных пинов MCU, можно заставить работать Nx(N-1) светодиодов. Сам автор утверждает, что решил не жадничать и использовать только 12 выходов Arduino. И хотя это давало возможность использовать 132 светодиода, по факту  на стандартную Shield-плату влезло только 126 трехмиллиметровых - хотя и это неплохо. Схема состоит из блоков следующего вида:


Автор аккуратно объединил их и получил вот такую схему:



К сожалению, соорудить такое при помощи ЛУТ не представляется реальным: во-первых, развести такую плату в чисто односторннем варианте сложно, во-вторых - надо сойти с ума сверлить более 250 отверстий. Поэтому, пришлось брать комплект деталей LoL-Shield с печатной платой:


Размеренная и неторопливая пайка заняла у меня около 2х часов (считаю, великолепно провел время ;), в результате получился работающий шилд. Правда, три светодиода я все-таки впаял неверно, но в целом - проще некуда.

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



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

В статье использованы материалы из Википедии - свободной энциклопедии.

См. продолжение про примеры к LoL Shield (2)

4 комментария:

  1. Классный шилд! В свое время оно меня вдохновило и я портировал игровые скетчи из лолшилд библиотеки (тетрис, инвайдер и пинг-понг) для работы с Sure LED matrix 1624. Сын (8 лет) был в восторге, да и я тоже ;)

    ОтветитьУдалить
  2. Привет! Я тоже светодиодную матрицу осваиваю!
    http://ukrduino.blogspot.com/2011/03/arduino-8x8-led-matrix-18b20-rtc-ds1307_21.html

    ОтветитьУдалить
  3. Игорь, в вашем магазине я увидел LoL Shield 1.5.1 в виде «кита», возможно ли купить «самовывозом из Питера» (друг будет ~2 дня там, почта может не успеть), и имеются ли уже готовые шилды?

    ОтветитьУдалить
  4. Можно, собранные тоже есть. Напишите в магазин через контактную форму, сошлитесь на меня. Они помогут ;-)

    ОтветитьУдалить