Подключение светодиода к Arduino
Светодиод это полупроводниковый прибор, создающий оптическое излучение при пропускании через него электрического тока. С электрической точки зрения светодиод ведет себя как обычный диод, пропуская ток в прямом направлении и не пропуская в обратном. Светодиод излучает только при прохождении тока в прямом направлении, по этому при его подключении необходимо соблюдать полярность. При этом сила излучения напрямую зависит от силы тока. Однако нельзя превышать максимально допустимый ток, установленный для светодиода его характеристиками, иначе светодиод выйдет из строя.
Так же светодиод характеризуется падением напряжения при прохождении тока в прямом направлении. Падение напряжения существенно выше чем у обычных диодов и составляет 2-3 вольта, в зависимости от цвета свечения светодиода. Точное значение указывается в характеристиках. Это означает, что светодиод не будет светиться если поданное на него напряжение меньше этого значения. Но если на светодиод подать напряжение больше этого порога, то через него потечет максимально возможный ток, и светодиод выйдет из строя. Что бы этого не произошло светодиод необходимо подключать через токоограничивающий резистор.
Расчет сопротивления токоограничивающего резистора производится по следующей формуле:
Rсв = (Vупр — Vсв) / Iсв ;
где:
Vупр — напряжение управления, это напряжение вывода микроконтроллера, равное 5 В;
Vсв — падение напряжения на светодиоде, указанное в характеристиках;
Iсв — сила тока светодиода, указанная в характеристиках, обычно в пределах 10-20 мА.
Для обычных светодиодов падение напряжения составляет 2 В и рекомендуемый ток свечения 15 мА. При подключении к выводу Arduino, запитанному от напряжения 5 В:
Rсв = (5-2) / 0.015 = 200 Ом
С учетом допуска можно использовать резисторы номиналом 220 Ом.
Сам светодиод имеет ножки разной длины, именно по ним определяется полярность при его подключении. Длинная ножка это Анод и подключается к плюсу. Короткая ножка — Катод и подключается к минусу. Токоограничивающий резистор можно подключить к любой ножке светодиода включив его последовательно.
Схема подключения светодиода к Arduino изображена на рисунке. Светодиод подключен к выводу 8 контроллера Arduino. Этот факт необходимо учесть в программе.
Приведенный ниже скетч включает и выключает светодиод один раз в секунду. Для отсчета времени используется функция delay(), которая делает паузу в выполнении программы на заданное количество миллисекунд.
// функция инициализации запускается при старте программы
void setup() <
pinMode(8, OUTPUT); // инициализация вывода 8 как «Выход»
>
// функция цикла запускается снова и снова после окончания ее выполнения
void loop() <
digitalWrite(8, HIGH); // включение светодиода на выводе 8
delay(500); // пауза выполнения программы на пол секунды
digitalWrite(8, LOW); // выключение светодиода на выводе 8
delay(500); // пауза выполнения программы на пол секунды
>
Как подключить светодиод к Ардуино

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

В этом простом примере показано, как с помощью платформы Arduino заставить мигать светодиод. Для начала мы соберем простую схему на макетной плате, подключив светодиод к цифровому выходу микроконтроллера Ардуино (входы и выходы на плате еще называют Pin). Загрузив скетч (так называют программу для Ардуино), вы поймете, как пользоваться и работать с платой Arduino UNO.
Как подключить светодиод к Arduino Uno / Nano
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega;
- макетная плата;
- несколько светодиодов и резисторов 220 Ом;
- провода «папа-папа».
Для надёжной сборки устройств создаются печатные платы, на что уходит много времени. Для быстрой сборки электрических схем без пайки используют макетную плату (breadboard). Под слоем пластика на макетной плате находятся медные пластины-рельсы (дорожки), выложенные по простому принципу (смотри фото). Дорожки служат для создания контакта между радиоэлементами и проводами.
Быстрая сборка схем на макетной плате

Соберите схему подключения светодиода к Arduino, как на фото ниже

Для чего светодиод включают к Ардуино с резистором? Дело в том, что в светодиоде стоит кристалл который боится больших токов. Резистор призван ограничивать силу тока (Амперы), чтобы светодиод не перегорел. Большой ток губителен для светодиода, меньший ток (благодаря подключению резистора) обеспечивает длительную работу. Чтобы подключить светодиод к Ардуино без резистора, используйте 13 порт.
Подключите плату Arduino к компьютеру при помощи USB провода

