Как подключить светодиод arduino uno
Как подключить светодиод к Arduino
Одно из первых заданий, которое выполняет начинающий электротехник-программист, — мигание светодиодом (LED). Чтобы выполнить задачу, нужно не только написать скетч, но и произвести правильное подключение светодиода к Ардуино.
Особенности подключения
Диод — полупроводниковый прибор, обладающий такими особенностями:
Полярность светодиодов
При прямом включении анод светодиода подсоединяют к точке с большим потенциалом, а катод — с меньшим. Конструктивно анод и катод можно различить по длине вывода:
Если перепутать порядок включения, то велика вероятность пробоя диода. Это происходит, когда обратное напряжение превышает напряжение пробоя. В результате чего светодиод просто перегорит.
На вольт-амперной характеристике участок обратного включения находится в левом нижнем квадранте.
Ограничение напряжения
В техпаспорте каждой модели LED указано, что прямое напряжение, при котором прибор зажигается, составляет 2-4 В. Большее напряжение подавать на диод нецелесообразно.
Диод боится силы тока, превышающей 20 мА. Чтобы контролировать показатель, последовательно с источником перед анодом включается токоограничительный резистор (необязательно мощный). Его номинал рассчитывается по закону Ома: сопротивление — это отношение напряжения к силе тока. Напряжение — величина, поступающая на анод. Ток выбирается по наибольшему значению в паспорте прибора.
Схемы подключение к плате
Чтобы убедиться в необходимости токоограничительного резистора, а также контролировать все параметры соединения, можно установить различные датчики и модули:
Диод можно подключить и к синусоидальному источнику питания. Но гореть он будет только половину от общего времени, потому что отрицательную полуволну он не пропустит. В таком случае нелишним будет подключить последовательно или встречно-параллельно с LED диод, который ограничит амплитуду переменного сигнала.
Пошаговая инструкция по подключению
Подключить LED к Arduino можно двумя методами:
Для работы с макетной платой понадобятся:
Инструкция по подключению:
Подключение через пайку элементов производится в такой же последовательности за одним исключением: вместо проводов «папа-папа» используются проводники, концы которых лудят и припаивают к элементам.
Достоинство первого метода — простота, недостаток — слабый контакт между элементами. Преимущество второго способа подключения — надежный контакт между компонентами, недостаток — необходимость нагрева платы и элементов паяльником, что повышает риск теплового пробоя любого компонента.
Мигать LED на Arduino может и без подключения периферии. В плате есть встроенный светодиод, который можно настроить на любой режим работы.
Все тесты лучше проводить на макетной плате.
Библиотека команд
Чтобы зажечь светодиод, нужно:
Помигать этим элементом можно, если с нужной частотой зажигать и тушить LED. Частоту можно задать либо с помощью задержек [delay(*время в миллисекундах*)], либо с помощью таймера и обработчика прерывания.
Скетчи для управления
Скетчи — коды, который формируют прошивки для процессора Arduino. Они пишутся в среде программирования и загружаются либо через SPI-программатор, либо через USB (есть специальные версии плат с микросхемой CH340, позволяющие загружать код через этот интерфейс).
Код, который зажигает светодиод:
Скетч, который мигает светодиодом светодиод:
На Ардуино плавное включение светодиода организуется при помощи ШИМ. Этим же способом управления можно производить изменение яркости горения LED.
Код для плавного включения светодиода:
Чтобы менять яркость горения в данном скетче, нужно варьировать значение переменной «i» в цикле «for». Регулировать яркость самостоятельно можно, если подключить 2 кнопки, которые будут инкрементировать и декрементировать значение переменной «i» в условиях «if».
Подключение светодиода к Arduino
Для начала разберемся что такое светодиод и как он работает. Светодиод — это полупроводниковый элемент, который, при прохождении через него электрического тока излучает свет. Светодиод пропускает ток только в одном направлении от анода к катоду. Подробнее на вики. Это значит что при подключении необходимо соблюдать полярность. Также нужно учитывать, что для каждого светодиода существует допустимая сила тока. Узнать параметры светодиода можно у производителя или продавца.
Узнать полярность светодиода можно по нескольким признакам:
Теперь поговорим о подключении светодиода к плате Ардуино. Цифровые пины Ардуино способны выдавать ток до 40 мА, но для большинства светодиодов это слишком много. Самые простые и дешевые светодиоды обычно имеют значение предельно допустимого тока в 20 мА. Это значит, что подключив светодиод напрямую к пину Ардуинки, он быстро выйдет из строя. Что бы этого не произошло необходимо использовать токоограничивающий резистор. Можете почитать статью о резисторах, где я рассказывал про токоограничивающие резисторы и расчет необходимого номинала. Так же вам может пригодиться онлайн калькулятор маркировки резисторов для того, что бы найти или купить постоянные резисторы нужного номинала.
Подключение светодиода к Arduino Nano
Мы будем подключать светодиод к цифровому пину с поддержкой ШИМ, для того что бы мы могли управлять не только включением и отключением но еще и яркостью светодиода. Советую почитать про характеристики, возможности и распиновку Ардуино нано. Код скетча будет одинаковым для Arduino Nano и Arduino Uno. Его я тоже объясню чуть позже. В качестве токоограничивающего сопротивления я буду использовать постоянный резистор на 150 Ом. Можно использовать резисторы и схожих номиналов, но при меньшем сопротивлении светодиод будет сильнее греться, а при большем будет светить тусклее. Я рекомендую использовать резисторы сопротивлением от 120 Ом и до 250 Ом для самых простых 5 мм светодиодов. Вот наглядная схема подключения светодиода к ардуино нано:

