Светилов
Назад

Как подключить светодиод к плате Arduino

Опубликовано: 16.08.2021
0
987

Платформа Ардуино пользуется бешеной популярностью во всем мире. Идеальный инструмент для первых шагов в освоении программирования и управления «железом». С ростом навыков можно наращивать архитектуру, добавляя периферийные платы, и создавать более сложные системы, работающие под управлением более сложных программ. Для первоначального обучения подойдут платы Arduino Uno и Arduino Nano. На их примере рассмотрено подключение светодиода к Ардуино.

Что такое Ардуино Уно и Ардуино Нано

Основой платы Ардуино Уно является микроконтроллер ATmega328. На ней также установлены дополнительные элементы:

  • кварцевый резонатор;
  • кнопка сброса;
  • разъем USB;
  • интегральный стабилизатор напряжения;
  • разъем питания;
  • несколько светодиодов для индикации режимов;
  • микросхема связи для USB-канала;
  • разъем для внутрисхемного программирования;
  • еще несколько активных и пассивных элементов.

Все это позволяет сделать первые шаги, не пользуясь паяльником, и избежать этапа изготовления печатной платы. Запитывается блок от внешнего источника напряжения 7..12 В или через USB-разъем. Через него же модуль подключается к ПК для загрузки скетча. На плате имеется источник напряжения 3,3 В для питания внешних устройств. Для работы доступно 6 аналоговых входов, 14 цифровых выводов общего назначения. Нагрузочная способность цифрового вывода при питании от 5 В составляет 40 мА. Это означает, что к нему непосредственно можно подключить светодиод через ограничительный резистор.

Arduino Uno.
Arduino Uno.

Плата Ардуино Нано полностью совместима с Уно, но меньше размером и имеет некоторые отличия и упрощения, указанные в таблице.

ПлатаКонтроллерРазъем для внешнего питанияМикросхема для связи по USBРазъем USB
Arduino UnoATmega328ЕстьATmega8U2USB A-B
Arduino NanoATmega328НетFT232RLmicro USB
Arduino Nano.
Arduino Nano.

Различия не принципиальны и для темы обзора значения не имеют.

Что нужно, чтобы подключить LED к плате Arduino

Вариантов подключения светодиода два. Для целей обучения можно выбрать любой.

  1. Использовать встроенный светодиод. В этом случае не понадобится больше ничего, кроме кабеля для подключения к ПК через разъем USB – для питания и программирования. Внешний источник напряжения для запитывания платы применять бессмысленно: потребляемый ток невелик.

    Шнур USB A-B
    Шнур USB A-B для подключения Arduino Uno к ПК.
  2. Подключить внешние светодиоды. Здесь дополнительно понадобятся:
    • сам светодиод;
    • токоограничивающий резистор мощностью 0,25 Вт (или больше) номиналом 250-1000 Ом (в зависимости от LED);
    • провода и паяльник для подключения внешней цепи.
Подключение внешнего светодиода
Подключение внешнего светодиода непосредственно к выходу контроллера.

LED подключаются катодом к любому цифровому выводу микроконтроллера, анодом на общий провод через балластное сопротивление. При большом количестве светодиодов может понадобиться и дополнительный источник питания.

Можно ли подключить несколько LED к одному выводу

Может возникнуть необходимость подключить к любому из выводов внешний светодиод или группу LED. Нагрузочная способность одного вывода микроконтроллера, как упоминалось, невелика. К нему можно непосредственно подключить параллельно один-два светодиода с током потребления 15 мА. Испытывать живучесть вывода нагрузкой на грани возможности или превышающей ее не стоит. Лучше применить ключ на транзисторе (полевом или биполярном).

Подключение LED через транзисторный ключ на биполярном триоде.
Подключение LED через транзисторный ключ на биполярном триоде.

Резистор 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 программным способом. Сделать это можно на языке Ардуино, который выполнен на основе С (Си). Этот язык программирования представляет собой адаптацию Си для первоначального обучения. После его освоения переход на С++ будет несложным. Чтобы писать скетчи (так называются программы для Ардуино) и отлаживать их вживую, надо выполнить следующее:

  • установить среду Arduino IDE на персональный компьютер;
  • возможно, придется установить драйвер для микросхемы связи по USB;
  • подключить плату к ПК с помощью шнура USB-microUSB.
Интерфейс среды разработки Arduino
Интерфейс среды разработки Arduino IDE – приглашение к написанию программы.

Для отладки простых программ и схем можно использовать компьютерные симуляторы. Имитацию работы плат Ардуино Уно и Нано поддерживает, например, Proteus (начиная с версии 8). Удобство симулятора в том, что невозможно вывести из строя железо при ошибочно собранной схеме.

Симуляция работы Ардуино с
Симуляция работы Ардуино с подключенным светодиодом в Proteus 8.23.

Скетчи состоят из двух модулей:

  • setup – выполняется один раз при запуске программы, инициализирует переменные и режимы работы железа;
  • loop – выполняется циклически после блока setup до бесконечности.

Для подключения светодиода можно использовать любой из 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-излучателя. Уровень задач ограничивается только фантазией.

Автор:
Попков Алексей
Поделиться
Комментарии:
Комментариев еще нет. Будь первым!
Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.

Adblock
detector