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

от admin

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

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

как проще будет.

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

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

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

В статье на примере схемотехнических особенностей и рабочих характеристик LED-драйверов MEAN WELL рассмотрены вопросы, связанные с устройством современных светодиодных светильников и их комплектующих – осветительных светодиодов и LED-драйверов . Поставки продукции MEAN WELL в Россию продолжаются. Наш материал поможет вам выбрать LED-драйвер, соответствующий вашим задачам. Вы также можете задать свои вопросы.

Привет всем . Товарищи спецы — программисты.
помогите разобраться программкой.

lcd_gotoxy(0,0);
result=((2.50*adc_data[0])/1024.00); //*****ADC0*****
sprintf(lcd_buffer,"Resistance %.1f" ,result);
lcd_puts(lcd_buffer);

Вот пытаюсь вызывать кнопкой но увы... Преобразование АЦП работает только при удержании кнопки пальцем.

А как в adc_data[0] попадает результат преобразования?
Вам надо запустить АЦП, подождать окончания преобразования (флаг или прерывание) и считать данные. В приведенном куске кода ничего этого нет. Может есть где-то в другом месте у вас.
Как по мне, то данных слишком мало для адекватной помощи.

Эксперимент № 6. Светодиод, управляемый кнопкой

В этом эксперименте мы сделаем светодиод, управляемый кнопкой: при нажатии на кнопку светодиод будет зажигаться, при отпускании – гаснуть.

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

Теперь 1й порт мы будем использовать для вывода, и к нему мы подключим светодиод, а 2й порт – для ввода, и к нему мы подключим кнопку, с помощью которой мы и будем управлять светодиодом.

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

Итак, нам понадобится:

  • 1 светодиод
  • 1 резистор 220 Ом
  • 1 резистор 10 КОм
  • 1 простая тактовая кнопка

Схема

Соберем такую схему:

Как всегда, светодиод надо защитить резистором 220 Ом и не перепутать контакты.

Обратите внимание, что для правильной работы кнопки мы притягиваем ее контакт, который подключается к порту, т.е. замыкаем на землю (GDN), через сопротивление 10K. Такое сопротивление называется «стягивающим» или «подтягивающим вниз». Это нужно для того, что в исходном состоянии гарантировать на входе низкий сигнал. В нашем случае низкий сигнал соответствует отжатой кнопкой и выключенному состоянию светодиода.

Скетч

Результат

  • Нажмите на кнопку и светодиод загорится.

Заключение

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

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

Включение светодиода кнопкой Ардуино можно осуществить различными способами — можно управлять светодиодом одной или двумя кнопками, а можно плавно менять яркость светодиода. Рассмотрим, все варианты подключения кнопки и светодиода к плате Arduino Uno с примерами программ. Рассмотрев представленные скетчи, вы сможете использовать в своих проектах тактовые кнопки для управления Ардуино.

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

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

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

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

Для этого занятия потребуется:

  • Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • светодиод;
  • 2 резистора 220 Ом;
  • 2 тактовых кнопки;
  • провода «папа-папа».

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

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

Для переключения светодиода кнопкой Ардуино соберите схему, как на изображении выше. Обратите внимание, что тактовая кнопка на макетной плате подключена к микроконтроллеру без подтягивающего резистора. Пин 2 подключен к 5V через встроенный резистор, поэтому при отпущенной кнопке на входе пине 2 будет высокий уровень сигнала, а при нажатии кнопки будет низкий уровень.

Скетч. Управление светодиодом Ардуино через кнопку
Пояснения к коду:
  1. boolean — это глобальная переменная Ардуино, которая может принимать всего два значения – true (истина) и false (ложь);
  2. задержка delay(10); в программе позволяет избежать «дребезг контактов» кнопки и исключить ложное срабатывание.

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

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

Скетч. Управление двумя кнопками одним светодиодом
Пояснения к коду:
  1. данный пример программы позволяет включать светодиод нажатием одной кнопки и выключать светодиод нажатием второй кнопки; delay(10); позволяет избежать «дребезг контактов» кнопки и исключить возможность ложного срабатывания.

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

Скетч. Управление яркостью светодиода кнопкой Ардуино
Пояснения к коду:
  1. для подключения светодиода следует использовать пин с ШИМ модуляцией;
  2. начальное значение яркости int brightness равен ста, в программе прирост и уменьшение яркости (20) можно поменять по своему усмотрению.