Подключение светодиода к Arduino Uno
Здесь все точно так же как и в прошлом примере, только я решил не использовать макетную плату. Резистор точно такой же на 150 Ом.

Скетч для управления светодиодом с помощью Arduino
Мы подключили светодиод к Arduino как показано на схемах выше. Теперь нам нужно написать программу для управления этим светодиодом. Для написания и загрузки прошивок в микроконтроллер обычно используется Arduino IDE. Мы рассмотрим самый простейший пример. Просто будем мигать светодиодом. Вот сам код скетча:
Думаю тут все понятно. Если же нет то можете ознакомиться с разделами сайта «Аrduino для начинающих» и «Программирование«.
RGB светодиоды и ленты
Немного теории
Я думаю все знают, что свет – это поток фотонов, но в то же время он является электромагнитной волной, излучением. Человеческий глаз воспринимает очень узкий диапазон этого излучения: приблизительно от 390 до 790 ТГц (террагерц), так называемое видимое излучение или видимый свет. “Ориентироваться” в этом диапазоне электромагнитного излучения принято в обратной величине – длине волны, измеряемой в данном случае в нанометрах (нм): человеческий глаз видит излучение в диапазоне от
400 нм (фиолетовый) до
800 нм (красный). Между синим и красным есть ещё один важный цвет – зелёный: 


RGB светодиоды
RGB светодиод представляет собой по сути три светодиода в одном корпусе. Чтобы не плодить лишние выводы, все аноды или катоды светодиодов объединяются и получается 4 контакта: R, G, B и общий. Общим может быть как минус-катод (Common Cathode), так и плюс-анод (Common Anode): 

