Как подключить светодиод к ардуино нано
Перейти к содержимому

Как подключить светодиод к ардуино нано

  • автор:

 

Arduino Tutorial Series: LED Blinking

We will go through the steps of connecting Arduino Nano 33 IoT to two resistors and two LEDs, blinking them from code we upload from our computer. There are more resources and guides about how to set the Arduino IDE, Arduino Web Editor, and details about the hardware used at:

The first step will need us to download and install the Arduino IDE. You can get it at https://www.arduino.cc/en/main/software.

You will also need the board definition for the Arduino Nano 33 IoT. For that step, you should use the menu within the Arduino IDE inside Tools / Boards / Board Manager. You will have to search for Nano 33 and install the latest version.

Once you have downloaded that, you will have a new option in the Tools / Boards that will say Arduino Nano 33 IoT. After you choose that, we will be able to program our board.

We will use the code example provided in the option File / Examples / Basics / Blink. You will see a code that pops up and you will have access to a chunk of code that is pretty standard, a little like the “Hello World” that computer scientists program to see if things are working well.

At this point, you should check that your board is connected and that your computer recognizes it. In order to do that, you should check Tools / Port and choose the option that points to your board. This part of the process depends on each computer, but in general, you will see something like /dev/cu.usbmodemXXXXX if you have a Mac computer or a COMXXXX if you have a Windows computer. The options refresh every time you click on the menu, so if you are a bit lost, you might want to click somewhere else, unplug your Arduino, check the options listed in Tools / Port, plug your Arduino back and see if anything new is listed there.

If everything went well, you should be able to upload the Blink code by pressing the icon with an arrow shape or by choosing Sketch / Upload. If the code was uploaded successfully, the onboard LED, next to the USB micro connector, should be blinking once a second. If something went wrong, you will know for sure because you will see a screen like this one:

Our Discord channel should be the right place to seek for help! But if it did upload successfully, you could try changing the “delay(1000);” instructions. Another interesting exercise is to connect an external LED. In order to do that you might like to know that the name “ LED_BUILTIN” for our case is exactly the same as writing the number 13. You can try it out replacing the three “ LED_BUILTIN” and re-uploading the code. Knowing that pin 13 is where the LED is connected, it would be quite straight-forward to add an external LED. Remember you will need a resistor in series and suitable values could be between 100 and 1000 ohms.

If that worked well, you might want to try connecting a second LED to pin 12. Remember to unplug your circuit at every step you are connecting new components to avoid a short circuit and protect your Arduino and computer.

Once you get a blinking LED on pin 12 as well, you can also code both of the LEDs on pin 12 and 13 to blink one after the other. Below you can see the code we used in the video and the circuit diagram.

Подключение светодиодов (LED) к Ардуино

Светодиоды (LED) — это самый простой и дешевый способ визуализации процесса работы какой-либо программы на ардуине. Поэтому важно уметь подключать светодиоды к плате arduino.

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

Вообще говоря, на большинстве ардуино плат уже имеется встроенный светодиод, подключенный к выводу 13 . В большинстве случаев его в принципе и достаточно. Конечно, если мы захотим усложнить нашу программу и использовать несколько светодиодов для лучшей информативности, то нам всё равно придется научиться подключать их к ардуине. Итак, рассматрим как это можно сделать.

Предостережение

Сначала небольшое предупреждение . Ни в коем случае не стоит подключать ваш светодиод напрямую (без резистора) к плате Arduino. Так вы спалите не только светодиод, но и (что гораздо важнее) микроконтроллер на ардуине. Тогда придётся менять контроллер или же (если он в TQFP корпусе) скорее всего выбрасывать плату ардуино целиком.

Подключение одного светодиода LED к Arduino

Подключение светодиода осуществляется следующим образом:

Электрическая схема подключения выглядит так:

Как видите, здесь светодиод подключается через резистор 220 Ом. Это стандартный номинал, который подходит в большинстве случаев: как для слабых, так и для ярких светодиодов (не очень большой мощности). Но сильно мощные светодиоды запитывать от арудины и не стоит.

Можно взять сопротивление больше или чуть меньше — это на результат не повлияет. Вообще максимально допустимый ток на один вывод микроконтроллера ATMEGA328P (который на UNO, Nano и др. ардуинах стоит) составлят 40 мА (или 0.04 А) — как входной ток, так и выходной. Когда используется резистор 220 Ом, то ток составит 5 В / 220 Ом = 0.023 А, как видим еще запас будет. Поэтому без особых опасений (за ардуину) можно ставить резистор от 125 Ом до 1 кОм (и выше). Конечно, чем выше сопротивление, тем менее ярко будет гореть светодиод.

Код программы для Arduino для моргания светодиода

Ну вот, когда светодиод к ардуине подключен, осталось протестить работоспособность всего этого дела. Для этого зашиваем в ардуину следующую программу (на языке C++):