Заключение. Мы рассмотрели сразу несколько примеров для управления светодиодом Ардуино с помощью кнопки. Вы узнали, что светодиодом можно управлять с помощью одной кнопки, или производить включение/выключение двумя кнопками. Кроме того, можно менять яркость с помощью кнопки и ШИМ сигнала. Все рассмотренные примеры можно использовать в различных проектах на Arduino для начинающих.

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

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

Включение светодиода кнопкой Ардуино можно осуществить различными способами — можно управлять светодиодом одной или двумя кнопками, а можно плавно менять яркость светодиода. Рассмотрим, все варианты подключения кнопки и светодиода к плате Arduino Uno с примерами программ. Рассмотрев представленные скетчи, вы сможете использовать в своих проектах тактовые кнопки для управления Ардуино.

Ардуино кнопка со светодиодом

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

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

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

Для этого занятия потребуется:

  • Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • светодиод;
  • 2 резистора 220 Ом;
  • 2 тактовых кнопки;
  • провода «папа-папа».

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

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

Для переключения светодиода кнопкой Ардуино соберите схему, как на изображении выше. Обратите внимание, что тактовая кнопка на макетной плате подключена к микроконтроллеру без подтягивающего резистора. Пин 2 подключен к 5V через встроенный резистор, поэтому при отпущенной кнопке на входе пине 2 будет высокий уровень сигнала, а при нажатии кнопки будет низкий уровень.

Скетч. Управление светодиодом Ардуино через кнопку
Пояснения к коду:
  1. boolean — это глобальная переменная Ардуино, которая может принимать всего два значения – true (истина) и false (ложь);
  2. задержка delay(10); в программе позволяет избежать «дребезг контактов» кнопки и исключить ложное срабатывание.

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

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

Скетч. Управление двумя кнопками одним светодиодом
Пояснения к коду:
  1. данный пример программы позволяет включать светодиод нажатием одной кнопки и выключать светодиод нажатием второй кнопки; delay(10); позволяет избежать «дребезг контактов» кнопки и исключить возможность ложного срабатывания.

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

Скетч. Управление яркостью светодиода кнопкой Ардуино
Пояснения к коду:
  1. для подключения светодиода следует использовать пин с ШИМ модуляцией;
  2. начальное значение яркости int brightness равен ста, в программе прирост и уменьшение яркости (20) можно поменять по своему усмотрению.

Заключение. Мы рассмотрели сразу несколько примеров для управления светодиодом Ардуино с помощью кнопки. Вы узнали, что светодиодом можно управлять с помощью одной кнопки, или производить включение/выключение двумя кнопками. Кроме того, можно менять яркость с помощью кнопки и ШИМ сигнала. Все рассмотренные примеры можно использовать в различных проектах на Arduino для начинающих.

Включение и выключение одной кнопкой без фиксации своими руками. Схема на транзисторах

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

Как правило, большинство подобных схем собраны на таймере NE555, но у них есть один существенный недостаток — потребление тока в выключенном состоянии.

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

Включение и выключение одной кнопкой без фиксации своими руками.

Принцип работы однокнопочного выключателя прост: в выключенном состоянии конденсатор C1 заряжается через нагрузку и резистор R2. После нажатия кнопки SA1 (без фиксации) напряжение с конденсатора C1 подается на затвор MOSFET-транзистора VT2 (IRF3205), он в свою очередь открывается и подает питание на нагрузку. В то же время транзистор VT1 (BC557) открывается через резистор R1 и далее поддерживает положительное напряжение на затворе VT2. Конденсатор C1 разряжается через резистор R2 и транзистор VT1.

При повторном нажатии кнопки SA1 затвор транзистора VT2 разряжается в C1 (емкость C1 намного выше, чем у затвора). Это приводит к закрытию транзистора VT2, а затем и VT1. Сопротивление резистора R3 поддерживает напряжение на затворе на уровне 0 В, и цепь остается в выключенном состоянии до следующего нажатия кнопки SA1.

Проверка работы схемы в Proteus

Проверка работы схемы в Proteus

Работа схемы в Proteus (13,3 KiB, скачано: 13)

В качестве ключа был выбран MOSFET-транзистор N-типа (VT2 ), поскольку у него малые потери и в состоянии ожидания его затвор не потребляет ток. Здесь можно использовать практически любой низковольтный MOSFET-транзистор с напряжением UDS около 20-55 В. Чем меньше у такого транзистора сопротивление в открытом состоянии, тем лучше. Также можно использовать MOSFET-транзистор с материнской платы ПК.

Транзистор VT1 — это любой биполярный PNP транзистор, например BC327, BC557 или 2SA733.