В качестве магазина рекомендую CHANZON, самые хорошие светодиоды и чипы/матрицы.
RGB ленты
MOSFET
Нам понадобятся три полевых транзистора и резисторы им в обвязку (почему и зачем – читай в уроке про управление нагрузкой). Подключается всё вот по такой схеме: 
LED Amplifier
У китайцев есть готовые драйверы для “усиления” сигнала на RGB ленту, по сути те же три транзистора что выше, но всё красивое и готовое. Подключается следующим образом:
Драйвер Н-моста
Ну и экзотический вариант: использовать полномостовой драйвер для моторов. Почему нет? Количество выходов у таких драйверов всегда кратно двум (для подключения одного мотора), так что это отличный вариант для управления также RGBW лентой. Драйверы можно найти на aliexpress по названию.
Программирование
Программирование эффектов для управления RGB цветом заключается в изменении интенсивностей трёх цветов, то есть трёх численных значений. У меня есть мощная библиотека для RGB светодиодов и лент, в ней реализовано очень много различных удобных инструментов для работы с цветом.
Библиотека GRGB
Например плавная смена цвета по спектру будет выглядеть вот так:
В рамках этого урока мы рассмотрим некоторые алгоритмы, потому что это интересно и может пригодиться где-то ещё.
Хранение цвета
Может пригодиться при связке Arduino и веба.
Включение цветов
Как я уже писал выше, включение того или иного цвета производится точно так же, как в уроке про обычные светодиоды. Для плавного управления яркостью используется ШИМ сигнал.
Для плавного управления цветом можно использовать потенциометры:
Цветовое колесо
Первый очевидный эффект – плавное перетекание одного цвета в другой. Это можно сделать линейно, вот таким образом: 
Пространство HSV
Следующий вариант более интересен тем, что помимо цвета позволяет настроить его яркость и насыщенность. Такая цветовая модель называется HSV – (Hue, Saturation, Value), или (Цвет, Насыщенность, Яркость), в этом цветовом пространстве гораздо удобнее выбирать нужный цвет. Представить его можно цилиндром: 
На этом этапе я могу вам сказать, что после прочтения всех предыдущих уроков вы можете самостоятельно открыть и изучить исходник библиотеки и при желании взять оттуда нужный алгоритм или эффект!
Подключение большого количества RGB
У меня на сайте есть статья, где рассказано об алгоритме динамической индикации RGB светодиодов. Она позволяет подключить несколько RGB светодиодов или лент с возможностью изменения цвета.
Как подключить светодиод к Ардуино
Рассмотрим, как подключить светодиод к Ардуино Нано через резистор. Мигание светодиодом — это самая простая программа (скетч) для начала работы с микроконтроллером. Далее размещена подробная инструкция по сборке схемы со светодиодом и резистором, правила загрузки программы в плату Arduino UNO и приведен скетч для мигания светодиода на Arduino UNO с комментариями.
Назначение и устройство светодиодов

Светодиоды — это полупроводниковые элементы, которые служат для индикации и освещения. Они имеют полярность (+ и —) и чувствуют направление движения постоянного тока. Если подключить светодиод неправильно, то постоянный ток не пройдет и прибор не засветится. Кроме того, светодиод может выйти из строя при неправильном подключении. Анод (длинная ножка светодиода) подключается к плюсу.

В этом простом примере показано, как с помощью платформы Arduino заставить мигать светодиод. Для начала мы соберем простую схему на макетной плате, подключив светодиод к цифровому выходу микроконтроллера Ардуино (входы и выходы на плате еще называют Pin). Загрузив скетч (так называют программу для Ардуино), вы поймете, как пользоваться и работать с платой Arduino UNO.
Как подключить светодиод к Arduino Uno / Nano
Для этого занятия нам потребуется:
Для надёжной сборки устройств создаются печатные платы, на что уходит много времени. Для быстрой сборки электрических схем без пайки используют макетную плату (breadboard). Под слоем пластика на макетной плате находятся медные пластины-рельсы (дорожки), выложенные по простому принципу (смотри фото). Дорожки служат для создания контакта между радиоэлементами и проводами.
Быстрая сборка схем на макетной плате
Соберите схему подключения светодиода к Arduino, как на фото ниже
Для чего светодиод включают к Ардуино с резистором? Дело в том, что в светодиоде стоит кристалл который боится больших токов. Резистор призван ограничивать силу тока (Амперы), чтобы светодиод не перегорел. Большой ток губителен для светодиода, меньший ток (благодаря подключению резистора) обеспечивает длительную работу. Чтобы подключить светодиод к Ардуино без резистора, используйте 13 порт.
Подключите плату Arduino к компьютеру при помощи USB провода
Если у вас не установлена программа Arduino IDE, то скачайте последнюю версию на официальном сайте www.arduino.cc. С помощью USB кабеля производится запись программ, также плата получает питание от компьютера. Если требуется автономная работа электронного устройства, то плату можно запитать от батарейки или блока питания на 7-12 В. При подаче питания на плате загорится светодиод индикации.
Откройте программу Arduino IDE и проверьте подключение платы