Здесь, как видно, переменная pin_led указывает номер пина, к которому подключен светодиод. Если требуется поставить светодиод на другой вывод ардуины, то просто меняем это значение переменной.

Как только программа будет зашита (и ардуина перезапущена), светодиод должен начать моргать с периодом в 1 секунду. Если этого не случилось, значит что-то пошло не так — возможно просто программа не загрузилась, или светодиод подключен не той стороной. Учтите, что у светодиода есть полярность. Если подключить его не той сторой, то ничего страшного не случится — просто он не будет светить (p-n переход будет в закрытом состоянии и ток через него не потечет). Полярность светодиода легко определить — смотри рисунок:

Длинная ножка есть АНОД, и её надо подключать к ПИТАНИЮ через резистор (в данном случае к пину, на котором высокий HIGH потенциал). А короткую ножку КАТОД подключаем на землю GND. Резистор можно вставлять как между питанием и светодиодом, так и между землей и светодидом — в данном случае разницы никакой нету.

Подбор резистора в зависимости от цвета светодиода (для подсветки)

Как я уже сказал выше, номинал 220 — 300 Ом — это самое то, чтобы ничего не спалить. Для простой индикации другое и не надо.

Другое дело, если используется какой-либо яркий светодиод, скажем, специально для подсветки чего-то. В этом случае мы хотим использовать возможности светодиода на все 100%. Чтобы включить светодиод на максимальную яркость, нужно взять минимальное значение резистора, при котором ток не превысит максимально допустимый. Но лучше брать с запасом, конечно. Это увеличить срок службы светодиода, поскольку он зависит от тока эксплуатации.

Короче, нужно нам сопротивление резистора вычисляется по следущей формуле:

где U_V — напряжение источника питания в вольтах (для ардуины UNO, Nano, Mega это 5 Вольт).

U_F — прямое падение напряжения на светодиоде в вольтах.

I_max — максимальный прямой ток светодиода в амперах.

0.75 — для запаса (чем меньше значение, тем дольше прослужит светодиод).

Падение напряжения и максимальный ток зависит от светодиода, в частности от материала, из которого он сделан. Как правило, материал светодиода влияет на его цвет излучения (длину волны света).

По одним из данных:

— красный напряжение UF = 3 вольта, Imax = 20 мА

— зеленый напряжение UF = 2.5 вольта, Imax = 20 мА

— синий напряжение UF = 3 вольта, Imax = 50 мА

— белый напряжение UF = 2.7 вольта, Imax = 50 мА

— желтый напряжение UF = 3.5 вольта, Imax = 30 мА

Мои личные эксперименты показывают следующее.

Яркие синие и белые светодиоды имеют падение напряжения U=3.2В.

Если Uпит=5.6 В, то последовательно имеет смысл ставить R=120 Ом для получения тока 20 мА. Для надежности можно поставить 160 Ом — получим 15 мА. Если 220 Ом, то 11 мА (совсем надежно).

У зеленых светодидов диаметром 5mm падение напряжения U=2.8 В.

При тестировании при резисторе 120 Ом и питании 5 В такой светодиод перегорел у меня примерно через год работы (работал непрерывно для подсветки).

Красный светодиод, который средний по размерам. Падание напряжения составляет 1.92 В. Тесты:

— 2 севшие батареи по 1.2 В, резистор 100 Ом. Горит слабо.

— батарея 9 В (севшая немного), резистор 300 Ом. Горит вполно нормально.

 

— батарея 9 В (севшая немного), резистор 100 Ом. Горит достаточно ярко, но есть риск, что перегорит быстро.

Поскольку на резисторе происходит падение напряжения, а следовательно и потеря энергии батареи, то более оптимальный вариант – это включать последовательно 3-4 светодиода на 9 В без резистора (либо малый резистор, скажем 10 Ом)

Светодиоды и ленты

Светодиод – простейший индикатор, который можно использовать для отладки кода: его можно включить при срабатывании условия или просто подмигнуть. Но для начала его нужно подключить.

Подключение светодиода

Светодиод – это устройство, которое питается током, а не напряжением. Как это понимать? Яркость светодиода зависит от тока, который через него проходит. Казалось бы, достаточно знания закона Ома из первого урока в разделе, но это не так!

  • Светодиод в цепи нельзя заменить “резистором”, потому что он ведёт себя иначе, нелинейно.
  • Светодиод полярен, то есть при неправильном подключении он светиться не будет.
  • Светодиод имеет характеристику максимального тока, на котором может работать. Для обычных 3 и 5 мм светодиодов это обычно 20 мА.
  • Светодиод имеет характеристику падение напряжения (Forward Voltage), величина этого падения зависит от излучаемого цвета. Цвет излучается кристаллом, состав которого и определяет цвет. У красных светодиодов падение составляет