Максимальное коммутируемое напряжение ограничивается в основном максимальным напряжением UDS транзистора VТ2, а максимальный ток — его допустимыми потерями. Минимальное коммутируемое напряжение зависит от минимального напряжения, при котором VТ2 полностью открывается. В MOSFET LOGIC это напряжение более низкое.

В случае управления индуктивной нагрузкой к выходу встречно-параллельно подключите диод. Если нагрузка имеет небольшой ток потребления или собственный выключатель, подключите параллельное сопротивление около 100 кОм.

Эксперимент № 6. Светодиод, управляемый кнопкой

В этом эксперименте мы сделаем светодиод, управляемый кнопкой: при нажатии на кнопку светодиод будет зажигаться, при отпускании – гаснуть.

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

Теперь 1й порт мы будем использовать для вывода, и к нему мы подключим светодиод, а 2й порт – для ввода, и к нему мы подключим кнопку, с помощью которой мы и будем управлять светодиодом.

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

Итак, нам понадобится:

  • 1 светодиод
  • 1 резистор 220 Ом
  • 1 резистор 10 КОм
  • 1 простая тактовая кнопка

Схема

Соберем такую схему:

Как всегда, светодиод надо защитить резистором 220 Ом и не перепутать контакты.

Обратите внимание, что для правильной работы кнопки мы притягиваем ее контакт, который подключается к порту, т.е. замыкаем на землю (GDN), через сопротивление 10K. Такое сопротивление называется «стягивающим» или «подтягивающим вниз». Это нужно для того, что в исходном состоянии гарантировать на входе низкий сигнал. В нашем случае низкий сигнал соответствует отжатой кнопкой и выключенному состоянию светодиода.

Скетч

Результат

  • Нажмите на кнопку и светодиод загорится.

Заключение

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

Выпуск 5. Первая программа — работаем со светодиодом и кнопкой. Основы программирования Arduino ⁠ ⁠

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

Предыдущие выпуски вы найдете здесь: 0,1,2,3,4

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

Ну а сейчас давайте запустим среду Arduino IDE и откроем пример BareMinimum (Файл — Примеры — Basic). Он представляет собой некоторый шаблон для написания программ.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Открыв его, мы с вами видим две записи, void setup и void loop – это так называемые функции, первая выполняется единоразово, при подаче питания на Arduino, а вторая выполняется циклически до тех пор, пока присутствует питание микроконтроллера. В функцию setup записываются различные настройки микроконтроллера для дальнейшей работы — например, это может быть конфигурация портов ввода/вывода, о которых мы говорили ранее, либо инициализация подключенного вами дисплея или датчика. Главное, что нужно запомнить, с этой функции начинается работа микроконтроллера и все, что в ней написано, выполняется только один раз.

Чего не скажешь о функции loop – эта функция выполняется сразу же после функции setup, и после этого микроконтроллер постоянно работает в ней.

Перед тем, как разобрать работу функций на конкретном примере, я хочу показать вам разницу в уровнях языка программирования, о которой говорил ранее.

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

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

А вот еще более низкоуровневый язык программирования Ассемблер, на нем запись нашего шаблона выглядела бы примерно так. Этот язык, можно сказать, позволяет общаться с микроконтроллером «на ты», и контролировать каждый шаг его работы.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

А теперь настало время запустить пример из прошлого выпуска, на котором мы остановились – это пример мигания светодиодом под названием Blink.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Итак, прежде чем разбирать этот код, давайте подумаем, каким образом мы можем заставить наш микроконтроллер мигать светодиодом с нужной нам частотой?

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

Что мы имеем? Микроконтроллер с портами ввода/вывода, к одному из которых подключен светодиод.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

В нашем случае, на плате Arduino уже есть подключенный светодиод к 13-му пину (pin – вывод микроконтроллера). Поэтому, настроив 13-й пин как выход, можно посылать команды на подачу высокого и низкого уровня на этот пин, тем самым зажигая и гася светодиод. Укажем подачу высокого уровня на 13-й пин в нашем алгоритме.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

В первом блоке мы указали настройку 13-го пина как выхода, посмотрим на наш код — строчка pinMode(LED_BUILTIN, OUTPUT); как раз и отвечает за эту настройку.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Функция pinMode специально реализована для того, что бы указывать в ней какой пин мы хотим настроить, и в какой режим. В данном случае указано, что мы настраиваем константу LED_BUILTIN как выход, то есть — OUTPUT. За константой LED_BUILTIN как раз и скрывается наша цифра 13, то есть номер пина, к которому подключен светодиод, поэтому, заменив эту запись на цифру 13, ничего не изменится, просто разработчики сделали это для упрощения понимания кода начинающими. Итак, повторим, функцией pinMode мы можем настроить нужный нам пин на вход – INPUT или выход – OUTPUT, указав при этом номер пина. Эта команда не зря записана в первую функцию Setup, поскольку настройку пинов микроконтроллера нужно осуществлять всего один раз, при старте программы.