Скетч для включения светодиода от Ардуино
Скопируйте код под фото и вставьте свой первый скетч в программу
Перед загрузкой программы в микроконтроллер можно выполнить проверку (компиляцию), на наличие ошибок в коде. В случае обнаружения ошибки — будет получено сообщение в нижнем окошке Arduino IDE. В любом случае, при загрузке скетча, сначала происходит проверка и компиляция программы. При компиляции происходит перевод программы в двоичный код, понятный микроконтроллеру.
Загрузите скетч в Arduino, нажав на кнопку «Вгрузить» (смотри фото)
Перед загрузкой программы в микроконтроллер, потребуется сохранить скетч на компьютере. Нажмите «Сохранить» в появившемся окне и начнется загрузка.

Как подключить светодиод к плате Arduino
Платформа Ардуино пользуется бешеной популярностью во всем мире. Идеальный инструмент для первых шагов в освоении программирования и управления «железом». С ростом навыков можно наращивать архитектуру, добавляя периферийные платы, и создавать более сложные системы, работающие под управлением более сложных программ. Для первоначального обучения подойдут платы Arduino Uno и Arduino Nano. На их примере рассмотрено подключение светодиода к Ардуино.
Что такое Ардуино Уно и Ардуино Нано
Основой платы Ардуино Уно является микроконтроллер ATmega328. На ней также установлены дополнительные элементы:
Все это позволяет сделать первые шаги, не пользуясь паяльником, и избежать этапа изготовления печатной платы. Запитывается блок от внешнего источника напряжения 7..12 В или через USB-разъем. Через него же модуль подключается к ПК для загрузки скетча. На плате имеется источник напряжения 3,3 В для питания внешних устройств. Для работы доступно 6 аналоговых входов, 14 цифровых выводов общего назначения. Нагрузочная способность цифрового вывода при питании от 5 В составляет 40 мА. Это означает, что к нему непосредственно можно подключить светодиод через ограничительный резистор.
Плата Ардуино Нано полностью совместима с Уно, но меньше размером и имеет некоторые отличия и упрощения, указанные в таблице.
| Плата | Контроллер | Разъем для внешнего питания | Микросхема для связи по USB | Разъем USB |
|---|---|---|---|---|
| Arduino Uno | ATmega328 | Есть | ATmega8U2 | USB A-B |
| Arduino Nano | ATmega328 | Нет | FT232RL | micro USB |
Различия не принципиальны и для темы обзора значения не имеют.
Что нужно, чтобы подключить LED к плате Arduino
Вариантов подключения светодиода два. Для целей обучения можно выбрать любой.
LED подключаются катодом к любому цифровому выводу микроконтроллера, анодом на общий провод через балластное сопротивление. При большом количестве светодиодов может понадобиться и дополнительный источник питания.
Можно ли подключить несколько LED к одному выводу
Может возникнуть необходимость подключить к любому из выводов внешний светодиод или группу LED. Нагрузочная способность одного вывода микроконтроллера, как упоминалось, невелика. К нему можно непосредственно подключить параллельно один-два светодиода с током потребления 15 мА. Испытывать живучесть вывода нагрузкой на грани возможности или превышающей ее не стоит. Лучше применить ключ на транзисторе (полевом или биполярном).
Резистор R1 надо выбрать так, чтобы ток через него не превысил нагрузочную способность вывода. Лучше взять половину или меньше от максимума. Так, чтобы установить умеренный ток в 10 мА, сопротивление при 5 вольтах питания должно составлять 500 Ом.
У каждого светодиода должен быть свой балластный резистор, заменять его одним общим нежелательно. Rбал выбирается так, чтобы установить через каждый светодиод его рабочий ток. Так, для напряжения питания 5 вольт и тока в 20 мА, сопротивление должно быть 250 Ом или ближайшее стандартное значение.
Надо следить, чтобы общий ток через коллектор транзистора не превысил его максимальное значение. Так, для транзистора КТ3102 наибольший Ik должен быть ограничен на уровне 100 мА. Это означает, что к нему можно подключить не более 6 LED с током 15 мА. Если этого недостаточно, надо применить более мощный ключ. Это единственное ограничение для выбора транзистора структуры n-p-n в такую схему. Еще здесь теоретически надо учесть коэффициент усиления триода, но для данных условий (входной ток 10 мА, выходной 100) он должен быть всего лишь не меньше 10. Такой h21э может выдать любой современный транзистор.
Такая схема подойдет не только для умощнения выхода микроконтроллера по току. Так можно подключать достаточно мощные исполнительные механизмы (реле, соленоиды, электродвигатели) питающиеся от повышенного напряжения (например, 12 вольт). При расчете надо взять соответствующее значение напряжения.
Также для выполнения ключей можно применять MOSFET-транзисторы, но они для открытия могут потребовать напряжения выше, чем может дать выход Ардуино. В этом случае надо предусматривать дополнительные цепи и элементы. Чтобы этого избежать, надо применять так называемые «цифровые» полевые транзисторы – им достаточно 5 вольт для открытия. Но они менее распространены.
Управление светодиодом программным способом
Простое подключение светодиода к выходу микроконтроллера мало что дает. Надо освоить управление светодиодом от Arduino программным способом. Сделать это можно на языке Ардуино, который выполнен на основе С (Си). Этот язык программирования представляет собой адаптацию Си для первоначального обучения. После его освоения переход на С++ будет несложным. Чтобы писать скетчи (так называются программы для Ардуино) и отлаживать их вживую, надо выполнить следующее:
Для отладки простых программ и схем можно использовать компьютерные симуляторы. Имитацию работы плат Ардуино Уно и Нано поддерживает, например, Proteus (начиная с версии 8). Удобство симулятора в том, что невозможно вывести из строя железо при ошибочно собранной схеме.
Скетчи состоят из двух модулей:
Для подключения светодиода можно использовать любой из 14 свободных выводов (пинов), которые часто неправильно называют портами. На самом деле порт представляет собой, упрощенно говоря, группу выводов. Пин является всего лишь элементом.
Пример управления рассмотрен для вывода 13 – к нему уже на плате подключен светодиод (через усилитель-повторитель на плате Uno, через резистор у Nano). Для работы с выводом порта его надо настроить в режимах входа или выхода. Это удобно делать в теле setup, но не обязательно – назначение вывода можно менять динамически. То есть, в процессе выполнения программы порт может работать то на ввод, то на вывод данных.
Инициализация пина 13 Ардуино (вывод PB5 порта B микроконтроллера ATmega 328) выглядит следующим образом:
void setup ()
pinMode (13, Output);
После выполнения этой команды вывод 13 платы будет работать в режиме выхода, по умолчанию на нем будет низкий логический уровень. В процессе выполнения программы в него можно записывать ноль или единицу. Запись единицы выглядит так:
void loop ()
digitalWrite (13, HIGH);
Теперь на выводе 13 платы установится высокий уровень – логическая единица, и ее можно использовать, чтобы зажечь светодиод.
Чтобы погасить светодиод, надо установить выход в ноль:
digitalWrite (13, LOW);
Так, записывая поочередно единицу и ноль в соответствующий бит регистра порта, можно управлять внешними устройствами.
Теперь можно усложнить программу на Ардуино для управления светодиодом и научиться мигать светоизлучающим элементом:
void setup ()
pinMode (13, Output);
void loop ()
digitalWrite (13, HIGH);
delay(1000);
digitalWrite (13, LOW);
delay(1000);
Команда delay(1000) создает задержку в 1000 миллисекунд или в одну секунду. Изменяя это значение, можно менять частоту или скважность мигания LED. Если подключается внешний светодиод к другому выводу платы, то и в программе вместо 13 надо указать номер выбранного пина.
Для наглядности рекомендуем серию видеороликов.
Освоив подключения LED к Ардуино и научившись им управлять, можно переходить на новый уровень и писать другие, более сложные программы. Например, можно научиться переключать кнопкой два или более светодиода, изменять частоту мигания посредством внешнего потенциометра, регулировать яркость свечения с помощью ШИМ, изменять цветность RGB-излучателя. Уровень задач ограничивается только фантазией.











