Для начала разберемся что такое светодиод и как он работает. Светодиод — это полупроводниковый элемент, который, при прохождении через него электрического тока излучает свет. Светодиод пропускает ток только в одном направлении от анода к катоду. Подробнее на вики. Это значит что при подключении необходимо соблюдать полярность. Также нужно учитывать, что для каждого светодиода существует допустимая сила тока. Узнать параметры светодиода можно у производителя или продавца.
Узнать полярность светодиода можно по нескольким признакам:
- Нога анода (+) обычно чуть длиннее
- Пластиковый бортик светодиода может быть немного усечен со стороны катода (-)
- Если присмотреться то внутри пластика можно увидеть 2 части светодиода. Анод (+) обычно меньше
- Можно использовать мультиметр в режиме прозвонки. Светодиод пропускает ток только от анода (+) к катоду (-)
- Можно подключить к питанию (подходящему по силе тока и напряжению). Если светодиод не светится, значит подключен не той стороной. Просто переверните его.
Теперь поговорим о подключении светодиода к плате Ардуино. Цифровые пины Ардуино способны выдавать ток до 40 мА, но для большинства светодиодов это слишком много. Самые простые и дешевые светодиоды обычно имеют значение предельно допустимого тока в 20 мА. Это значит, что подключив светодиод напрямую к пину Ардуинки, он быстро выйдет из строя. Что бы этого не произошло необходимо использовать токоограничивающий резистор. Можете почитать статью о резисторах, где я рассказывал про токоограничивающие резисторы и расчет необходимого номинала. Так же вам может пригодиться онлайн калькулятор маркировки резисторов для того, что бы найти или купить постоянные резисторы нужного номинала.
Расчет постоянного резистора для светодиода
Выход ардуино имеет напряжение 5 вольт и способен подать ток гораздо выше допустимого для светодиода. Так же необходимо учитывать, что сопротивление светодиода и без того низкое, так еще и падает во время работы.
Используя закон Ома мы можем увидеть, что сила тока будет расти при падении сопротивления и при одинаковом напряжении. Это значит что светодиод требующий 20 мА для работы, будет пропускать через себя более сильный ток и попросту сгорит. Тут то нам и поможет обычный постоянный резистор.
Что бы вычислить необходимый номинал резистора нам необходимо знать характеристики источника питания и характеристики светодиода. А характеристики светодиода можно посмотреть в его техническом описании, или спросить у продавца. Обычно это ток 20 мА и падение напряжения 2 В.
- Vps — напряжение источника питания (5 Вольт)
- Vdf — падение напряжения на светодиоде (2 Вольта)
- If — номинальный ток светодиода (20 миллиампер или 0.02 Ампера)
Теперь подставим наши данные в формулу закона Ома для расчета сопротивления. Если кто забыл то напомню: R = U / I (сопротивление равно напряжению деленному на силу тока). Подставляем наши данные: R = (Vps — Vdf) / If = (5В — 2В) / 0.02А = 150 Ом
Уроки Arduino #7 — подключение светодиода
Теперь мы просто берем резистор на 150 Ом и ставим его перед или после светодиода (без разницы).
Мы будем подключать светодиод к цифровому пину с поддержкой ШИМ, для того что бы мы могли управлять не только включением и отключением но еще и яркостью светодиода. Советую почитать про характеристики, возможности и распиновку Ардуино нано. Код скетча будет одинаковым для Arduino Nano и Arduino Uno. Его я тоже объясню чуть позже. В качестве токоограничивающего сопротивления я буду использовать постоянный резистор на 150 Ом. Можно использовать резисторы и схожих номиналов, но при меньшем сопротивлении светодиод будет сильнее греться, а при большем будет светить тусклее. Я рекомендую использовать резисторы сопротивлением от 120 Ом и до 250 Ом для самых простых 5 мм светодиодов. Вот наглядная схема подключения светодиода к ардуино нано:
Для начала работы нам понадобятся такие компоненты- плата Arduino
- Breadboard (макетная плата для удобного подключения приборов к Arduino)
- Провода
- светодиод
- резистор
Также вам потребуется программа Arduino IDE, которую можно скачать с официального сайта Arduino.
Данные комплектующие можно приобрести на официальном сайте или в интернет-магазине Aliexpress или Амперка.
Спросите вы, что такое Breadboard ?
Breadboard- макетная (монтажная) беспаечная плата. Breadboard представляет из себя сетку из гнезд, которые обычно соединяются так:
Далее, когда мы приготовили все компоненты к работе и установили программу на ПК , нам следует правильно их подключить . Подключать нужно очень внимательно, чтобы все компоненты остались целыми и невредимыми.
Схема подключения светодиода к Arduino
Не забудьте проверить «+» и «-» у светодиода. Минус у светодиода можно отличить двумя способами :
- У «минуса» на светодиоде по стандарту ножка вывода длиннее чем у плюса.
- Если вы внимательно всмотритесь в светодиод, то можете увидеть своеобразный флажок, так вот, где флажок там и «минус» светодиода.
Схема подключения светодиода к Arduino Uno.
Раз уж вышли на тему подключения светодиода, то обсудим подробнее. В общем-то, здесь есть всего два момента, о которых стоит упомянуть:
Как видно из иллюстрации светодиод имеет два вывода, при этом они не равнозначны, а скорее диаметрально противоположны. Один вывод – это анод диода, второй — катод, визуально, либо по схеме, определить назначение вывода можно следующим образом:
Подробнее о принципе работы диода можно прочитать вот тут. Пока же важен тот факт, что светодиод будет гореть, если напряжение на аноде превышает напряжение на катоде на некоторую величину. Из этого следует логичный вывод, что катод есть смысл подключить на GND, а анод – на цифровой пин Ардуино (один из вариантов):
Если мы подадим на пин высокий уровень, то напряжение на нем составит 5 В, на GND соответственно – 0 В. На светодиоде тогда эти 5В и окажутся. И тут вступает в действие второй нюанс, который заключается в том, что напряжение, подаваемое на светодиод, должно соответствовать его характеристикам, а не выбираться случайным образом.
Режим работы светодиода определяется двумя параметрами – напряжением на нем и протекающим через него током. Для задания этих величин достаточно добавить в схему один резистор:
Итак, разбираемся, в чем смысл этого резистора, а также, как определить необходимую величину сопротивления. И для лучшего понимания традиционно будем рассматривать конкретный реальный пример, а не стандартные теоретические формулировки. Берем первый попавшийся диод, пусть будет такой, и открываем даташит (документацию) на него. Интересуют нас два параметра, определяющие работу диода – прямой ток ( I_F ) и прямое напряжение, соответствующее этому току ( V_F ). Эти данные мы можем почерпнуть из вольт-амперной характеристики (ВАХ):
При этом для работы порта Ардуино в режиме вывода есть свои собственные ограничения, которые можно узнать из даташита на конкретную плату. Для Uno максимальный ток составляет 40 мА, причем это именно максимальный ток, для стабильной работы не рекомендуется превышать величину в 20 мА. На самом деле даже 20 мА это довольно много, силовую нагрузку лучше подключать, к примеру, через транзисторы. Но сегодня речь не об этом, поэтому воспользуемся разрешенной величиной в 20 мА, которые может безболезненно выдавать пин. Все это задает определенную точку на вольт-амперной характеристике:
Если резюмировать кратко, то итогом будет тот факт, что напряжение на светодиоде должно равняться 2 В, а ток через него — 20 мА. Определим значения потенциалов в разных точках схемы:
Напряжение между точками 1 и 3 равно 5 В и в то же время оно равно сумме напряжений:
U_ = U_R + U_D
Где: U_R — это напряжение на резисторе, а U_D — напряжение на светодиоде. Напряжение на светодиоде нам известно из документации, его мы уже можем подставить в эту формулу, что приведет к закономерному результату:
U_R = U_ — U_D = 5 medspace В — 2 medspace В = 3 medspace В
Сформулируем промежуточный итог: для того, чтобы напряжение на светодиоде составило 2 В, на резисторе должно быть 3 В. Прекрасно, продолжаем, обозначим протекающие токи:
И, поскольку, элементы соединены последовательно, то через каждый из них течет один и тот же ток. А величина его, между прочим, нам также известна, поскольку нами же и выбрана:
I = 20 medspace мА
Таким образом, нам остается только рассчитать искомое сопротивление по закону Ома:
R = frac = frac = 150 medspace Ом
Получаем необходимое значение В данном случае мы ограничены током, который может выдавать порт микроконтроллера, максимально же допустимый ток для светодиода можно также почерпнуть из даташита. К примеру для нашего подопытного в документации указан предельный прямой ток, равный 50 мА:
Соответственно, превышение данного значения с внушительной вероятностью превратит светодиод в хлам. И схема подключения светодиода к Ардуино в итоге имеет такой вид:
При использовании макетной платы (breadboard) коммутация может быть произведена так:
И на этом, наконец, все готово к переходу к программно-практической части.
Функции pinMode() и digitalWrite().
Для использования порта в качестве выхода Arduino предлагает нам одну функцию, которая осуществит необходимую конфигурацию:
pinMode(pin, mode);
Функция принимает два аргумента:
- pin — номер пина Ардуино
- mode — необходимый режим работы
Режимов работы может быть три: OUTPUT, INPUT, INPUT_PULLUP. Нас сегодня интересует исключительно первый, а два оставшихся используем в следующей статье. В результате, если мы хотим настроить 5-й пин Арудино на работу в режиме выхода, то вызываем:
pinMode(5, OUTPUT);
С этим все просто, управлять же состоянием вывода ничуть не сложнее, для этого используется другая функция:
digitalWrite(pin, value);
- pin — номер пина (как и в pinMode())
- value — требуемый уровень на выходе: HIGH, либо LOW
Значение HIGH — это высокий уровень – логическая единица — 5 В, а LOW — низкий уровень — логический ноль — 0 В. Все четко и логично Вариант применения:
digitalWrite(5, HIGH);
Светодиодные ленты
Светодиодная лента представляет собой цепь соединённых светодиодов. Соединены они не просто так, например обычная 12V лента состоит из сегментов по 3 светодиода в каждом. Сегменты соединены между собой параллельно, то есть на каждый приходят общие 12 Вольт. Внутри сегмента светодиоды соединены последовательно, а ток на них ограничивается общим резистором (могут стоять два для более эффективного теплоотвода): Таким образом достаточно просто подать 12V от источника напряжения на ленту и она будет светиться. За простоту и удобство приходится платить эффективностью. Простая математика: три белых светодиода, каждому нужно по ~3.2V, суммарно это 9.6V. Подключаем ленту к 12V и понимаем, что 2.5V у нас просто уходят в тепло на резисторах. И это в лучшем случае, если резистор подобран так, чтобы светодиод горел на полную яркость.
Подключаем к Arduino
Здесь всё очень просто: смотрите предыдущий урок по управлению нагрузкой постоянного тока. Управлять можно через реле, транзистор или твердотельное реле. Нас больше всего интересует плавное управление яркостью, поэтому продублирую схему с полевым транзистором: Конечно же, можно воспользоваться китайским мосфет-модулем! Пин VCC кстати можно не подключать, он никуда не подведён на плате.
Управление
Подключенная через транзистор лента управляется точно так же, как светодиод в предыдущей главе, то есть все примеры кода с миганием, плавным миганием и управление потенциометром подходят к этой схеме. Про RGB и адресные светодиодные ленты мы поговорим в отдельных уроках.
Питание и мощность
Светодиодная лента потребляет немаленький ток, поэтому нужно убедиться в том, что выбранный блок питания, модуль или аккумулятор справится с задачей. Но сначала обязательно прочитайте урок по закону Ома! Потребляемая мощность светодиодной ленты зависит от нескольких факторов:
- Яркость. Максимальная мощность будет потребляться на максимальной яркости.
- Напряжение питания (чаще всего 12V). Также бывают 5, 24 и 220V ленты.
- Качество, тип и цвет светодиодов: одинаковые на вид светодиоды могут потреблять разный ток и светить с разной яркостью.
- Длина ленты. Чем длиннее лента, тем больший ток она будет потреблять.
- Плотность ленты, измеряется в количестве светодиодов на метр. Бывает от 30 до 120 штук, чем плотнее – тем больший ток будет потреблять при той же длине и ярче светить.
Лента всегда имеет характеристику мощности на погонный метр (Ватт/м), указывается именно максимальная мощность ленты при питании от номинального напряжения. Китайские ленты в основном имеют чуть меньшую фактическую мощность (в районе 80%, бывает лучше, бывает хуже). Блок питания нужно подбирать так, чтобы его мощность была больше мощности ленты, т.е. с запасом как минимум на 20%.
- Пример 1: нужно подключить 4 метра ленты с мощностью 14 Ватт на метр, лента может работать на максимальной яркости. 14*4 == 56W, с запасом 20% это будет 56*1.2 ~ 70W, ближайший блок питания в продаже будет скорее всего на 100W.
- Пример 2: берём ту же ленту, но точно знаем, что яркость во время работы не будет больше половины. Тогда можно взять блок на 70 / 2 == 35W.
Важные моменты по току и подключению:
- Подключение: допустим, у нас подключено ленты на 100W. При 12 Вольтах это будет 8 Ампер – весьма немаленький ток! Ленту нужно располагать как можно ближе к блоку питания и подключать толстыми (2.5 кв. мм и толще) проводами. Также при создании освещения есть смысл перейти на 24V ленты, потому что ток в цепи будет меньше и можно взять более тонкие провода: если бы лента из прошлого примера была 24-Вольтовой, ток был бы около 4 Ампер, что уже не так “горячо”.
- Дублирование питания: лента сама по себе является гибкой печатной платой, то есть ток идёт по тонкому слою меди. При подключении большой длины ленты ток будет теряться на сопротивлении самой ленты, и чем дальше от точки подключения – тем слабее она будет светить. Если требуется максимальная яркость на большой длине, нужно дублировать питание от блока питания дополнительными проводами, или ставить дополнительные блоки питания вдоль ленты. Дублировать питание рекомендуется каждые 2 метра, потому что на такой длине просадка яркости становится заметной уже почти на всех лентах.
- Охлаждение: светодиоды имеют не 100% КПД, плюс ток в них ограничивается резистором, и как результат – лента неслабо греется. Рекомендуется приклеивать яркую и мощную ленту на теплоотвод (алюминиевый профиль). Так она не будет отклеиваться и вообще проживёт гораздо дольше.
Видео