Также я прошу обратить ваше внимание на синтаксис языка программирования, то есть правила написания команд и комментариев. Это схоже с правилами в русском языке, где, например, после каждого предложения необходимо ставить точку. У языка Wiring после каждой команды, не имеющей своих фигурных скобок, необходимо ставить точку с запятой — ; Иначе строчки, подобно предложениям, сольются в одну, и компилятор выдаст вам синтаксическую ошибку.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Итак, идем дальше — функция loop, задача которой бесконечно повторять код, написанный внутри нее.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Ну а пока посмотрим, что внутри нашей функции — я думаю, вы уже заметили аналогию написанных команд с нашим алгоритмом.

В алгоритме мы указали необходимость подачи на наш 13-й пин сигнала высокого уровня, посмотрим на код – так и есть, функция digitalWrite как раз и делает это. В ее скобках мы опять же указываем номер пина и уровень сигнала, низкий – LOW или высокий – HIGH, так же, аналогом низкого либо высокого уровня являются цифры 0 и 1 соответственно.

Далее нам необходимо осуществить задержку – для таких простых случаев можно прописать её обычной функцией Delay, где в скобках указывается количество миллисекунд. Запись delay(1000); означает задержку работы микроконтроллера на одну секунду. Стоит заметить, что использование в своих проектах функции delay крайне не желательно, поскольку эта функция полностью останавливает работу микроконтроллера, не позволяя выполнять каких-либо других задач. О том, как реализовать более правильный вариант задержки мы поговорим в следующих выпусках, ну а пока, на этапе первого знакомства с программой и простоты поставленной задачи, нам подойдет и такая, упрощенная реализация.

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

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

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

Давайте модернизируем наш алгоритм, и добавим в него необходимые блоки.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

По аналогии со светодиодом, один из пинов нашей Arduino нужно настроить на прием сигнала, и, считывая состояние этого пина, делать вывод о том, нажата кнопка или нет. Поэтому в функции настройки микроконтроллера мы прописываем команду pinMode(pin, INPUT); где вместо pin необходимо указать номер пина, к которому подключена кнопка — в моем случае это 3-й пин.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Итак, пины для светодиода и кнопки настроены, теперь необходимо указать условие, при котором наш светодиод должен мигать. А мигать он должен при появлении на 3-м пине положительного сигнала, подаваемого кнопкой. Поэтому, сперва мы считываем состояние этого пина, и затем, если оно равно единице или высокому уровню, выполняем тело условия, в котором прописано мигание нашим светодиодом.

В коде тем временем добавляется новая запись, представляющая собой условный оператор if, что в переводе означает «если».

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

После написания оператора if в скобках указывается условие, при истинности которого будет выполняться тело оператора, которое ограничивается уже знакомыми нам фигурными скобками. В нашем случае в условии мы должны проверить, равно ли считанное с 3-го пина значение единице или нет, поэтому в скобках мы указываем такую запись: digitalRead(3) == 1. Функция digitalRead, по последнему слову в наименовании, означает чтение – read, и при ее выполнении возвращает результат в виде единицы или нуля – в зависимости от состояния пина, указанного в скобках. Таким образом, мы получили проверку условия: «равен-ли 3-й пин единице?», и, если равен, выполнить указанные действия в фигурных скобках. Дословно это можно читать так: «если считанное значение с пина 3 равно одному, выполнить команды в скобках». Более подробно об условных операторах и циклах мы поговорим в следующем выпуске, ну а пока, чтобы не перегружать вас информацией, остановимся на таком простом варианте.

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

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

Чтобы не было таких неприятных ситуаций, нам необходимо, когда кнопка выключена, постоянно и уверенно подавать на вход микроконтроллера отрицательный потенциал, который не будет давать различным наводкам обмануть наш микроконтроллер. И, в качестве такой защиты при подключении кнопок, используют подтягивающие резисторы на 10-20кОм.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Такие резисторы, кстати, встроены внутрь самого микроконтроллера Atmega и их легко можно включить в программе – достаточно дописать в функции настройки команду digitalWrite(pin, HIGH); которая подключит к нашему входу подтягивающий к плюсу питания внутренний резистор на 20кОм. В таком случае внешний резистор нам не понадобится, но и в коде необходимо будет заменить условие срабатывания с единицы на ноль.

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

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