Если у вас не установлена программа Arduino IDE, то скачайте последнюю версию на официальном сайте www.arduino.cc. С помощью USB кабеля производится запись программ, также плата получает питание от компьютера. Если требуется автономная работа электронного устройства, то плату можно запитать от батарейки или блока питания на 7-12 В. При подаче питания на плате загорится светодиод индикации.
Откройте программу Arduino IDE и проверьте подключение платы

Шаг 1. Зайдите в основном меню «Инструменты -> Плата». Если плата Arduino определилась неправильно, то выберите необходимый тип, например, Arduino Uno.
Шаг 2. Установите порт (кроме COM1) подключения в меню «Инструменты -> Порт», так как при подключении Ардуино к ПК создается виртуальный COM-порт.

Скетч для включения светодиода от Ардуино
void setup() < pinMode(13, OUTPUT); // объявляем пин 13 как выход > void loop() < digitalWrite(13, HIGH); // зажигаем светодиод delay(1000); // ждем 1 секунду digitalWrite(13, LOW); // выключаем светодиод delay(1000); // ждем 1 секунду >
Подключение светодиодов к другим портам производится по схеме, размещенной выше (подключение резистора к светодиодам также необходимо). А в скетче требуется изменить номера портов, к которым подключены светодиоды. При этом сколько вы используете светодиодов в схеме, столько и раз следует прописать команды pinMode .
Скопируйте код под фото и вставьте свой первый скетч в программу

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

Пояснения к коду:
- процедура setup выполняется при запуске микроконтроллера один раз. Используется для конфигурации портов микроконтроллера и других настроек;
- после выполнения setup запускается процедура loop , которая выполняется в бесконечном цикле. Это мы используем, чтобы светодиод мигал постоянно;
- процедуры setup и loop должны присутствовать в любой программе (скетче), даже если вам не нужно ничего выполнять в них — пусть они будут пустые, просто не пишите ничего между фигурными скобками.
Подключение светодиода к Arduino
Для начала разберемся что такое светодиод и как он работает. Светодиод — это полупроводниковый элемент, который, при прохождении через него электрического тока излучает свет. Светодиод пропускает ток только в одном направлении от анода к катоду. Подробнее на вики. Это значит что при подключении необходимо соблюдать полярность. Также нужно учитывать, что для каждого светодиода существует допустимая сила тока. Узнать параметры светодиода можно у производителя или продавца.
Узнать полярность светодиода можно по нескольким признакам:

- Нога анода (+) обычно чуть длиннее
- Пластиковый бортик светодиода может быть немного усечен со стороны катода (-)
- Если присмотреться то внутри пластика можно увидеть 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 Ом
Теперь мы просто берем резистор на 150 Ом и ставим его перед или после светодиода (без разницы).
Мы будем подключать светодиод к цифровому пину с поддержкой ШИМ, для того что бы мы могли управлять не только включением и отключением но еще и яркостью светодиода. Советую почитать про характеристики, возможности и распиновку Ардуино нано. Код скетча будет одинаковым для Arduino Nano и Arduino Uno. Его я тоже объясню чуть позже. В качестве токоограничивающего сопротивления я буду использовать постоянный резистор на 150 Ом. Можно использовать резисторы и схожих номиналов, но при меньшем сопротивлении светодиод будет сильнее греться, а при большем будет светить тусклее. Я рекомендую использовать резисторы сопротивлением от 120 Ом и до 250 Ом для самых простых 5 мм светодиодов. Вот наглядная схема подключения светодиода к ардуино нано:

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

Скетч для управления светодиодом с помощью Arduino
Мы подключили светодиод к Arduino как показано на схемах выше. Теперь нам нужно написать программу для управления этим светодиодом. Для написания и загрузки прошивок в микроконтроллер обычно используется Arduino IDE. Мы рассмотрим самый простейший пример. Просто будем мигать светодиодом. Вот сам код скетча:
// Моргаем светодиодом каждую секунду int ledPin = 3; // переменная с пином подключенного светодиода void setup() < pinMode(ledPin, OUTPUT); // назначаем наш пин "выходом" >void loop() < digitalWrite(ledPin, HIGH); // включаем светодиод delay(1000); // ждем 1000 миллисекунд (1 секунда) digitalWrite(ledPin, LOW); // выключаем светодиод delay(1000); // ждем еще 1 секунду >
Думаю тут все понятно. Если же нет то можете ознакомиться с разделами сайта «Аrduino для начинающих» и «Программирование«.
Железо

Стартовый набор с Arduino Mega и RFID Это расширенный стартовый набор. В комплект входит Arduino Mega R3, макетные платы, множество датчиков, управляемые механизмы и необходимые радиоэлектронные компоненты. Полный список.

