- Принцип действия
- Готовые мигающие светодиоды
- Мигаем встроенным светодиодом
- Встроенный светодиод в Ардуино Uno, Nano и Mega
- Как мигает светодиод
- Пошаговая инструкция
- Схемы использования
- Обычные светодиоды
- Как сделать чтобы светодиоды мигали
- Схемы мигалок на их основе
- Область применения
- Степенное уравнение
- Таблица
- Полином
- Парабола x^2
- Парабола x^3
- Что использовать?
- Бегущие огни на светодиодах своими руками
- Как сделать гирлянду из светодиодов
- Основные выводы
Принцип действия
Светодиод с мигающим световым излучением представляет собой стандартный светодиодный кристалл, электрическая цепь которого включает емкость и сопротивление, указывающее режим работы. Внешне он ничем не отличается от обычных аналогов. При этом механизм его работы на уровне процессов, происходящих в электрической цепи, сводится к следующему:
- При подаче тока на резистор R заряд и напряжение накапливаются в конденсаторе С.
- При достижении потенциала 12 вольт на p-n границе в транзисторе образуется пробой. Это увеличивает проводимость, что инициирует образование светового потока из кристалла льда.
- Когда напряжение падает, транзистор снова закрывается, и процесс начинается заново.
Все модули в такой схеме работают с одной частотой.
Готовые мигающие светодиоды
Мигающие светодиоды разных производителей практически готовы, готовы к использованию в различных участках схемы. Что касается внешних параметров, то они мало чем отличаются от стандартных ледовых агрегатов. Однако в их конструкцию введена схема генераторного типа и сопутствующие ей элементы.
Среди основных преимуществ готовых мигающих светодиодов можно выделить:
- Компактный прочный корпус, все компоненты в одном корпусе.
- Большой диапазон напряжения питания.
- Многоцветное исполнение, большое разнообразие ритмов смены цвета.
- Прибыльность.
Мигаем встроенным светодиодом
Всегда лучше сделать самый первый проект максимально простым и понятным. Лучше всего сначала просто сказать миру, что программа работает. В других языках программирования это достигается выводом на экран текста с фразой «Hello, World», ставшей поистине знаковой. С ее помощью уже полвека мир встречают новые программы.
На плате Ардуино нет встроенного дисплея, поэтому вывести нашу хитроумную надпись мы не можем. Конечно, вы можете использовать экран компьютера, но тогда первый проект становится слишком сложным. Именно поэтому почти все проекты для начинающих основаны на использовании светодиодов. Мы прошьем их и изучим основы схемотехники и программирования.
Встроенный светодиод в Ардуино Uno, Nano и Mega
Почти каждая плата Arduino имеет несколько встроенных светодиодов для индикации. Один из них подключен к пину 13 и им можно управлять программно — включать и выключать. Подробнее об этом читайте в нашей статье о светодиодах.
Нам нужно написать и загрузить в ардуино скетч, который будет мигать встроенным в плату ардуино светодиодом — включать его каждую секунду, и выключать на секунду.
Как мигает светодиод
Алгоритм программы очень прост.
- Нам нужно подать напряжение на светодиод (на контакт, к которому подключен светодиод, в нашем случае 13).
- Затем ждем некоторое время. Например, секунду.
- Затем отпускаем напряжение.
- И снова немного ждем, чтобы глаз заметил, что света нет.
- Начнем с первого пункта
На русском все выглядит очень просто. Осталось только перевести на язык, понятный Arduino. Мы заменяем каждую строку нашего алгоритма командой.
- Включить — команда digitalWrite
- Ждать — команда задержки
- Отключить — команда digitalWrite
- Ждать — команда задержки
Чтобы записать все эти команды, а затем перевести их на машиночитаемый язык и загрузить в микроконтроллер, воспользуемся программой Arduio IDE. В нем пишем наш код (или вставляем готовый из примера), в нем будем нажимать несколько кнопок для проверки, перевода и загрузки программы в Arduino.
Пошаговая инструкция
Идем по шагам – в результате обязательно получим результат.
- Берем плату Arduino UNO. Мы гарантируем, что он имеет встроенный светодиод.
- Подключите плату Arduino к компьютеру через USB-кабель. В результате лампочки должны загореться.
- Открываем на компьютере программу Arduino IDE (вы уже должны знать, как это сделать или читать статьи на нашем сайте по ссылкам выше).
- Проверяем, что ардуино подключено: находим меню «Инструменты», подменю «Порт». Он должен быть активным. Нажмите на этот пункт и увидите список портов. Один из них должен быть вычеркнут. Если это не так, выберите порт с наибольшим номером и пометьте его. Если это не помогло, см раздел с описанием типичных проблем ниже.
- откройте меню «Файл». В нем находим подменю «Примеры», а в том же подменю «Основы». В открывшемся списке меню находим строчку Blink и нажимаем на нее. Должно открыться отдельное окно Arduino с текстом программы (в самом верху будет серый текст).
откройте пример Blink в Arduino IDE - Найдите в меню кнопку «загрузить скетч» (со стрелкой) и нажмите ее. Начнется процесс проверки (компиляции) скетча и загрузки его на плату.
- После загрузки скетча и появления сообщения «Загрузка завершена» в окне состояния ниже можно проверить результат. Посмотрите на доску — вы должны увидеть мигающий свет. Итак, мы сделали это!
- Проверьте правильность работы программы — замерьте паузы между выключением и включением.
Если отключить контроллер от компьютера и подать на него только питание (например, от батареек), программа все равно будет работать! Ваша программа записывается в память микроконтроллера и теперь останется в ней до тех пор, пока вы не перезапишете ее другой программой.
Поздравляем! Вам удалось реализовать свой первый проект на Arduino. Если все мигает как надо. Теперь можно переходить к разбору программы и сбору электронной схемы с отдельным светодиодом. Если что-то не получилось, давайте разбираться, почему.
Схемы использования
Самый простой вариант схемы мигающего света на основе производимых сегодня светодиодов, изготовление которого возможно только для радиолюбителей, включает в себя:
- Транзистор малой мощности.
- Конденсатор полярного типа 16 вольт и 470 мкФ.
- Сопротивление.
- Ледяной элемент.
По мере накопления заряда происходит лавинообразный пробой с открытием транзисторного модуля и свечением диода. Устройство такого типа часто используется в елочном венке. Недостатком схемы является необходимость использования специального источника питания.
Другой вариант популярных сегодня схем мигающего типа светодиодов включает в себя пару npn-транзисторов модификации КТ315 Б. Для его сборки также используются следующие компоненты:
- Две пары резисторов на 6,8-15 кОм и 470-680 Ом.
- Два конденсатора емкостью 47-100 мкФ.
- Небольшой светодиод или кусочек ледяной полоски.
- Питание от 3 до 12 В.
Принцип работы устройства определяется попеременным изменением цикла заряда/разряда конденсаторов, что в свою очередь открывает транзисторы и питает светодиоды, обеспечивая их мигание.
Обычные светодиоды
Стандартный немерцающий светодиод обеспечивает резкое, ровное освещение и характеризуется низким энергопотреблением. Вместе с такими качествами, как долговечность, компактность, энергоэффективность и широкий диапазон температур свечения, это делает его непревзойденным среди других искусственных источников света.
На основе таких светодиодных элементов собрана схема мерцающих ламп. Рассмотрим, как они сделаны.
Как сделать чтобы светодиоды мигали
Светодиодный указатель поворота можно установить по одной из приведенных выше схем. Соответственно, необходимо приобрести компоненты, описанные выше. Они необходимы для работы некоторых опций. В этом случае для сборки потребуется паяльник, припой, флюс и другие необходимые компоненты для пайки.
Сборке цепочки мигающих светодиодов предшествует обязательное лужение выходных контактов всех подключаемых элементов. Также не следует забывать соблюдать правила полярности, особенно при включении конденсаторов.
Готовый светильник будет мерцать с частотой ок. 1,5 Гц или эквивалент прибл. 15 импульсов каждые 10 секунд.
Схемы мигалок на их основе
Чтобы происходили элементарные вспышки света, заданные определенной периодичностью, требуется пара транзисторов типа С945 или аналоговых элементов. Для первого варианта коллектор располагается посередине, а для второго посередине находится основание.
Один или пара мигающих светодиодов выполнены обычным образом. При этом частота вспышек задается наличием в цепи конденсаторов С1 и С2.
В такую систему допустимо ввести несколько кристаллов льда одновременно при установке достаточно мощного p-n-p-транзистора.
При этом светодиоды заставляют мигать при соединении их контактов с разноцветными элементами, последовательность вспышек задается модулем генератора, а частота задается заданными программными настройками.
Область применения
Светодиоды, работающие в мигающем ритме, применяются в различных сферах:
- В сфере развлечений, в игрушках, для украшения, в качестве гирлянд.
- По показаниям в бытовой и промышленной технике.
- Блоки освещения.
- В рекламных элементах, вывесках.
- Информационные щиты.
Важно! Светодиоды, излучающие свет в мигающем ритме, используются не только в видимой области спектра, но и в инфракрасном и ультрафиолетовом сегментах. Область их назначения – системы автоматики и телемеханики для различного оборудования – отопления, вентиляции, бытовой техники.
Читайте также: Схема сварочного инвертора – принципиальная схема инверторной сварки
Степенное уравнение
Он основан на уравнении вида ut = (max / (max^gamma)) * (val^gamma), (также можно найти альтернативу ut = max * ((val / max) ^ gamma)), где val — «обычное» значение для ШИМ, ut — новое скорректированное значение, max — максимальное значение val, а gamma — коэффициент коррекции гаммы, обычно в диапазоне 2,0–3,0.
На графике перехода нормального сигнала (горизонтальная ось) в скорректированный (вертикальная ось) это выглядит так:
В принципе это уравнение уже можно использовать, возьмем наш пример с постоянно мигающим светодиодом и добавим функцию преобразования «линейного» ШИМ в ЭЛТ с гаммой например 2.46. Я также предварительно вычислил первую скобку (для первого уравнения) (255,0 / pow (255, 2,46)), потому что значение не меняется:
Если вы теперь попробуете изменить яркость реального светодиода, вы увидите разницу: изменение яркости более приятно для глаз! Для 10-битного ШИМ формула будет следующей: 0,000040326 * pow(val, 2,46).
Чем хорош этот метод? Он позволяет подобрать гамму с любой точностью, и в этом его единственный плюс. Из-за использования дробных степеней (функция pow()) вся функция выполняется очень долго, в районе 400 мкс, а также требует подключения библиотеки для таких вычислений, что добавляет аж 2 килобайта Flash программе!
То есть вдвое больше, чем есть, например, в ATtiny13!! Попробуем оптимизировать метод.
Таблица
В программировании часто используется табличная форма: если есть фиксированный набор значений для расчета уравнения, его можно вычислить заранее, сохранить в виде массива, а готовый результат использовать непосредственно.
Давайте запишем результаты предыдущего уравнения для диапазона 0-255 и сохраним их в PROGMEM. Таким образом мы получаем 256 байт памяти вместо 2 килобайт вычислений. Прохладно? Круто, подходит даже для тини!
С помощью таблицы можно отобразить любую гамму предварительно рассчитав ее. Как насчет 10 бит? Таблица займет 1024*2, то есть 2 килобайта! Для 10 бит таблица будет «весить» неразумную сумму, даже несмотря на то, что доступ к таблице в сотни раз быстрее вычислений: прим. 0,8 микросекунды!
Полином
Что еще можно сделать с графом, чтобы «запомнить» его в памяти? Правильно, попробуйте заменить его более простой функцией. Запустив таблицу в Excel и построив линию тренда, мы видим, что CRT вполне сносно аппроксимируется полиномом, который гораздо проще вычислить.
Отклонения показаны внизу, но их можно обойти, воспользовавшись условием: если меньше начального значения, считать результат нулевым. Получившаяся функция с немного сдвинутым уравнением:
Мы не сильно потеряли в точности кривой CRT, но сильно ускорили и упростили код: трансляция выполняется за 56 микросекунд, а во Flash-памяти занимает ~1 килобайт из-за использования float. Если он используется где-то еще в коде, дополнительная память практически не задействована. Метод также универсален для любой разрядности и гаммы. Но вы можете пойти еще дальше!
Парабола x^2
Если взять гамму равной 2, где график еще очень далек от линейности и еще нормально работает, то видно (и по графику, и по функции), что это обычная парабола х*х.
Таким образом формула упрощается до out = (long)val * val / maxOut, где maxOut будет степенью двойки, а как мы знаем из урока по оптимизации деление в таких вещах можно заменить сдвигом. Формула примет вид out = ((lang)val * val) >> бит, где бит — мощность ШИМ. Такое уравнение приведет к тому, что результат не достигнет максимум единицы (он будет потерян при делении).
Чтобы округлить в целочисленном делении, запишем в общем виде так: out = ((long)val * val + (2^bit) — 1) >> бит. Бояться не надо, ведь в частном случае для 8 и 10 бит наша функция преобразования будет выглядеть так:
И это все! Вы можете заменить его на предыдущий «полный» пример с мигающими светодиодами и наслаждаться им. А скорость и вес? Всё очень круто, потому что мы используем целочисленные вычисления и даже не используем деление: вычисление выполняется за 4 микросекунды, а занимает всего 150 байт.
Парабола x^3
Точно так же можно заменить gamma = 3 в исходном уравнении мощности ЭЛТ и получить упрощение до кубической параболы, которая будет рассчитываться немного медленнее, чем обычно, но результат будет приятнее для глаз!
Что использовать?
По каждому методу были сделаны промежуточные выводы, вот общая таблица преобразования 8 бит ШИМ:
Уравнение ЭЛТ | Производительность, мкс (на 16 МГц) | Флэш-память, байт |
Сила | 365 | 1920 г |
Полиномиальный | 56 | 960 |
Параболический кубический | 16 | 170 |
Парабельторгет | 4 | 152 |
Таблица | 0,8 | 360 |
В общем случае рекомендуется использовать параболическую ЭЛТ как наиболее оптимальную по памяти и скорости выполнения (кубическая парабола приятнее глазу, чем квадратная), а также она легко поместится даже в тинку13 . Остальные методы предоставлены для развития, это пока урок =)
Бегущие огни на светодиодах своими руками
Одним из направлений работы мигающих светодиодов является устройство «бегущий свет». Для сборки схемы используются следующие компоненты:
- Генератор прямоугольных импульсов.
- Дисплейное устройство.
- Декодер.
- Диск.
Схема выполнена на макетной плате без пайки. При этом допускается небольшой разброс по номиналу резисторов и конденсаторов, но не более 20 %. Светодиоды от HL1 до HL16 не обязательно должны быть одного цвета, но разных оттенков. Однако падение напряжения каждой ледяной ячейки должно быть в пределах 3 вольт.
Как сделать гирлянду из светодиодов
Чтобы сделать венок, мигающий через равные промежутки времени в заданном ритме, вам потребуются следующие компоненты и набор инструментов:
- светодиоды 20 мАч.
- Провода площадью сечения 0,5-0,25 мм2.
- трансформатор на 6 вольт.
- резистор 100 Ом.
- Паяльная станция с жалом малого сечения, припой, канифоль.
- Нож с острым лезвием.
- Герметик на силиконовой основе.
- Маркер.
Алгоритм сборки:
- Точно определитесь с зазорами между элементами гидроизоляции.
- Подготовьте провод и отметьте маркером метки для светодиодов.
- По отметкам срежьте острым ножом изоляцию.
- Затем нанесите канифоль с припоем на оголенные участки.
- В эти места припаяйте электроды диодов.
- Нанесите силиконовый герметик на открытые участки, чтобы обеспечить электрическую изоляцию.
После завершения подключается блок питания и обычный резистор. Устройство подключено к сети и проверено на работоспособность.
Совет! При изготовлении гирлянд необходимо учитывать, что исключительно последовательный характер соединения светодиодов в цепи даст характерный для них мигающий эффект.
Основные выводы
Мигающий светодиод представляет собой стандартный ледяной элемент, снабженный резистором и конденсатором для определенного ритмичного свечения, работающий по следующему принципу:
- Входящий ток накапливает заряд на резисторе.
- При достижении заданного потенциала в p-n переходе транзистора происходит пробой — идет ток, светодиод мигает.
- Когда заряд уменьшается, транзистор закрывается и процесс повторяется.
Стандартная схема самодельного мигающего светодиода может содержать один или пару транзисторов. При самостоятельной их сборке необходимо заранее подготовить все необходимые компоненты и инструменты, которые потребуются в процессе работы. Ассортимент мерцающих огней огромен — от игрушек и гирлянд до систем сигнализации, индикации и дистанционного управления.