Выпуск 5. Первая программа - работаем со светодиодом и кнопкой. Основы программирования Arduino Arduino, Начинающий, Программа, Микроконтроллеры, Видео, Длиннопост

Но, об этом мы поговорим в следующих выпусках, так как в нашем примере это не является критичным моментом.

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

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

Читать:
Кто относится к электрическому персоналу

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

Ну а на этом, пожалуй, всё, в конце я хотел бы пригласить всех желающих в наше скромное сообщество ВКонтакте, где периодически выходит рубрика «Nano за 60 минут» и мы разыгрываем в течение часа бесплатную Arduino Nano. Не забывайте делиться своим мнением о выходящих выпусках и пишите свои вопросы, всем большое спасибо за внимание и до встречи в новом выпуске!

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

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

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

  • Arduino Uno / Arduino Nano / Arduino Mega
  • тактовые кнопки
  • светодиоды
  • резисторы
  • макетная плата
  • коннекторы

К микроконтроллеру Ардуино тактовые кнопки подключаются двумя способами: с подтягивающим резистором (пин платы запрограммирован в режиме работы INPUT) и без резистора (пин находится в режиме работы INPUT_PULLUP). Эти способы рассмотрены были ранее в обзоре — Как подключить кнопку к Ардуино. В этой статье мы будем использовать управление светодиодом от тактовой кнопки без подтягивающего резистора.

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

Управлять светодиодом от Ардуино можно с помощью одной или двух кнопок. Для включения светодиода с помощью кнопки Arduino соберите схему, как показано на рисунке. Обратите внимание, что сенсорная кнопка в схеме на макетной плате подключена к микроконтроллеру без подтягивающего резистора, так как пин 2 платы Arduino подключен к +5 Вольт через встроенный резистор в режиме работы порта INPUT_PULLUP.

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

Подключение светодиода и двух кнопок Ардуино

Программа для управления светодиодом с помощью двух кнопок. Обратите внимание, что при использовании конфигурации порта платы в режиме INPUT_PULLUP цифровой вход поднимается до +5 Вольт. По этой причине значение входящего сигнала будет инвертировано. Когда тактовая кнопка, подключенная к GND, отпущена — сигнал на входе Ардуино высокий «1». При нажатии кнопки, на входе сигнал станет низким «0».

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

Регулировка яркости светодиода от кнопок

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

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

Заключение. Мы изучили несколько примеров того, как управлять светодиодом Arduino с помощью кнопки. Вы узнали, что светодиодом можно управлять с помощью одной кнопки и что его можно включать/выключать с помощью двух кнопок. Кроме того, можно изменять яркость светодиода с помощью тактовых кнопок и ШИМ-сигнала. Все приведенные примеры могут быть использованы в различных проектах с платой Ардуино.

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

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

Управление нагрузкой одной кнопкой без фиксации, принципиальная схема

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

Управление нагрузкой одной кнопкой без фиксации, включеноУправление нагрузкой одной кнопкой без фиксации, выключено

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

Как это работает

В начальный момент, когда на схему подается питание, все три транзистора закрыты, одновременно через цепочку резисторов R1 и R2 заряжается электролитический конденсатор C1, напряжение на нем равно напряжению питания. При нажатии на кнопку положительный сигнал с конденсатора поступает на базу транзистора VT3 отпирая его, по открытому переходу этого транзистора напряжение поступает на базу транзистора VT2, в следствии чего он также открывается. Нагрузка, в нашем случае светодиод, тоже активируется, еще во время срабатывания транзистора VT3.

Эта часть схемы представляет из себя триггерную защелку. Транзистор VT3 открывает VT2, а тот открываясь подает напряжение на базу транзистора VT3 удерживая его в открытом состоянии.

В таком состоянии схема может находится бесконечно долгое время. Притом кнопку можно просто нажать и отпустить, а не удерживать в нажатом состоянии.

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

При повторном нажатии кнопки база транзистора VT3 оказывается подключенной к минусовой обкладке конденсатора C1, на базе ключа напряжение в районе 0,7 вольт, и в следствии заряда конденсатора оно просаживается и он запирается. С запиранием транзистора VT3, конденсатор опять начинает заряжаться в штатном режиме, через ранее указанные резисторы.

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

Управление нагрузкой одной кнопкой без фиксации, принципиальная схема

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

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

● Проект 2: Обрабатываем нажатие кнопки на примере зажигания светодиода

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

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

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

Arduino проект

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

Простейшие в 220 вольт без драйвера (самое простое питание светодиода от сети напряжением 220В)

Для нормальной работы светодиода требуется постоянное напряжение или ток. Они должны быть:

  1. Постоянными по направлению. Т. е. ток в цепи светодиода при приложении напряжения должен течь от «+» источника напряжения к его «–».
  2. Стабильными, т. е. постоянными по величине, в течение времени работы диода.
    Подробно о методах подключения светодиодов
  3. Не пульсирующими – после выпрямления и стабилизации величины постоянных напряжения или тока не должны периодически изменяться.
    Схема формы напряжения
    Схема формы напряжения на выходе двухполупериодного выпрямителя при фильтрации электролитическим конденсатором (на схеме черный и белый прямоугольники с маркировкой «+»). Пунктир – напряжение на выходе выпрямителя. Конденсатор заряжается до амплитуды полуволны и постепенно разряжается на сопротивлении нагрузки. «Ступеньки» – это пульсации. Отношение амплитуд ступеньки и полуволны в процентах – это коэффициент пульсации.

Для светодиодов вначале использовали имевшиеся источники напряжения – 5, 9, 12 В. А рабочее напряжение p-n перехода от 1,9-2,4 до 3,7-4,4 В. Поэтому включение диода напрямую – это почти всегда его физическое сгорание от перегрева большим током. Ток нужно ограничивать токоограничивающим резистором, тратя энергию на его нагрев.

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

Когда диодов десятки, их соединяют в последовательные цепи, которые включают параллельно.

Устройство светодиода

Хотя и существует множество светодиодов, самая распространённая форма состоит из 5-миллиметрового полимерного корпуса с линзой, медного или алюминиевого основания, катода, параболического рефлектора (отражателя) и кристалла, который соединяется с анодом при помощи тонкой золотой проволоки.

Устройство светодиода

Как работает светодиод?

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

Виды и основные параметры светодиодов

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

По назначению светодиоды разделяют на два вида – индикаторные и осветительные.

  • светодиоды SMD;
  • сверхъяркие Super Flux “Piranha”;
  • DIP светодиоды (Direct In-line Package);
  • Straw Hat («соломенная шляпа»).
  • COB (Chip On Board) светодиоды;
  • SMD LED;
  • филаментные (Filament LED).

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

  • DIP-светодиоды. Кристалл-излучатель находится в выводном корпусе, который чаще всего представляет собой выпуклую линзу. Минус – малый угол рассеивания излучения.
  • «Пиранья» – излучатель сверхвысокой яркости с четырьмя выводами, обеспечивающими его удобное крепление на плате. Востребован для подсветки приборов в автомобилях и в рекламных вывесках.
  • «Соломенная шляпа». Цилиндрический двухвыводный прибор со значительным углом рассеивания излучения и увеличенным диаметром линзы. Применяется в декоративных конструкциях и светосигналах тревоги.
  • SMD-светодиоды. Приборы сверхвысокой яркости располагаются в корпусах, рассчитанных на SMT-монтаж. В их маркировке указываются размеры в дюймах (их сотых долях) или в мм. На базе SMD-светодиодов изготавливаются светодиодные ленты.

Осветительные светодиоды встречаются в конструкции фонарей, фар, лент. Отличаются мощностью и яркостью свечения. Большинство осветительных приборов размещают в корпусах для SMT-монтажа. Изготавливаются в двух разновидностях белого цвета:

  • cool white – холодный;
  • warm white – теплый.

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

Распиновка светодиода

Полярность светодиода – анод или плюс и катод – минус определить легко по картинкам:
у цилиндрических корпусов катод обозначен срезом
У цилиндрических корпусов катод обозначен срезом на боковой части, у анода вывод длиннее, а у катода – короче.
Катод у SMD светодиодов
Катод у SMD светодиодов обозначен срезом на корпусе.
В матрицах мощных COB светодиодов «+» и «-» выдавлены на контактных площадках
В матрицах мощных COB светодиодов «+» и «-» выдавлены на контактных площадках для пайки.

Обозначение на схеме

podkljuchenie svetodiodov 32

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

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

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

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

Главное требование к параметрам питания – ограничение тока цепи.

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

Основные принципы подключения

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

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

Как определить полярность?

Для решения вопроса существует всего 3 способа:

  1. Конструктивно. Согласно нормам, принятым во всем мире, на обычном светодиоде (не SMD типа), длинная ножка всегда является «+» или же анодом. Для работы светодиода на него должна подаваться положительная полуволна. А короткая – катодом. определение полярности - конструктивный способ
  2. С помощью мультиметра. Для проверки необходимо переключатель прибора поставить в режим «Прозвонка» и установить красный щуп мультиметра на анод, а черный – на катод. В результате светодиод должен засветиться. Если этого не произошло, необходимо поменять полярность (черный на анод, а красный на катод). Если результат не меняется, тогда led вышел из строя (для установления более точного диагноза, читайте как проверить светодиод). как проверить полярность светодиода тестером
  3. Визуально. Если присмотреться к светодиоду, то можно увидеть 2 кончика возле кристалла. Тот, который больше – катод, тот, что меньше – анод. полярность цилиндрического светодиода

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

Подключение светоизлучающего диода к сети 220 В

Если запитать светодиод прямо от 220 В с ограничением его тока, то светить он будет при положительной полуволне и гаснуть при отрицательной. Но это только в том случае, когда обратное напряжение p-n перехода будет много больше 220 В. Обычно это в районе 380-400 В.

Второй способ включения– через гасящий конденсатор.
Сетевое напряжение подают на «мост»
Сетевое напряжение подают на «мост» на диодах VD1-VD4. Конденсатор С1 «погасит» около 215-217 В. Остаток выпрямится. После фильтрации конденсатором С2 постоянное напряжение подают на светодиод. Не забудьте об ограничении тока через диод резистором
Еще одна схема подключения
Еще одна схема подключения – с однополупериодным выпрямителем на диоде и с ограничивающим резистором, величиной 30 кОм.

ВНИМАНИЕ! Большинство схем с прямым подключением в сеть 220 В имеют серьезный недостаток – они опасны поражением человека высоким напряжением – 220 В. Поэтому их следует использовать аккуратно, с тщательной изоляцией всех токоведущих частей.

Подключение светодиодов к напряжению 220В

Первое, что нужно знать при подключении к сети 220В, — для номинального свечения через светодиод должен проходить ток в 20мА, а падение напряжения на нем не должно превышать 2,2-3В. Исходя из этого, необходимо рассчитать номинал токоограничивающего резистора по следующей формуле:

формула расчета токоограничевающего резистора

в которой 0,75 – коэффициент надежности led, U пит – это напряжения источника питания, U пад – напряжение, которое падает на светоизлучающем диоде и создает световой поток, I – номинальный ток, проходящий через него, и R – номинал сопротивления для регулирования проходящего тока. После соответствующих вычислений, номинал сопротивления должен соответствовать 30 кОм.

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

формула расчета мощности резистора

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

После определения номинала и мощности сопротивления можно собрать схему для подключения одного светодиода к 220В. Для ее надежной работы необходимо ставить дополнительный диод, который будет защищать светоизлучающий диод от пробоя, при возникновении амплитудного напряжения на выводах светодиода в 315В (220*√2).

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

Схема практически не применяется, поскольку в ней возникают очень большие потери из-за выделения тепла в сопротивлении. Рассмотрим более эффективную схему подключения к 220 В:

эффективная схема подключения светодиода к сети 220 В

На схеме, как видим, установлен обратный диод VD1, пропускающий обе полуволны на конденсатор C1 емкостью 220 нФ, на котором происходит падение напряжение до необходимого номинала.

Сопротивление R1 номиналом 240 кОм, разряжает конденсатор при выключенной сети, а во время работы схемы не играет никакой роли.

Но это упрощенная модель для подключения LED, в большинстве светодиодных ламп уже встроенный драйвер (схема), который преобразует переменное напряжение 220В в постоянное с величиной 5-24В для их надежной работы. Схему драйвера Вы можете видеть на следующем фото:

схемы светодиодного драйвера

Параллельное соединение светодиодов не правильное

Параллельное соединение светодиодов используют, когда напряжение блока питания (источника) не хватает, для того, чтобы запитать ряд последовательных светодиодов. Если «конкретно теоретически», то параллельно светодиоды можно подключать и «тупо» — соединить все аноды и катоды LEDs. После чего подключить их к батарее и вуаля… Светодиоды горят! Причем единожды и на краткое время при подключении. Далее — конец им.

Не hgfdbkmyjt соединение параллельное светодиодов

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