2.5 вольта, у синих, зелёных и белых

blank Если питать светодиод напряжением ниже его напряжения падения, то яркость будет не максимальная, и здесь никаких драйверов не нужно. То есть красный светодиод можно без проблем питать от пальчиковой батарейки. В то же время кристалл может деградировать и напряжение уменьшится, что приведёт к росту тока. Но это редкий случай. Как только мы превышаем напряжение падения – нужно стабилизировать питание, а именно – ток. В простейшем случае для обычного светодиода ставят резистор, номинал которого нужно рассчитать по формуле: R = (Vcc — Vdo) / I , где Vcc это напряжение питания, Vdo – напряжение падения (зависит от светодиода), I – ток светодиода, а R – искомое сопротивление резистора. Посчитаем резистор для обычного 5 мм светодиода красного цвета при питании от 5 Вольт на максимальной яркости (2.5 В, 20 мА): (5-2.5)/0.02=125 Ом. Для синего и зелёного цветов получится 75 Ом. Яркость светодиода нелинейно зависит от тока, поэтому “на глаз” при 10 мА яркость будет такая же, как на 20 мА, и величину сопротивления можно увеличить. А вот уменьшать нельзя, как и подключать вообще без резистора. В большинстве уроков и проектов в целом для обычных светодиодов всех цветов ставят резистор номиналом 220 Ом. С резистором в 1 кОм светодиод тоже будет светиться, но уже заметно тусклее. Таким образом при помощи резистора можно аппаратно задать яркость светодиода. Как определить плюс (анод) и минус (катод) светодиода? Плюсовая нога длиннее, со стороны минусовой ноги бортик чуть срезан, а сам электрод внутри светодиода – крупнее: blank

Мигаем

blank

Мигать светодиодом с Ардуино очень просто: подключаем катод к GND, а анод – к пину GPIO. Очень многие уверены в том, что “аналоговые” пины являются именно аналоговыми, но это не так: это обычные цифровые пины с возможностью оцифровки аналогового сигнала. На плате Nano пины A0-A5 являются цифровыми и аналоговыми одновременно, а вот A6 и A7 – именно аналоговыми, то есть могут только читать аналоговый сигнал. Так что подключимся к A1, настраиваем пин как выход и мигаем!

Как избавиться от delay() в любом коде я рассказывал вот в этом уроке.

Мигаем плавно

Как насчёт плавного управления яркостью? Вспомним урок про ШИМ сигнал и подключим светодиод к одному из ШИМ пинов (на Nano это D3, D5, D6, D9, D10, D11). Сделаем пин как выход и сможем управлять яркостью при помощи ШИМ сигнала! Читай урок про ШИМ сигнал. Простой пример с несколькими уровнями яркости:

blank

Подключим потенциометр на A0 и попробуем регулировать яркость с его помощью:

Как вы можете видеть, все очень просто. Сделаем ещё одну интересную вещь: попробуем плавно включать и выключать светодиод, для чего нам понадобится цикл из урока про циклы.

Плохой пример! Алгоритм плавного изменения яркости блокирует выполнение кода. Давайте сделаем его на таймере аптайма.

Теперь изменение яркости не блокирует выполнение основного цикла, но и остальной код должен быть написан таким же образом, чтобы не блокировать вызовы функции изменения яркости! Ещё одним вариантом может быть работа по прерыванию таймера, см. урок.

blank

Ещё один момент: если подключить светодиод наоборот, к VCC, то яркость его будет инвертирована: 255 выключит светодиод, а 0 – включит, потому что ток потечет в другую сторону:

Светодиодные ленты

Светодиодная лента представляет собой цепь соединённых светодиодов. Соединены они не просто так, например обычная 12V лента состоит из сегментов по 3 светодиода в каждом. Сегменты соединены между собой параллельно, то есть на каждый приходят общие 12 Вольт. Внутри сегмента светодиоды соединены последовательно, а ток на них ограничивается общим резистором (могут стоять два для более эффективного теплоотвода): Таким образом достаточно просто подать 12V от источника напряжения на ленту и она будет светиться. За простоту и удобство приходится платить эффективностью. Простая математика: три белых светодиода, каждому нужно по

3.2V, суммарно это 9.6V. Подключаем ленту к 12V и понимаем, что 2.5V у нас просто уходят в тепло на резисторах. И это в лучшем случае, если резистор подобран так, чтобы светодиод горел на полную яркость.

Подключаем к Arduino

Здесь всё очень просто: смотрите предыдущий урок по управлению нагрузкой постоянного тока. Управлять можно через реле, транзистор или твердотельное реле. Нас больше всего интересует плавное управление яркостью, поэтому продублирую схему с полевым транзистором: blank Конечно же, можно воспользоваться китайским мосфет-модулем! Пин VCC кстати можно не подключать, он никуда не подведён на плате. blank