Плата Arduino Uno R3 Arduino Uno — плата на базе микроконтроллера ATmega328P с частотой 16 МГц. На плате есть все необходимое для удобной и быстрой работы.
Arduino Nano: распиновка, схема подключения и программирование
Плата Arduino Nano — аналог флагманской Uno в миниатюрном размере. На ней предусмотрено всё необходимое для удобной работы с микроконтроллером: 14 цифровых входов/выходов (6 из них могут использоваться в качестве ШИМ-выходов), 6 аналоговых входов, кварцевый резонатор на 16 МГц, разъём Mini-USB, разъём питания, разъём для внутрисхемного программирования (ICSP) и кнопка сброса.
Видеообзор
Подключение и настройка
Для запуска платформы скачайте и установите на компьютер интегрированную среду разработки Arduino IDE.
При выборе платформы выбирайте Arduino Nano.
Если всё получилось — можете смело переходить к экспериментам.
Элементы платы
Микроконтроллер ATmega328P
Сердцем платформы Arduino Nano является 8-битный микроконтроллер семейства AVR — ATmega328P с тактовой частотой 16 МГц. Контроллер предоставляет 32 КБ Flash-памяти для хранения прошивки, 2 КБ оперативной памяти SRAM и 1 КБ энергонезависимой памяти EEPROM для хранения данных.
Микросхема FT232R
Микросхема FTDI FT232R обеспечивает связь микроконтроллера ATmega328P с USB-портом компьютера. При подключении к компьютеру Nano определяется как виртуальный COM-порт.
USB-UART преобразователь общается с микроконтроллером ATmega328P по интерфейсу UART через пины 0(RX) и 1(TX) . Рекомендуем не использовать эти контакты в своём проекте.
Светодиодная индикация
| Имя светодиода | Назначение |
|---|---|
| RX и TX | Мигают при обмене данными между Arduino Nano и ПК. |
| L | Пользовательский светодиод подключённый к 13 пину микроконтроллера. При высоком уровне светодиод включается, при низком – выключается. |
| ON | Наличие питания на Arduino Nano. |
Разъём Mini-USB
Разъём Mini-USB предназначен для прошивки платформы с помощью компьютера.
Регулятор напряжения 5 В
Линейный понижающий регулятор напряжения LM1117MPX-5.0 с выходом 5 вольт обеспечивает питание микроконтроллера ATmega328P и другой логики платформы. Максимальный выходной ток составляет 800 мА.
ICSP-разъём для ATmega328
ICSP-разъём предназначен для загрузки прошивки в микроконтроллер ATmega328 через программатор.
Также через контакты ICSP Nano общается с платами расширения по интерфейсу SPI.
Распиновка

Пины питания
VIN: Входной пин для подключения внешнего источника питания с напряжением в диапазоне от 7 до 12 вольт.
5V: Выходной пин от регулятора напряжения на плате с выходом 5 вольт и максимальных током 800 мА. Питать устройство через вывод 5V не рекомендуется — вы рискуете спалить плату.
3.3V: Выходной пин от стабилизатора микросхемы FT232R с выходом 3,3 вольта и максимальных током 50 мА. Питать устройство через вывод 3V3 не рекомендуется — вы рискуете спалить плату.
GND: Выводы земли.
AREF: Пин для подключения внешнего опорного напряжения АЦП относительно которого происходят аналоговые измерения при использовании функции analogReference() с параметром «EXTERNAL».
Порты ввода/вывода
Цифровые входы/выходы: пины 0 – 13
Логический уровень единицы — 5 В, нуля — 0 В. Максимальный ток выхода — 40 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно.
ШИМ: пины 3 , 5 , 6 , 9 , 10 и 11
Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ не меняется и установлена в 8 бит.
АЦП: пины A0 – A7
Позволяет представить аналоговое напряжение в цифровом виде. Разрядность АЦП не меняется и установлена в 10 бит. Диапазон входного напряжения от 0 до 5 В. При подаче большего напряжения — вы убьёте микроконтроллер.
TWI/I²C: пины A4(SDA) и A5(SCL)
Для общения с периферией по интерфейсу I²C. Для работы используйте библиотеку Wire.
SPI: пины 11(MOSI) , 12(MISO) , 13(SCK) и 10(SS)
Для общения с периферией по интерфейсу SPI. Для работы — используйте библиотеку SPI.
UART: пины 0(RX) и 1(TX)
Используется для коммуникации платы Arduino с компьютером или другими устройствами по последовательному интерфейсу. Выводы 0(RX) и 1(TX) соединены с соответствующими USB-UART преобразователя FT232R. Для работы с последовательным интерфейсом — используйте методы библиотеки Serial.
