Очередной шилд. Светодиодная матрица 8х8. (Сага в 3-х частях). Часть 1 (Теоретическая)



Небольшое вступление.
Давно было желание изготовить светодиодную матрицу, а еще больше поиграться с написанием скетчей для ее оживления. И вот наконец-то дошли руки. (Самое удивительное, что плату сделал достаточно быстро, а вот написание программы и оформление статьи — самое времязатратное дело).

Итак, попробуем сделать светодиодную матрицу, размером 8х8. Причем, для удешевления конструкции, возьмем не готовую платформу, а 64 светодиода. (Не поверите, по деньгам выходит почти в три раза дешевле. Конечно, с запайкой придется повозиться, но эти трудности меня не остановили).
Возможно, я немного перестарался в написании, но очень хотелось рассказать все досконально. Как часто пишут в инете: «феерическая расстановка точек над….» По традиции, разобью статью на три части: «Теория», «HARD» и «SOFT» 🙂


Итак, часть первая, «Теоретическая».
Кому все давно известно и понятно, смело можем пропускать 🙂
Что такое светодиодная матрица?

Логично предположить, что светодиодная матрица состоит из светодиодов.

Светодиод (LED англ. Light Emmiting Diode) это Свето Излучающий Диод. И ни как не лампочка!!! А так как это диод, то он, (кроме того, что может излучать свет) является полупроводниковым прибором.
Светодиоды могут быть различных цветов, размеров, форм, мощностей и т.д. (Погуглите на эту тему самостоятельно).

Самыми ходовыми (у Ардуинщиков) являются круглые, 3-х (реже 5-ти) миллиметровые, с диффузионной (рассеивающей) линзой, стандартные.

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

Полярность: светодиод в одну сторону не проводит ток, а в другую проводит и при этом светится. Поэтому, если перепутать полярность — светодиод не будет светится, но при этом не перегорит.
Напряжение пробоя: Если при неправильно включенном светодиоде увеличить обратное напряжение больше допустимого светодиод сгорит. Обычно около — 5 вольт.
Рабочий ток: Светодиод, когда светится, имеет максимально допустимый прямой ток (If), если этот ток больше допустимого — светодиод сгорит. Максимальный ток светодиода зависит от его модели.

!ВАЖНО!
Светодиод нельзя напрямую подключать к источнику напряжения!!!

Ниже способы подключения и пример расчета токоограничивающего резистора:

Немного поясню. В расчетах мы используем закон Ома 🙂 I=U/R.
Кому лень считать и лазить по справочникам, советую воспользоваться ON-Line калькулятором.
Там, кстати, вы найдете и более точные параметры для разных светодиодов.

Общее между светодиодом и лампочкой только то, что они излучают свет, больше сходств нет:)

Очень хорошо описано все, что касается светодиодов тут. Рекомендую ознакомиться, ну а кому лень читать, скажу по простому:

* У светодиода два вывода: Анод (длинная ножка) и Катод (короткая ножка).
* Если через светодиод пропустить ток в прямом направлении (+ к Аноду, а минус — к Катоду) — то он будет светиться.
* Для нормальной работы светодиода, протекающий через него ток должен быть, как правило, от 3 до 20 мА.

Теперь будем плавно переходить к вопросу объединения светодиодов в нечто БОЛЬШЕЕ и, самое главное, управлению этим «объединением».

Дальше по тексту, для простоты понимания, пока забудем про токи, резисторы и т.п. Будем считать, что все это у нас уже обеспечено.

Ага, значит два провода на один светодиод…
Хм, а если у нас 4 светодиода — понадобиться 8 проводов, для 16 — 32!!! Не, так не годится. Попробуем немного сэкономить на выводах. В первом приближении, мы запросто можем все катоды объединить и посадить на землю

Подаем на вывод №1 положительный потенциал — загорается первый светодиод ну и т.д.

Тот же принцип, но несколько строк 🙂

Вроде все хорошо. Мы в такой схеме можем независимо управлять каждым светодиодом и зажигать их в нужной нам комбинации. Это , так называемый, режим статической индикации. Но есть тут и ложка дегтя… В такой схеме соединения, мы имеем для 9 светодиодов — 9 управляющих линий. А для 64 светодиодов — соответственно 64 вывода. Короче, сколько светодиодов, столько и управляющих сигналов. Довольно расточительно…

Ужимаемся еще.
И тут на сцене появляется динамическая индикация.
Динамическая индикация – это метод отображения целостной картины через быстрое последовательное отображение отдельных элементов этой картины. Причем, «целостность» восприятия получается благодаря инерционности человеческого зрения. (На этом принципе, как вы догадываетесь, построено кино и телевидение :)).

В светодиодной матрице светодиоды соединены между собой следующим образом:

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

Я выбрал для реализации самый удобный вариант матрицы — 8х8 (не буду объяснять почему… Но дам подсказку: 1 байт=8 бит).

А как выводить нужное изображение на такую матрицу?
Ответ: построчно. (Ну или по столбцам)

Напомню, что в один момент времени будут гореть нужные светодиоды только одной строки. И получается, что при высоких частотах, человеческий глаз не способен разглядеть эти переключения, и кажется что картинка горит постоянно. (кстати, в интернете рекомендуется не использовать частоты кратные 50Гц).

Рассмотрим, вывод на матрицу изображения буквы «А»

Условимся, что за активность («притянутость к земле») строки у нас отвечает регистр «ROW REGISTER«, а за нужные (для текущей строки) колонки «COLUMN REGISTER«.
Весь вывод картинки будет состоять из восьми шагов. На каждом шаге к земле будет подключена только одна строка.

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

To be continued… (или по нашему) Продолжение следует…


0 комментариев на «“Очередной шилд. Светодиодная матрица 8х8. (Сага в 3-х частях). Часть 1 (Теоретическая)”»

  1. Часть 1 в заголовке предполагает наличие частей 2 и 3. Меня как раз интересовала последняя часть, хотя и вторая, часть, HARD, была бы интересна. Но что-то увы, тема заглохла. Как бы ознакомиться с продолжением?

    • Ну да… Были задуманы три части. Но, я потерял интерес к этому шилду… Хотя и железка была сделана и какой-то софт был написан. Могу поискать наработки, если есть жгучий интерес 🙂 Просто возвращаться к этой теме и дописывать статьи — большого желания нет. Простите…

    • Если не трудно, пришлите, что есть. vlipt @ mail. primorye. ru
      наверняка что-нибудь полезное будет.

  2. Из всего что найдено на просторах интернета эта статья оказалась наиболее понятной моему маленькому мозгу. Очень жаль, что нет продолжения… Если всё-таки наработки остались, я бы была крайне благодарна за них!

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

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение