Меню Рубрики

Включение выключение светодиода ардуино

Припой 0,5 мм – 2,0 мм

Светильники на Digispark и адресных светодиодах WS2812

Подключение модуля SD карты к Arduino. Фото к урокам.

В блоке уроков Светодиоды, Резисторы, Arduino . Мы научились управлять светодиодом с помощью платы Arduino. Но как сделать включение светодиода при нажатии кнопки?

В данном уроке мы рассмотрим самый простой способ управления светодиодом.

Для урока нам понадобиться:

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

Скетч получится довольно простой.

Данный код практически не применим в практике, но нам для примера будет достаточно.

В данной строчке пин button сконфигурирован как вход, для дальнейшего приема на него сигнала.

Считываем цифровое значение с pin button. Если получаем 5В, это значит HIGH и 0В LOW.

Конструкция if..else предоставляет больший контроль над процессом выполнения кода, чем базовый оператор if, позволяя осуществлять несколько проверок, объединенных вместе.

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

Читайте также:  Iec 60947 2 характеристики

Далеко не все “лампочки на плате” доступны нам для управления из скетча. Некоторые из них служат индикаторами обмена данными через те или иные протоколы (например, UART), другие информируют о включении питания и режиме работы платы. Светодиод, присоединенный к пину 13 платы может загореться и погаснуть при включении платы, а затем его работа определяется встроенным скетчем.

На некоторых вариантах плат количество источников света ограничено и 13 пин оказывается не подключенным. Это делается ради экономии потребляемой электроэнергии, ведь led-лампочка всегда приводит к повышенному потреблению электричества. В некоторых проектах, требующих увеличенного времени работы от аккумуляторов, “прожорливые лампочки” приходится выпаивать принудительно.

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

Для подключения нескольких светодиодов к ардуино нужно просто подключить каждый из них к своему цифровому порту по той же схеме. Например, для создания проекта «Мигалка» можно взять два светодиода красного и синего цвета, подключив через сопротивление их положительные (длинные ножки)контакты к 13 и 12 пину соответственно. Короткие ножки подключаются к минусу – земле.

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

Мы уже знаем, что на плате нас дожидаются три разъема с таким обозначением («GND»), можно подключать к любому. Если разъемов питания будет не хватать, у нас есть три варианта.

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

Точно так же вы сможете подключить и следующие светодиоды, приступив к проектам светофор или светодиодная лента.

Имейте в виду, что подключение более 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). В первом случае яркость будет максимально возможная, во втором – гораздо меньше.

Заключение

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

Читайте также:  Tesli com официальный сайт

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

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

Это эксперимент по работе с кнопкой. Мы будем включать светодиод по нажатии кнопки и выключать по отпускании кнопки. Рассмотрим понятие дребезга и программные методы его устранения.

Необходимые компоненты:

В данном эксперименте мы будем использовать контакт D2 Arduino в качестве входа. Это позволяет подключить к нему кнопку для взаимодействия с проектом в режиме реального времени. При использовании Arduino в качестве входов используют pull-up- и pulldown-резисторы, чтобы вход Arduino не находился в «подвешенном» состоянии (в этом состоянии он будет собирать внешние наводки и принимать произвольные значения), а имел заранее известное состояние (0 или 1). Резисторы pull-up подтягивают вход к питанию +5 В, pull-down-резисторы подтягивают вход к GND. Кроме этого, pull-up- и pull-down-резисторы гарантируют, что кнопка не создаст короткого замыкания между +5 В и землей при нажатии. В нашем эксперименте для подключения кнопки мы будем использовать pulldown-резистор. Схема подключения представлена на рис. 2.1.

Когда кнопка отключена, вход D2 будет подтянут к «земле» через резистор номиналом 10 кОм, который будет ограничивать поток тока, и на входном контакте будет установлено значение напряжения LOW. При нажатии на кнопку входной контакт напрямую связан с 5 В. Большая часть тока будет протекать по пути наименьшего сопротивления через замкнутую кнопку, и на входе генерируется уровень HIGH. При нажатии на кнопку включаем светодиод, при отпускании – гасим.
Код данного скетча приведен в листинге 2.1.

Порядок подключения:

1. Длинную ножку светодиода (анод) подключаем к цифровому выводу D10 Arduino, другую (катод) – через резистор 220 Ом к выводу GND (см. рис. 2.1).
2. Один вход кнопки подключаем к +5 В, другой – через резистор 10 кОм к GND, выход кнопки подключаем к входу D2 Arduino (см. рис. 2.1).
3. Загружаем в плату Arduino скетч из листинга 2.1.
4. При нажатии на кнопку светодиод должен гореть, при отпускании – затухнуть.

Усложним задачу – будем переключать состояние светодиода (включен/выключен) при каждом нажатии кнопки. Загрузим на плату Arduino скетч из листинга 2.2.

При нажатии кнопки светодиод должен изменять свое состояние. Но это будет происходить не всегда. Виной тому – дребезг кнопок.
Кнопки представляют из себя механические устройства с системой пружинного контакта. Когда вы нажимаете на кнопку вниз, сигнал не просто меняется от низкого до высокого, он в течение нескольких миллисекунд меняет значение от одного до другого, прежде чем контакты плотно соприкоснутся и установится значение HIGH.
Микроконтроллер зафиксирует все эти нажатия, потому что дребезг неотличим от настоящего нажатия на кнопку. Устранить влияние дребезга можно программно. Алгоритм следующий:

1. Cохраняем предыдущее состояние кнопки и текущее состояние кнопки (при инициализации LOW).
2. Cчитываем текущее состояние кнопки.
3. Если текущее состояние кнопки отличается от предыдущего состояния кнопки, ждем 5 мс, потому что кнопка, возможно, изменила состояние.
4. После 5 мс считываем состояние кнопки и используем его в качестве текущего состояния кнопки.
5. Если предыдущее состояние кнопки было LOW, а текущее состояние кнопки HIGH, переключаем состояние светодиода.
6. Устанавливаем предыдущее состояние кнопки для текущего состояния кнопки.
7. Возврат к шагу 2. Добавляем к нашему скетчу подпрограмму устранения дребезга.
Получаем код, показанный в листинге 2.3.

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