Сразу откину некоторых злопыхателей. Есть, конечно, исключения… Ими грешат китайские производители дешевизны. Но это исключение из правил. Если кто-то разбирал китайские игрушки или зажигалки, то наверняка видел именно такую схему подключения. Где диоды подключены параллельно, не имея в свей цепи никаких посторонних электронных компонентов. Почему? Да все просто — в таких цепях ток ограничивается внутренним сопротивлением батареек AG1 (таблетка). Мощность в таких таблетках минимальна и не может нанести вред диоду. Т.е. мы опять приходим к выводу, что для нормального функционирования, диодам нужен резистор.

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

Не смотря на то, что такой тип соединения не очень приветствуется, его частенько используют. В таких типах соединений есть одно правило — параллельное соединение светодиодов никогда не происходит с использованием ТОЛЬКО ОДНОГО резистора.

Параллельное соединение светодиодов

Ну или для тех, кто понимает только визуальные картинки, то не правильное параллельное соединение будет выглядеть так:

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

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

Плюсы и минусы параллельного соединения светодиодов

Большим плюсом параллельного соединения стоит отметить, что в случае правильного соединения светодиодов при перегорании одного из них, остальные будут работать. Диоды будут работать если и большее количество LEDs перегорит, здесь основным остается правило — чтобы работала хотя бы одна ветка. При последовательном соединении светодиодов выход из строя одного из них приведет к тому, что строка из последовательно соединенных чипов перестанет светиться.

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

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

Стоит представить себе елочную гирлянду с таким соединением диодов… Для ее работоспособности придется соединять еще один проводник к паре светодиод-резистор. Поэтому 99,9 % всех гирлянд собраны из последовательно соединенных светодиодов.

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

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

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

В схеме, по всем светодиодам будет проходить один ток (20мА), а уровень напряжения будет состоять из сумм падения напряжения на каждом. Это означает, используя данную схему подключения, нельзя включить в цепь любое количество светодиодов, т.к. оно ограничено падением напряжения.

Падение напряжения – это уровень напряжения, которое светоизлучающий диод преобразует в световую энергию (свечение).

Например, в схеме падение напряжения на одном светодиоде составит 3 Вольта. Всего в схеме 3 светодиода. Источник питания 12В. Считаем, 3 Вольта * 3 led = 9 В — падение напряжения.

После несложных расчетов, мы видим, что не сможем включить в схему параллельного подключения более 4 светодиодов (3*4=12В), запитывая их от обычного автомобильного аккумулятора (или другого источника с напряжением 12В).

Если захотим последовательно подключить большее количество LEd, то понадобится источник питания с большим номиналом.

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

Недостатки последовательного подключения
  1. При выходе из строя хотя бы одного элемента, не рабочей становится вся схема;
  2. Для питания большого количества led нужен источник с высоким напряжением.

Распространенные ошибки при подключении

Подключение

Самые часто встречающиеся ошибки при соединении светодиодов:

  1. Выбор резистора не того номинала – если подобрать слишком маленькое сопротивление, светодиод может перегореть. При большом значении светить диод будет не в полную силу.
  2. Подключение напрямую к источнику питания без токоограничивающего резистора. Излучающий компонент сразу сгорит.
  3. Соединение по параллельной схеме с одним резистором для всех диодов. Компоненты начнут выходить из строя, так как рабочий ток у каждого различный.
  4. Соединение по последовательной схеме светодиодов, рассчитанных на разный ток. В таком случае часть диодов перегорит, а часть будет светить тусклее.
  5. Подключение напрямую к сети 220 В без защиты.

Важно! Совершение описанных ошибок повлечет за собой негативные последствия в виде поломки диода или нанесения себе травм.

Альтернативный тип подключения

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

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

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

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

Гибридное подключение светодиодов

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

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

Применение в быту

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

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

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

Ввиду маленькой мощности световых устройств в них нет защищающих обратных диодов. Резистор установлен таким образом, чтобы ограничить прямой ток значением 1 мА. Такая схема подключения светодиода к сети 220 вольт не особо эффективна в плане яркости свечения, оно очень тусклое, но свою роль играет хорошо – в темной комнате выключатель видно. Здесь обратное напряжение при размыкании контактов цепи направлено на резистор, в качестве дополнительной нагрузки также выступает наличие светодиодной или любой другой лампочки, а также блока питания. Таким образом, светодиод защищен он обратного пробоя током.

Техника безопасности

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

Основные выводы

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

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

Как можно избежать явного указания значения уровня напряжения при вызове digitalWrite?

Мы передаем в digitalWrite не конкретное значение HIGH или LOW, а просто булеву переменную ledEnabled. В зависимости от того, какое значение было для нее вычислено, светодиод будет зажигаться или гаситься.

Задания для самостоятельного решения

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

Похожие публикации