Управление

Подключенная через транзистор лента управляется точно так же, как светодиод в предыдущей главе, то есть все примеры кода с миганием, плавным миганием и управление потенциометром подходят к этой схеме. Про RGB и адресные светодиодные ленты мы поговорим в отдельных уроках.

Питание и мощность

Светодиодная лента потребляет немаленький ток, поэтому нужно убедиться в том, что выбранный блок питания, модуль или аккумулятор справится с задачей. Но сначала обязательно прочитайте урок по закону Ома! Потребляемая мощность светодиодной ленты зависит от нескольких факторов:

  • Яркость. Максимальная мощность будет потребляться на максимальной яркости.
  • Напряжение питания (чаще всего 12V). Также бывают 5, 24 и 220V ленты.
  • Качество, тип и цвет светодиодов: одинаковые на вид светодиоды могут потреблять разный ток и светить с разной яркостью.
  • Длина ленты. Чем длиннее лента, тем больший ток она будет потреблять.
  • Плотность ленты, измеряется в количестве светодиодов на метр. Бывает от 30 до 120 штук, чем плотнее – тем больший ток будет потреблять при той же длине и ярче светить.

Лента всегда имеет характеристику мощности на погонный метр (Ватт/м), указывается именно максимальная мощность ленты при питании от номинального напряжения. Китайские ленты в основном имеют чуть меньшую фактическую мощность (в районе 80%, бывает лучше, бывает хуже). Блок питания нужно подбирать так, чтобы его мощность была больше мощности ленты, т.е. с запасом как минимум на 20%.

    Пример 1: нужно подключить 4 метра ленты с мощностью 14 Ватт на метр, лента может работать на максимальной яркости. 14*4 == 56W, с запасом 20% это будет 56*1.2

Урок 3. Управление светодиодом

Это третий урок из цикла «Знакомство с Arduino». В этом уроке Вы научитесь управлять как установленным на плате Arduino светодиодом, так и внешним светодиодом.

Для урока Вам понадобится следующие детали:

  • Arduino Nano;
  • беспаечная макетная плата (она же breadboard);
  • провода типа папа-папа;
  • светодиод;
  • резистор номиналом 220 Ом.

Если на компьютере не установлена среда Arduino IDE, то необходимо её скачать и установить. Урок по основам работы с IDE можно прочитать здесь.

Первым проектом на Arduino у большинства людей является обычное мигание установленным на плату светодиодом. Пожалуй и мы начнём с этого. Кроме модуля Arduino и кабеля для его подключения к компьютеру Вам больше ничего не понадобится.

Итак, подключите модуль Arduino к компьютеру. Далее откройте среду разработки Arduino IDE и при помощи неё загрузите следующую программу в Arduino. Если забыли или не знаете как это делается, то прочтите предыдущий урок.

Текст программы:

LED_BUILTIN — константа, которая заранее определена в языке программирования модулей Arduino и она равна 13 (LED_BUILTIN = 13). Функция setup() запускается однократно при запуске программы. В ней устанавливается режим работы вывода № 13 (к нему подключён установленный на плату светодиод) Arduino — как выходной порт. Функция loop() вызывается после функции setup(). Функция представляет собой бесконечный цикл, в котором выполняется пользовательская программа. В ней при помощи функции digitalWrite (LED_BUILTIN , HIGH) на порт № 13 подаётся высокий уровень напряжения (5 В), тем самым мы зажигаем светодиод. Функция delay (1000) устанавливает задержку при выполнении программы на 1000 мс, т.е. светодиод продолжает гореть 1 секунду. Далее при помощи функции digitalWrite (LED_BUILTIN , LOW) мы гасим светодиод (подаём на вывод № 13 низкий уровень напряжения (0 В)) и также ждём 1 секунду, т.е. наш светодиод погашен в течении 1 секунды. Таким образом, мы поочерёдно зажигаем и гасим светодиод с периодом в 1 секунду.

После загрузки программы, установленный на плате Arduino Nano светодиод начнёт мигать с периодом в 1 секунду.

Ну что ж, мигать светодиодом на плате Arduino мы научились. Скажете совсем просто? Давайте усложним задачу. Подключим к Arduino внешний светодиод.

Когда все необходимые детали находятся под рукой можно начинать собирать наш пример. Для этого необходимо воспользоваться следующими схемами:

Электрическая принципиальная схема:

Схема подключения на макетной плате:

Обратите внимание на полярность светодиода! Если его неправильно подключить, то он запросто сгорит.

Светодиод имеет два вывода, один из которых катод («минус», короткая нога), а другой — анод («плюс», более длинная нога).

Также не забудьте подключить токоограничивающий резистор 220 Ом. Можно взять резистор и большего сопротивления, но в таком случае светодиод будет гореть чуть тусклее.

 

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *