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

Исходный код программы (скетча)

Arduino

int LAMP = 4;
int dim_val=0;
void setup()
{
pinMode(LAMP, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), zero_cross, CHANGE);
}
void zero_cross()
{
int dimming_time = (200*dim_val);
delayMicroseconds(dimming_time);
digitalWrite(LAMP, HIGH);
delayMicroseconds(10);
digitalWrite(LAMP, LOW);
}

void loop()
{
int data=analogRead(A0);
int data1 = map(data, 0, 1023,10,49);
dim_val=data1;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

intLAMP=4;

intdim_val=;

voidsetup()

{

pinMode(LAMP,OUTPUT);

attachInterrupt(digitalPinToInterrupt(2),zero_cross,CHANGE);

}

voidzero_cross()

{

intdimming_time=(200*dim_val);

delayMicroseconds(dimming_time);

digitalWrite(LAMP,HIGH);

delayMicroseconds(10);

digitalWrite(LAMP,LOW);

}

voidloop()

{

intdata=analogRead(A0);

intdata1=map(data,,1023,10,49);

dim_val=data1;

}

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

Управление светодиодами на ардуино позволяет реализовать самые разнообразные схемы: включение/отключение по нажатию кнопки, мигание, плавное включение/отключение.

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

pinMode (порт, режим) – команда устанавливает режим работы вывода (порта) на плате. Порт – номер вывода, режим – OUTPUT (режим передачи) и INPUT (режим приёма информации).

digitalWrite (порт, значение) – команда объявления состояния порта. Порт – номер вывода, режим – HIGH (включён), LOW (выключен).

Delay (интервал) – задержка между выполнением команд. Интервал – количество миллисекунд.

Сам скетч представляет собой две функциональные части. Объявление переменных находится в модуле void setup () {…}, исполняемый код — void loop () {…}.

Наглядно все можно увидеть на видео:

Мигаем светодиодом арудино

Код скетча для мигания светодиода (скетч для ардуино мигание светодиодом находится во встроенном скетче “blink”).

Мигаем с частотой 1 секунда.

Скетч мигание светодиодом на ардуино:

void setup () {pinMode (9, OUTPUT); // устанавливаем вывод 9 в режим передачи}void loop() {digitalWrite (9, HIGH); // подаём сигнал на порт 9 +5Вdelay(1000); // ждем секундуdigitalWrite (9, LOW); // отключаем порт 9delay(1000); // ждем секунду}

Виды транзисторных ключей

  • Биполярный;
  • Полевой;
  • Составной (сборка Дарлингтона).
Способы подключения нагрузки
Через биполярный транзисторЧерез полевой транзисторЧерез коммутатор напряжения

При подаче высокого логического уровня (digitalWrite(12, HIGH);) через порт вывода на базу транзистора через цепочку коллектор-эмиттер потечет опорное напряжение на нагрузку. Таким образом можно включать и отключать светодиод.

Аналогичным образом работает и полевой транзистор, но поскольку у него вместо «базы» сток, который управляется не током, а напряжением, ограничительный резистор в этой схеме необязателен.

Биполярный вид не позволяет регулировать мощные нагрузки. Ток через него ограничен на уровне 0,1-0,3А.

Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для ещё более мощной нагрузки используют полевые транзисторы Mosfet с током до 9А и напряжением до 60В.

Вместо полевых можно использовать сборку Дарлингтона из биполярных транзисторов на микросхемах ULN2003, ULN2803.

Микросхема ULN2003 и принципиальная схема электронного коммутатора напряжения:

Подключение светодиодной ленты к Ардуино

Через реле

Реле подключается к устройству на цифровой выход. Полоса, управляемая с его помощью имеет только два состояния – включенная и выключенная. Для управления red-blue-green ленточкой необходимы три реле. Ток, который может контролировать такое устройство, ограничен мощностью катушки (маломощная катушка не в состоянии замыкать большие контакты). Для подсоединения большей мощности используются релейные сборки.

С помощью биполярного транзистора

Для усиления выходного тока и напряжения можно использовать биполярный транзистор. Он выбирается по току и напряжению нагрузки. Ток управления не должен быть выше 20 мА, поэтому подается через токоограничивающее сопротивление 1 – 10 кОм.

Транзистор лучше применять n-p-n с общим эмиттером. Для большего коэффициента усиления используется схема с несколькими элементами или транзисторная сборка (микросхема-усилитель).

С помощью полевого транзистора

Кроме биполярных, для управления полосами используются полевые транзисторы. Другое название этих приборов – МОП или MOSFET-transistor.

Такой элемент, в отличие от биполярного, управляется не током, а напряжением на затворе. Это позволяет малому току затвора управлять большими токами нагрузки – до десятков ампер.

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

С помощью плат расширения

Кроме реле и транзисторов используются готовые блоки и платы расширения.

Это может быть Wi-Fi или Bluetooth, драйвер управления электродвигателем, например, модуль L298N или эквалайзер. Они предназначены для управления нагрузками разной мощности и напряжения. Такие устройства бывают одноканальными – могут управлять только монохромной лентой, и многоканальными – предназначены для устройств RGB и RGBW, а также лент со светодиодами WS 2812.

Проект “Светофор на Ардуино”

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

Если вы совсем новичок в Ардуино, крайне рекомендуем прочитать наши статьи для начинающих:

  • Первый урок с основами Ардуино.
  • Статью о том, как создаются проекты для начинающих.
  • Первые проекты со светодиодами – Маячок и Мигалка.

Сложность урока: для начинающих

Вам понадобится:

  • Плата Ардуино Уно или Нано.
  • Макетная плата.
  • Три светодиода. Естественно, что лучше всего красного, желтого и зеленого цветов.
  • Три резистора номиналом 220 Ом.
  • Соединительные провода.

Виды транзисторных ключей

  • Биполярный;
  • Полевой;
  • Составной (сборка Дарлингтона).

При подаче высокого логического уровня (digitalWrite(12, HIGH);) через порт вывода  на базу транзистора через цепочку коллектор-эмиттер потечет опорное напряжение на нагрузку. Таким образом можно включать и отключать светодиод.

Аналогичным образом работает и полевой транзистор, но поскольку у него вместо «базы» сток, который управляется не током, а напряжением, ограничительный резистор в этой схеме необязателен.

Биполярный вид не позволяет регулировать мощные нагрузки. Ток через него ограничен на уровне 0,1-0,3А.

Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для ещё более мощной нагрузки используют полевые транзисторы Mosfet с током до 9А и напряжением до 60В.

Вместо полевых можно использовать сборку Дарлингтона из биполярных транзисторов на микросхемах ULN2003, ULN2803.

Микросхема ULN2003 и принципиальная схема электронного коммутатора напряжения:

Покупать или делать самому

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

УРОК 1. ARDUINO И МИГАЮЩИЙ СВЕТОДИОД

Принципиальная схема к уроку 1. Arduino и Мигающий светодиод

LEDs (light-emitting diodes) — по русски Светоизлучающий диод, используется во многих электронных устройствах. При прохождении через его кристалл ток вызывает свечение, которое усиливается оптическим колпачком-линзой. Его неоспоримые достоинства — быстрое включение, высокая прочность, длительный срок службы, экологичность. Как правило используется как световой индикатор включения — переключения, а также отображение режимов работы. Делятся светодиоды на две группы — Монохромные (одноцветные) и RGB (многоцветные).

Мы начнем наше знакомство с платой Arduino с самого простого опыта, который называется Мигающий Светодиод. В этом опыте мы попробуем заставить Arduino помигать нам приветственно светодиодом. Да, да, вы не ослышались, именно заставим, потому что мы обладаем всей полнотой власти над этой маленькой, но очень мощной платой под названием Arduino.

Для первого опыта вам понадобится:

Плата Arduino UNO — 1 шт.

Резистор 330ом. (можно использовать подходящие от 200 ом до 550 ом) — 1 шт. На корпусе резистора нанесены цветовые полоски, они указывают его номинал, мощность и т.д* На резисторе 330 ом. полоски должны быть Оранжевая, Оранжевая, Коричневая.

Светоизлучающий диод — 1 шт.

Макетная плата — 1 шт.

Соединительные провода.

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

Схема соединений урока №1. Arduino и Мигающий светодиод

Скачайте и распакуйте архив с программой урока, подсоедините ардуино к компьютеру с помощью USB шнура, запустите скетч урока № 1, дважды щелкнув по файлу lesson_01.ino, после этого у вас должна запустится среда программирования ArduinoIDE, в окне которой будет показан текст программы с многочисленными коментариями и пояснениями на русском языке. Внимательно прочитайте весь sketch от начала до конца, а затем загрузите программу в Arduino с помощью кнопки ЗАГРУЗИТЬ, или UPLOAD, в зависимости от языка программы.

Набор для экспериментов ArduinoKit Код программы для опыта №1: sketch 01

Что-то подобное должно получиться у вас:

В результате, после заливки программы в ардуино вы должны увидеть подмигивающий светодиод, который как бы говорит «Привет, Мир!». Если этого не произошло и светодиод не светится, вам необходимо проверить правильность соединения проводов. Правильность полярности светодиода +, -. Правильность полярности шин питания.

P.S. Таблица цветовой маркировки резисторов:

Таблица цветовой маркировки резисторов

Всем удачи! Ждём ваши к ARDUINO УРОК 1 МИГАЮЩИЙ СВЕТОДИОД.

2018-09-19T16:11:54+03:00Arduino уроки|

Программа и скетч мигающего светодиода

Давайте теперь рассмотрим программу, которую мы загрузили из примеров и проанализируем.


Пример программы мигалки Blink

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


Программа Blink без комментариев

Если вы обратите внимание на блок loop, то именно в нем и сосредоточены наши команды, управляющие светодиодом:


Функции setup и loop в коде программы Blink

digitalWrite – это название функции, которая отвечает за подачу напряжения на пин. Подробнее о ней можно прочитать в отдельной статье о digitalWrite.

LED_BUILDIN – это название внутреннего светодиода. В большинстве плат за этим названием прячется цифра 13. Для плат Uno, Nano можно смело писать 13 вместо LED_BUILDIN.

HIGH – условное название высокого уровня сигнала. Включает светодиод. Можно заменить цифрой 1.

LOW – условное обозначение низкого уровня сигнала. Выключает светодиод. Можно заменить цифрой 0.

delay – функция, которая останавливает выполнение скетча на определенное время. Крайне нежелательно использовать ее в реальных проектах, но в нашем простом примере она отработает замечательно. В скобках мы указываем цифру – это количество микросекунд, которые нужно ждать. 1000 – это 1 секунда. Подробнее можно прочитать в нашем материале о delay() .

// LED_BUILTIN - встроенная константа, определяющая номер пина. В Arduino Uno и Nano это 13 пин.

void setup() {
  pinMode(LED_BUILTIN, OUTPUT); // Установка пина в режим OUTPUT
}

// Этот блок команд выполняется постоянно
void loop() { 
  digitalWrite(LED_BUILTIN, HIGH); // Включение светодиода
  delay(1000);                     // Задержка
  digitalWrite(LED_BUILTIN, LOW);  // Выключение светодиода
  delay(1000);                     // Задержка

  // Когда программа дойдет до этого места, она автоматически продолжится сначала
}

Как только программа дойдет до конца, контроллер перейдет в начало блока loop и будет выполнять все команды заново. И так раз за разом, целую вечность (пока есть свет). Наш светодиод мигает без остановки.

Проект “Маячок” с мигающим светодиодом

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

Вам понадобится:

  • Плата Arduino Uno или Nano
  • Макетная плата для монтажа без пайки
  • Резистор номиналом 220 Ом
  • Светодиод
  • Провода для соединения

Сложность:  простой проект.

Что мы узнаем:

  • Как подключить светодиод к ардуино.
  • Повторим процедуру загрузки скетча в микроконтроллер.

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

Соедините все элементы согласно следующей схемы для Arduino UNO. Для Arduino Nano светодиод подключается по той же схеме – к пину 13.


Схема подключения мигающего светодиода к Ардуино

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

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

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

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

Существует два популярных и доступных для самостоятельного изготовления варианта схем плавного розжига для светодиодов:

  1. Простейшая.
  2. С функцией установки периода пуска.

Рассмотрим, из каких элементов они состоят, каков алгоритм их работы и главные особенности.

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

Только на первый взгляд схема плавного розжига, представленная ниже, может показаться упрощенной. В действительности она весьма надежна, недорога и отличается множеством преимуществ.

В ее основе лежат следующие комплектующие:

  1. IRF540 – транзистор полевого типа (VT1).
  2. Емкостный конденсатор на 220 мФ, номиналом на 16 вольт (C1).
  3. Цепочка резисторов на 12, 22 и 40 килоОм (R1, R2, R3).
  4. Led-кристалл.

Устройство работает от источника питания постоянного тока на 12 В по следующему принципу:

  1. При запитывании цепи через блок R2 начинает течь ток.
  2. Благодаря этому элемент C1 постепенно заряжается (повышается номинал емкости), что в свою очередь способствует медленному открыванию модуля VT.
  3. Увеличивающийся потенциал на выводе 1 (затворе полевика) провоцирует похождение тока через R1, что способствует постепенному открыванию вывода 2 (стока VT).
  4. Как результат, ток переходит на исток полевого блока и на нагрузку и обеспечивает плавный розжиг светодиода.

Процесс угасания лед-элемента идет по обратному принципу – после снятия питания (размыкания «управляющего плюса»). При этом конденсаторный модуль, постепенно разряжаясь, передает потенциал емкости на блоки R1 и R2. Скорость процесса регламентируется номиналом элемента R3.

Основным элементом в системе плавного розжига для светодиодов является транзистор MOSFET IRF540 полевого n-канального типа (как вариант можно использовать российскую модель КП540).

Остальные компоненты относятся к обвязке и имеют второстепенное значение. Поэтому нелишним будет привести здесь его основные параметры:

  1. Сила тока стока – в пределах 23А.
  2. Значение полярности – n.
  3. Номинал напряжения сток-исток – 100В.

Доработанный вариант с возможностью настройки времени

Нередко возникает необходимость изменения периода плавного розжига светодиодов. Рассмотренная выше схема не дает такой возможности. Поэтому в нее нужно внедрить еще два полупроводниковых компонента – R4 и R5. С их помощью можно задавать параметры сопротивления и тем самым контролировать скорость зажигания диодов.

Приведенные выше версии схем предполагают управление по плюсу, однако в некоторых ситуациях требуется контроль по минусу. В таком случае система будет иметь обратную полярность. Поэтому в ней нужно поставить конденсатор наоборот – чтобы плюсовой заряд шел на транзисторный исток. Кроме того, необходимо заменить и сам транзистор, теперь он должен быть p–канального типа, к примеру, IRF9540N.

Танцующие огни

Для безопасного программирования нашей платы отключите VIN линия от линии электропередач. Вы прикрепите его позже.

Подключите Arduino к компьютеру и откройте IDE Arduino. Проверьте, правильно ли выбрана плата и номер порта в Инструменты> Доска а также Инструменты> Порт меню.

Мы будем использовать FastLED библиотека для проверки нашей установки. Вы можете добавить библиотеку, нажав на Эскиз> Включить библиотеку> Управление библиотеками и поиск FastLED. Нажмите «Установить», и библиотека будет добавлена ​​в IDE.

Под Файл> Примеры> FastLED выберите DemoReel100 эскиз. Этот набросок циклически повторяет различные вещи, которые можно сделать с WS2812 Светодиодные полосы, и это невероятно легко установить.

Все, что вам нужно изменить, это DATA_PIN переменная, чтобы она соответствовала контакт 13, и NUM_LEDS переменная, чтобы определить, сколько светодиодов в полосе, которую вы используете. В этом случае я использую только небольшую линию из 10 светодиодов, вырезанных из более длинной полосы. Используйте больше для большего светового шоу!

Это оно! Загрузите эскиз на свою плату, отсоедините кабель USB и включите питание 5 В. Наконец, снова подключите VIN Arduino к линии электропередачи и посмотрите шоу!

Если ничего не происходит, проверьте проводку и убедитесь, что вы указали правильный вывод Arduino на демонстрационном эскизе.

Немного о светофорах

Светофор – лучший друга пешеходов и водителей, позволяющий организовать безопасное движение на дорогах. Первое такое устройство для городских дорог было установлено в 1868 году возле здания Британского парламента в Лондоне. Его внешний вид, конечно, сильно отличался от привычного нам сейчас устройств. Первый светофор представлял собой набор семафорных стрелок с подсветкой из газовых фонарей. Его создатель, инженер Джон Пик Найт, проектировал семафоры для железных дорог и первый додумался использовать идею для дорог, по которым в то время перемещались на лошадях.


Первые светофоры

Первый электрический светофор появился в 1912 году в США. Инженер Лестер Вайр придумал устройство с двумя цветами – красным и зеленым. В 1914 году на перекрестке в Кливленде впервые были установлены сразу четыре светофора. Управлялись устройства вручную – полицейские переключали лампочки.


Создатель первого светофора William L Potts

В 1920 году появились трехцветные светофоры – их поставили на улицах Нью-Йорка и Детройта. Первой же европейской страной с электрическими светофорами стала Франция. В Советском Союзе светофор появился в январе 1930 года в Ленинграде. Годом позже  первые устройства поставили и в Москве.


Памятник светофору

Сама идея установить четкую последовательность цветов связана с желанием помочь людям, не отличающим оттенки цветов. Они могут ориентироваться не на цвет, а на местоположение светящегося объекта. Именно поэтому у большинства светофоров в мире цвета выглядят именно так – красный, желтый и зеленый. Но есть и исключения – например, в Ирландии в свое время были вынуждены поменять местами красный и зеленый. Все дело в том, что местные жители не хотели видеть национальный цвет Ирландии (зеленый) в самом низу.

В некоторых странах вместо зеленого используют синий  сигнал светофора. Также сегодня часто можно встретить многосекционные светофоры со стрелками. В Берлине, например, есть светофор с  13 сигналами!

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

Управление RGB лентой с помощью Andurino

Кроме однокристальных светодиодов, Ардуино может работать и с цветными LED. Подключив выводы каждого цвета к аналоговым выходам Ардуино можно произвольно изменять яркость каждого кристалла, добиваясь необходимого цвета свечения.

Схема подключения к Arduino RGB светодиода:

Аналогично построено и управление RGB лентой Arduino:


Аrduino RGB контроллер лучше собирать на полевых транзисторах.

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

Скетч управления яркостью светодиодной ленты Arduino

int led = 120; устанавливаем средний уровень яркости

void setup() { pinMode(4, OUTPUT); устанавливаем 4й аналоговый порт на вывод pinMode(2, INPUT);

pinMode(4, INPUT); устанавливаем 2й и 4й цифровой порт на ввод для опроса кнопок } void loop(){

button1 = digitalRead(2);

button2 = digitalRead(4); if (button1 == HIGH) нажатие на первую кнопку увеличит яркость { led = led + 5;

analogWrite(4, led); } if (button2 == HIGH) нажатие на вторую кнопку уменьшит яркость { led = led — 5;

analogWrite(4, led); }

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

Принцип управления нагрузкой через Ардуино

Плата Ардуино имеет два типа портов вывода: цифровой и аналоговый (ШИМ-контроллер). У цифрового порта возможно два состояния – логический ноль и логическая единица. Если подключить к нему светодиод он либо будет светиться, либо не будет.

Аналоговый выход представляет собой ШИМ-контроллер, на который подаётся сигнал частотой около 500Гц с регулируемой скважностью. Что такое ШИМ-контроллер и принцип его работы можно найти в интернете

Через аналоговый порт возможно не только включать и выключать нагрузку, а и изменять напряжение (ток) на ней.

Синтаксис команд

Цифровой вывод:

pinMode(12, OUTPUT); — задаём порт 12 портом вывода данных; digitalWrite(12, HIGH); — подаём на дискретный выход 12 логическую единицу, зажигая светодиод.

Аналоговый вывод:

analogOutPin = 3; – задаём порт 3 для вывода аналогового значения; analogWrite(3, значение); – формируем на выходе сигнал с напряжением от 0 до 5В

Значение – скважность сигнала от 0 до 255. При значении 255 максимальное напряжение

Способы управления светодиодами через Ардуино

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

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

С помощью микроконтроллеров

С помощью него можно получить множество различных оттенков света. Управление RGB-светодиодом осуществляется с помощью микроконтроллера (MK), например, Arduino (рис.2).

Конечно, можно обойтись простым блоком питания на 5 вольт, резисторами в 100-200 Ом для ограничения тока и тремя переключателями, но тогда управлять свечением и цветом придется вручную. В таком случае добиться желаемого оттенка света не получится (рис.3-4).

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

Это интересно: Цветовая гамма кварцевой лампы

Основа основ плавного включения

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

В ее состав входит всего три компонента:

  • R – резистор;
  • C – конденсатор;
  • HL1 – подсветка (светодиод).

Два первых компонента и составляют RC – цепь (произведение сопротивления и емкости). От увеличения сопротивления R и емкости конденсатора C увеличивается время розжига LED. При уменьшении, наоборот.

Мы не будем углубляться в основы электроники и рассматривать, как протекают физические процессы (точнее ток) в данной схеме. Достаточно знать, что она лежит в основе работы всех устройств плавного розжига и затухания.

Рассмотренный принцип RC – задержки лежит в основе всех решений плавного включения и выключения светодиодов.

Программа и скетч мигающего светодиода

Давайте теперь рассмотрим программу, которую мы загрузили из примеров и проанализируем.

Пример программы мигалки Blink

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

Программа Blink без

Если вы обратите внимание на блок loop, то именно в нем и сосредоточены наши команды, управляющие светодиодом:

Функции setup и loop в коде программы Blink

digitalWrite – это название функции, которая отвечает за подачу напряжения на пин. Подробнее о ней можно прочитать в отдельной статье о digitalWrite.

LED_BUILDIN – это название внутреннего светодиода. В большинстве плат за этим названием прячется цифра 13. Для плат Uno, Nano можно смело писать 13 вместо LED_BUILDIN.

HIGH – условное название высокого уровня сигнала. Включает светодиод. Можно заменить цифрой 1.

LOW – условное обозначение низкого уровня сигнала. Выключает светодиод. Можно заменить цифрой 0.

delay – функция, которая останавливает выполнение скетча на определенное время. Крайне нежелательно использовать ее в реальных проектах, но в нашем простом примере она отработает замечательно. В скобках мы указываем цифру – это количество микросекунд, которые нужно ждать. 1000 – это 1 секунда. Подробнее можно прочитать в нашем материале о delay() .

// LED_BUILTIN - встроенная константа, определяющая номер пина. В Arduino Uno и Nano это 13 пин.    void setup() {    pinMode(LED_BUILTIN, OUTPUT); // Установка пина в режим OUTPUT  }    // Этот блок команд выполняется постоянно  void loop() {     digitalWrite(LED_BUILTIN, HIGH); // Включение светодиода    delay(1000);                     // Задержка    digitalWrite(LED_BUILTIN, LOW);  // Выключение светодиода    delay(1000);                     // Задержка      // Когда программа дойдет до этого места, она автоматически продолжится сначала  }

Как только программа дойдет до конца, контроллер перейдет в начало блока loop и будет выполнять все команды заново. И так раз за разом, целую вечность (пока есть свет). Наш светодиод мигает без остановки.

Проект “Маячок” с мигающим светодиодом

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

Вам понадобится:

  • Плата Arduino Uno или Nano
  • Макетная плата для монтажа без пайки
  • Резистор номиналом 220 Ом
  • Светодиод
  • Провода для соединения

Сложность:  простой проект.

Что мы узнаем:

  • Как подключить светодиод к ардуино.
  • Повторим процедуру загрузки скетча в микроконтроллер.

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

Соедините все элементы согласно следующей схемы для Arduino UNO. Для Arduino Nano светодиод подключается по той же схеме – к пину 13.

Схема подключения мигающего светодиода к Ардуино

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

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

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

Поделитесь в социальных сетях:FacebookTwitterВКонтакте
Напишите комментарий

Adblock
detector