Как подключить светодиод к arduino nano
Подключение светодиода к Arduino
Для начала разберемся что такое светодиод и как он работает. Светодиод — это полупроводниковый элемент, который, при прохождении через него электрического тока излучает свет. Светодиод пропускает ток только в одном направлении от анода к катоду. Подробнее на вики. Это значит что при подключении необходимо соблюдать полярность. Также нужно учитывать, что для каждого светодиода существует допустимая сила тока. Узнать параметры светодиода можно у производителя или продавца.
Узнать полярность светодиода можно по нескольким признакам:
Теперь поговорим о подключении светодиода к плате Ардуино. Цифровые пины Ардуино способны выдавать ток до 40 мА, но для большинства светодиодов это слишком много. Самые простые и дешевые светодиоды обычно имеют значение предельно допустимого тока в 20 мА. Это значит, что подключив светодиод напрямую к пину Ардуинки, он быстро выйдет из строя. Что бы этого не произошло необходимо использовать токоограничивающий резистор. Можете почитать статью о резисторах, где я рассказывал про токоограничивающие резисторы и расчет необходимого номинала. Так же вам может пригодиться онлайн калькулятор маркировки резисторов для того, что бы найти или купить постоянные резисторы нужного номинала.
Подключение светодиода к Arduino Nano
Мы будем подключать светодиод к цифровому пину с поддержкой ШИМ, для того что бы мы могли управлять не только включением и отключением но еще и яркостью светодиода. Советую почитать про характеристики, возможности и распиновку Ардуино нано. Код скетча будет одинаковым для Arduino Nano и Arduino Uno. Его я тоже объясню чуть позже. В качестве токоограничивающего сопротивления я буду использовать постоянный резистор на 150 Ом. Можно использовать резисторы и схожих номиналов, но при меньшем сопротивлении светодиод будет сильнее греться, а при большем будет светить тусклее. Я рекомендую использовать резисторы сопротивлением от 120 Ом и до 250 Ом для самых простых 5 мм светодиодов. Вот наглядная схема подключения светодиода к ардуино нано:
Схема подключения светодиода к Arduino Nano V3
Подключение светодиода к Arduino Uno
Здесь все точно так же как и в прошлом примере, только я решил не использовать макетную плату. Резистор точно такой же на 150 Ом.
Схема подключения светодиода к Arduino Uno R3
Скетч для управления светодиодом с помощью Arduino
Мы подключили светодиод к Arduino как показано на схемах выше. Теперь нам нужно написать программу для управления этим светодиодом. Для написания и загрузки прошивок в микроконтроллер обычно используется Arduino IDE. Мы рассмотрим самый простейший пример. Просто будем мигать светодиодом. Вот сам код скетча:
Думаю тут все понятно. Если же нет то можете ознакомиться с разделами сайта «Аrduino для начинающих» и «Программирование«.
RoboHobby
Детали для моделирования роботов
Категории товаров
Поиск товаров
Программирование
Уроки
Оплата и доставка
Урок 3. Управление светодиодом
Это третий урок из цикла «Знакомство с Arduino». В этом уроке Вы научитесь управлять как установленным на плате Arduino светодиодом, так и внешним светодиодом.
Для урока Вам понадобится следующие детали:
Если на компьютере не установлена среда Arduino IDE, то необходимо её скачать и установить. Урок по основам работы с IDE можно прочитать здесь.
Первым проектом на Arduino у большинства людей является обычное мигание установленным на плату светодиодом. Пожалуй и мы начнём с этого. Кроме модуля Arduino и кабеля для его подключения к компьютеру Вам больше ничего не понадобится.
Итак, подключите модуль Arduino к компьютеру. Далее откройте среду разработки Arduino IDE и при помощи неё загрузите следующую программу в Arduino. Если забыли или не знаете как это делается, то прочтите предыдущий урок.
Текст программы:
После загрузки программы, установленный на плате Arduino Nano светодиод начнёт мигать с периодом в 1 секунду.
Ну что ж, мигать светодиодом на плате Arduino мы научились. Скажете совсем просто? Давайте усложним задачу. Подключим к Arduino внешний светодиод.
Когда все необходимые детали находятся под рукой можно начинать собирать наш пример. Для этого необходимо воспользоваться следующими схемами:
Электрическая принципиальная схема:
Схема подключения на макетной плате:
Обратите внимание на полярность светодиода! Если его неправильно подключить, то он запросто сгорит.
Светодиод имеет два вывода, один из которых катод («минус», короткая нога), а другой — анод («плюс», более длинная нога).
Также не забудьте подключить токоограничивающий резистор 220 Ом. Можно взять резистор и большего сопротивления, но в таком случае светодиод будет гореть чуть тусклее.
Когда схемка собрана можно записывать в Arduino следующую программу:
Подключение светодиода к Ардуино
В этом уроке мы узнаем, как правильно выполнить подключение светодиода к плате Ардуино и как организовать управление им с помощью скетча. Для работы с проектами вам потребуется плата Arduino Uno, Nano или Mega, а также установленная на компьютер программа Arduino IDE. Если у вас нет возможности собрать схему своими руками, можно воспользоваться встроенными светодиодами на плате контроллера. Главное, чтобы была возможность подключиться к
Подключение светодиода к Ардуино
Светодиод – один из самых распространенных электронных компонентов, применяемых в электротехнических проектах. И естественно то, что любые DIY проекты начинаются с примеров работы со светом – мигание, мерцание, переключение. Существует огромное количество светодиодов разных вариантов и моделей в разных корпусах и с различными характеристиками. Более подробно мы писали об этом в статье с описанием принципа работы светодиода. Мы с вами будем использовать самые простые и дешевые компоненты, которые можно без труда купить в любом интернет-магазине.
Правила подключения
Главное, что нам нужно знать о светодиодах (кроме того, что они светятся) – что это полупроводниковый прибор. Свет в виде испускаемых фотонов возникает в специальном слое (pn – переходе), когда через него проходит определенный ток. Принцип работы светодиода показан на следующей картинке.
При подключении светодиодов важно знать два главных правила:
Полярность светодиодов
Первое правило легко соблюдать, если знать, где у светодиода минус, а где плюс. Тут на помощь приходят правила маркировки. Мы смотрим на ножки и видим, что они разного размера. Более длинная ножка означает плюс. Если нет возможности сравнить длину или кто-то уже до вас отрезал часть ножек, мы ощупываем корпус (визуально определить будет сложно) – с одной из сторон корпус слегка обрезан (скошен), с этой стороны находится минус.
Полярность светодиодов
Что будет, если перепутать ножки местами и поменять полярность подключения? К счастью – ничего. Ничего не сгорит, но и светиться тоже ничего не будет. Диод, включенный неправильно, просто размыкает цепь. Естественно, до определенного предела, т.к. если мы подадим достаточно большой ток, то рано или поздно случится пробой и устройство перестанет работать совсем.
Ограничение по току
Правило ограничения по току тоже легко выполнить. Нужно лишь получить в спецификации к вашему светодиоду значение максимального тока для данной модели и добавить в схему сопротивление, обеспечивающее нужный ток в цепи. Все это легко рассчитывается с помощью закона Ома и многочисленных калькуляторов, доступных в интернете. Чтобы не усложнять процесс лишними расчетами (это мы сделали в другой статье) просто даем итоговый результат для работы с Ардуино.
В наших первых проектах для самых распространенных светодиодов, доступных в стартовых комплектах, мы будем использовать резисторы 220 Ом. Если вы добавите к схеме резистор большего номинала, то ничего страшного не произойдет – просто диод будет светить не так ярко.
Схема подключения светодиода
Подключение светодиода к электрической цепи – достаточно простая операция. Нужно соединить соответствующие ножки с плюсом и минусом. Длинную ножку подключаем к той части цепи, которая ведет в итоге к плюсу. Важно не забыть включить в цепь резистор.
Схема подключения светодиода
Может возникнуть вопрос, как соединить провода. Мы можем держать их руками и зубами, можно выполнить скрутку, можно спаять. Но самым простым и довольно надежным способом соединения является использование макетных плат. Мы писали о них в статье о платах прототипирования.
Схема подключения к плате Arduino Nano или Uno
Чтобы подключить светодиод к Ардуино надо понять, где на этой плате будет плюс, где минус. Ведь светодиод – устройство электрическое, для его работы нужна электрическая цепь с плюсом и минусом. Первое, что можно сделать – это подключить питание к выводу 5В платы Uno. Свет будет гореть, но таким устройством управлять с помощью скетча невозможно. Свет будет гореть до тех пор, пока включено питание. Конечно, можно выключать питание и уводить плату в режим сна в программе, но это уже тема отдельной статьи.
Подключение светодиода напрямую к пину питания Ардуино
Правильным вариантом подключения является использование пинов (разъемов) платы, на которые мы можем подавать напряжение из скетча. Тут нет ничего сложного, если представить плату Ардуино в виде батарейки с большим количеством положительных и отрицательных полюсов. Мы просто включаем или выключаем нужные разъемы, подавая на подключенные к ним устройства напряжение и ток.
Начнем с отрицательных полюсов. Все минусы платы обозначены одним словом – GND, сокращенное от ground – земля («земля» или «корпус» – так часто называют общую линию для электрической схемы). На плате Arduino Uno или Nano можно найти три таких контакта: возле 13 пина и на другой стороне, в зоне разъемов питания.
Все остальные цифровые или аналоговые пины (с номерами или обозначениями A0-A5) могут быть и плюсами и минусами. Если мы укажем в программе, что на нужный нам порт надо подать напряжение (высокий уровень сигнала), то он становится плюсом. Если укажем низкий уровень сигнала, то пин станет «минусом». Не будем вдаваться в тонкости и расчеты, наша задача пока понять основы.
Пошаговая инструкция
Итак, нам нужно подключить светодиод к плате. Для этого мы соединяем длинную ножку к плюсу, т.е. к тому участку схемы, который ведет к цифровому или аналоговому разъему платы. Но делаем это не сразу, а через резистор, который уже потом подключается к пину 13. Короткую ножку (минус) подключаем к минусу – к пину GND. Вот так это выглядит на схеме.
Подключение светодиода к Arduino Uno
Можно поменять местами резистор и светодиод – подключить GND к резистору, а плюс через напрямую к цифровому пину. Ничего от этого не изменится. Если вы захотите поменять местами провода, обязательно обращайте внимание на то, что ножки диода должны стоять длинной стороной к проводам, ведущим к пинам платы и короткой – к пинам с обозначением GND.
Для упрощения работы, подключите светодиод к 13 пину по схеме, представленной на рисунке. Собрав схему и включив питание, мы можем увидеть, как наш светодиод замигает уже при старте. Если в плате загружен тот же начальный скетч маячка, то после инициализации светодиод будет мигать и увидим, что теперь он мигает с частотой 1 раз в секунду. О том, как загрузить скетч в ардуино, можно прочитать в нашей статье о проектах для начинающих.
Встроенный светодиод в Arduino Uno и Nano
На самом деле нам не обязательно знать о нюансах работы со светодиодами для начала практической деятлеьности. Первые эксперименты вполне можно провести со встроенным светодиодом платы Ардуино. В подавляющем большинстве плат он будет подключен к пину 13. Вы можете без труда найти светящиеся элементы платы – они загораются и мигают разным цветом при включении. Это и есть встроенные светодиоды.
Далеко не все “лампочки на плате” доступны нам для управления из скетча. Некоторые из них служат индикаторами обмена данными через те или иные протоколы (например, UART), другие информируют о включении питания и режиме работы платы. Светодиод, присоединенный к пину 13 платы может загореться и погаснуть при включении платы, а затем его работа определяется встроенным скетчем.
На некоторых вариантах плат количество источников света ограничено и 13 пин оказывается не подключенным. Это делается ради экономии потребляемой электроэнергии, ведь led-лампочка всегда приводит к повышенному потреблению электричества. В некоторых проектах, требующих увеличенного времени работы от аккумуляторов, “прожорливые лампочки” приходится выпаивать принудительно.
Подключение нескольких светодиодов
Для подключения нескольких светодиодов к ардуино нужно просто подключить каждый из них к своему цифровому порту по той же схеме. Например, для создания проекта «Мигалка» можно взять два светодиода красного и синего цвета, подключив через сопротивление их положительные (длинные ножки)контакты к 13 и 12 пину соответственно. Короткие ножки подключаются к минусу – земле.
Схема подключения светодиодов проекта Мигалка
Мы уже знаем, что на плате нас дожидаются три разъема с таким обозначением («GND»), можно подключать к любому. Если разъемов питания будет не хватать, у нас есть три варианта.
Точно так же вы сможете подключить и следующие светодиоды, приступив к проектам светофор или светодиодная лента.
Имейте в виду, что подключение более 3 светодиодов создает достаточно большую нагрузку на модуль питания платы Arduino. Поэтому не рекомендуется устраивать длительное одновременное включение множества светодиодов.
Управление светодиодом
Подключив светодиод к Ардуино, мы получаем очень удобный инструмент для управления им. Ведь нам не нужно ничего включать или выключать физически. Достаточно просто указать в программе нужные инструкции, чтобы сама плата подавала напряжение на нужные пины, включая или выключая наш светодиод. Единожды загрузив программу в память контроллера, мы заставим его выполнять нужный нам алгоритм каждый раз, когда будет подключено питание.
Включение и выключение светодиода в Ардуино
Включение светодиода произойдет в тот момент, когда мы подадим на пин, к которому он подключен, высокий уровень сигнала (напряжение). За это в Ардуино отвечает функция digitalWrite со вторым параметром HIGH. Например, для светодиода, подключенного к пину 12 команда будет выглядеть так: digitalWrite (12, HIGH);
Чтобы выключить светодиод, мы используем ту же команду, но с параметром LOW: digitalWrite(12, LOW). Если мы вызовем первую команду, а потом чрез какой-то промежуток времени вторую, то у нас светодиод сначала загорится, а потом потухнет. Зациклив включение и выключение, мы получим постоянно включающийся и выключающийся мигающий маячок.
Бывают ситуации, когда светодиод горит не очень ярко и непонятно, что тут пошло не так. На самом деле нужно в первую очередь проверить, не забыли ли вы сконфигурировать пин в качестве выходного. Это делается добавлением функции pinMode (обычно в блоке setup()). Для нашего варианта функция будет выглядеть так: pinMode(12, OUTPUT);
Управление яркостью светодиода
Мы можем не только включать или выключать свет, но и управлять его яркостью. Для этого используется специальная технология с красивым названием ШИМ. Подключившись к пинам контроллера, поддерживающим ШИМ, можно регулировать интенсивность свечения с помощью функции analogWrite(). Мы должны указывать ей в качестве параметров номер пина и значение из диапазона от 0 до 255. Чем больше число, тем ярче будет светить лампочка. Например, для пина 3 пример будет выглядеть так: analogWrite(3, 255) или analogWrite(3, 100). В первом случае яркость будет максимально возможная, во втором – гораздо меньше.
Заключение
Подключить светодиод к своей схеме на Ардуино – несложное занятие. Просто соединяем ножки в правильной последовательности и не забываем о токоограничивающем резисторе. Главное преимущество Ардуино в таких схемах – возможность программного управления светодиодом. Мы просто пишем в программе нужный алгоритм, загружаем его в контроллер и плата включает и выключает нужные нам пины.
Можно подключать несколько светодиодов, но следить, чтобы не выйти в итоге за пределы ограничений по току. Можно не просто включать или выключать свет, но и управлять его яркостью. Для этого используем пины, поддерживающие ШИМ и функцию analogWrite.
Более подробно о подключении и управлении светодиодами на ардуино вы сможете узнать в статьях с описанием таких проектов как мигалка, маячок, светофор.
RGB светодиоды и ленты
Немного теории
Я думаю все знают, что свет – это поток фотонов, но в то же время он является электромагнитной волной, излучением. Человеческий глаз воспринимает очень узкий диапазон этого излучения: приблизительно от 390 до 790 ТГц (террагерц), так называемое видимое излучение или видимый свет. “Ориентироваться” в этом диапазоне электромагнитного излучения принято в обратной величине – длине волны, измеряемой в данном случае в нанометрах (нм): человеческий глаз видит излучение в диапазоне от
400 нм (фиолетовый) до
800 нм (красный). Между синим и красным есть ещё один важный цвет – зелёный: Красный (Red, R), зелёный (Green, G) и синий (Blue, B) являются основными цветами: смешивая эти три цвета в разных пропорциях можно получить плюс-минус все остальные цвета.
Этот наглядный “двухмерный” случай с кругами вы тоже скорее всего видели. Если раскручивать тему дальше, то можно задаться интенсивностью каждого цвета и получить итоговый цвет как функцию от трёх переменных, или же трёхмерное цветовое пространство RGB. Если интенсивности всех трёх цветов равны нулю – получится чёрный цвет, если все три максимальны – белый, а всё что между – оттенки:
На картинке выше интенсивность каждого цвета представлена диапазоном 0-255. Знакомое число, не правда ли? Всё верно, в большинстве применений диапазон каждого цвета кодируется одним байтом, потому что это удобно с точки зрения программирования и достаточно с точки зрения глаза: три цвета – три байта – 256*256*256 == 16.8 миллионов оттенков. Да, именно эта цифра часто фигурирует в рекламах смартфонов и телевизоров, и именно столько оттенков мы можем абсолютно не напрягаясь получить при использовании Arduino и RGB светодиодов, о чём и поговорим в этом уроке.
RGB светодиоды
RGB светодиод представляет собой по сути три светодиода в одном корпусе. Чтобы не плодить лишние выводы, все аноды или катоды светодиодов объединяются и получается 4 контакта: R, G, B и общий. Общим может быть как минус-катод (Common Cathode), так и плюс-анод (Common Anode): Также на этой картинке показана распиновка типичного RGB светодиода: самая длинная нога – общий вывод, крайняя рядом с ней – красный, с другой стороны зелёный дальняя крайняя – синий. К Arduino такой светодиод подключается точно так же, как если бы мы подключали три отдельных светодиода (читай предыдущий урок про светодиоды): на каждый цвет нужен токоограничивающий резистор, а общую ногу нужно подключать в зависимости от того, анод она или катод.
Можно управлять каждым цветом точно так же, как если бы это были отдельные светодиоды. Также не забываем про подключение: если у светодиода общий катод, то высокий сигнал ( digitalWrite(pin, HIGH); ) с управляющих пинов будет включать выбранный цвет, а если общий анод – то выключать. Соответственно плавное управление яркостью при помощи ШИМ работает по той же логике: у общего катода analogWrite(pin, 200); включит цвет почти на полную яркость, а у общего анода – почти полностью погасит. RGB светодиоды можно дёшево найти на Aliexpress, а именно:
В качестве магазина рекомендую CHANZON, самые хорошие светодиоды и чипы/матрицы.
RGB ленты
MOSFET
Нам понадобятся три полевых транзистора и резисторы им в обвязку (почему и зачем – читай в уроке про управление нагрузкой). Подключается всё вот по такой схеме: Если нужно плавное управление яркостью цветов – подключаем к ШИМ пинам, если просто вкл/выкл – можно к обычным. Свой драйвер на плате можно развести примерно вот так (корпуса D-pak):
LED Amplifier
У китайцев есть готовые драйверы для “усиления” сигнала на RGB ленту, по сути те же три транзистора что выше, но всё красивое и готовое. Подключается следующим образом:
Драйвер Н-моста
Ну и экзотический вариант: использовать полномостовой драйвер для моторов. Почему нет? Количество выходов у таких драйверов всегда кратно двум (для подключения одного мотора), так что это отличный вариант для управления также RGBW лентой. Драйверы можно найти на aliexpress по названию.
Программирование
Программирование эффектов для управления RGB цветом заключается в изменении интенсивностей трёх цветов, то есть трёх численных значений. У меня есть мощная библиотека для RGB светодиодов и лент, в ней реализовано очень много различных удобных инструментов для работы с цветом.
Библиотека GRGB
Например плавная смена цвета по спектру будет выглядеть вот так:
В рамках этого урока мы рассмотрим некоторые алгоритмы, потому что это интересно и может пригодиться где-то ещё.
Хранение цвета
Может пригодиться при связке Arduino и веба.
Включение цветов
Как я уже писал выше, включение того или иного цвета производится точно так же, как в уроке про обычные светодиоды. Для плавного управления яркостью используется ШИМ сигнал.
Для плавного управления цветом можно использовать потенциометры:
Цветовое колесо
Первый очевидный эффект – плавное перетекание одного цвета в другой. Это можно сделать линейно, вот таким образом: Реализовать это можно просто через условия. Продолжим предыдущий пример:
Пространство HSV
Следующий вариант более интересен тем, что помимо цвета позволяет настроить его яркость и насыщенность. Такая цветовая модель называется HSV – (Hue, Saturation, Value), или (Цвет, Насыщенность, Яркость), в этом цветовом пространстве гораздо удобнее выбирать нужный цвет. Представить его можно цилиндром: Светодиод и лента работают в пространстве RGB, HSV цвет нужно конвертировать в RGB для включения соответствующих каналов цвета. В подробности работы алгоритма вдаваться не будем, тем более что существует много разных вариантов его реализации, можно найти их в интернете по запросу HSV to RGB C++. Вот один из них, который использую я:
На этом этапе я могу вам сказать, что после прочтения всех предыдущих уроков вы можете самостоятельно открыть и изучить исходник библиотеки и при желании взять оттуда нужный алгоритм или эффект!
Подключение большого количества RGB
У меня на сайте есть статья, где рассказано об алгоритме динамической индикации RGB светодиодов. Она позволяет подключить несколько RGB светодиодов или лент с возможностью изменения цвета.