Torgholodmash.ru

ТоргХолодМаш
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Светодиодная лента состоит из 3 цветных кристаллов и 4 выходов: 12 (общий вывод), R (Red), G (Green), B (Blue). Основные комплектующие помещены в пластиковый корпус. Также в некоторых моделях RGB LED Arduino присутствуют встроенные резисторы. Они подключены к цветным выходам. Анодные и катодные электроды обладают самыми длинными выводами.

Одной из самых современных моделей RGB Ардуино является адресная светодиодная лента. Она состоит из диодов и контроллера. В это устройство по умолчанию встроены 3 полевых транзистора, что позволяет регулировать цвет светодиодов по отдельности.

Данная лента RGB имеет 4 порта для подключения источников питания и платы Ардуино. Светодиоды управляются посредством цифрового протокола. Он обеспечивает взаимодействие между лентой и программной средой. Протокол конвертирует цифровой код в команды, воспринимаемые диодами. В зависимости от интенсивности сигнала кристаллы загораются разными цветами.

Устройство

Для питания резисторов и выводов нужно подключить адресную ленту к следующим приборам:

  1. Powerbank 5V: лента подсоединяется к данному устройству при помощи USB-штекеров. Емкость Powerbank 5V составляет 3350 мА*ч, что позволяет питать светодиоды током с силой 3А.
  2. Батарейки АА: используются в количестве 3 шт. Общая емкость этих приборов составляет 180 мА*ч. Они подают ток с напряжением до 5,5 В. Рекомендуется использовать батарейки AA, изготовленные из лития или апкалина.
  3. Никелевые аккумуляторы: имеют напряжение до 1,4 В. Для питания RGB Arduino требуется не менее 4 аккумуляторов из никеля. Емкость сборки составляет 2700 мА*ч.
  4. Литиевые аккумуляторы: имеют напряжение 4,2 В. В процессе эксплуатации значение этого показателя снижается до 3 В. Литиевые аккумуляторы позволяют сохранять полную яркость светодиодов. Они питают диоды током с силой до 2 А.

В зависимости от способа подачи электрического тока светодиоды будут гореть разными цветами. Если подать питание на 3 цветных светодиода одновременно, то кристаллы станут белыми. Для настройки цветовой гаммы Arduino RGB используются контроллеры с пультом управления. Они состоят из 3 полевых транзисторов и микропроцессора. Это приспособление позволяет настроить цветовую гамму светодиодов на дальнем расстоянии. Работа контроллеров с пультом управления обеспечивается при помощи скетчей, написанных в программной среде Ардуино.

Выделяют 2 основные модели RGB LED Arduino:

  1. WS2811: светодиоды питаются от чипа WS2811, расположенного отдельно от RGB-ленты. Питание устройства составляет 12 В.
  2. WS2812b: представляет собой ленту с напаянными светодиодами. В диоды встроены чипы WS2812b. Они позволяют менять окрас светодиодов по отдельности. Питание ленты WS2812b составляет 5 В.

Программа

Чтобы изменить коэффициент заполнения ШИМ сигнала нам необходимо каждый раз перенастраивать таймер, но уже не в конфигураторе, а в самой программе. Для этого мы опишем новую функцию, которую назовём setPWM. Сначала объявим её в самом начале файла main.c.

А затем реализуем её в блоке USER CODE BEGIN 4.

Также необходимо запустить ШИМ на 3-м канале первого таймера. Делаем это так:

Это была подготовка. Теперь напишем программу, которая будет плавно менять яркость светодиода от 0 до 100%, а затем от 100% до нуля. Сделаем это следующим образом. Пусть изначально яркость равна 0. На каждом шаге суперцикла будем прибавлять единицу к яркости, пока не достигнем максимального значения. В момент, когда яркость достигла 500, меняем направление отсчёта и начинаем вычитать по единице, пока не достигнем 0. И так далее.

Объявим пару переменных, в которых будем хранить текущее значение коэффициента заполнения (pwm_value) и направление отсчёта (step).

Основной код добавим в суперцикл while:

Последнее, что нам нужно сделать — подключить светодиод к ножке PA10. Воспользуемся простейшей схемой с резистором на 200 Ом, такой же, как в уроке про светодиод на Ардуино.

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

На следующем уроке будем управлять куда более серъёзной нагрузкой — двигателем постоянного тока!

Скетч для Arduino IDE

Данный пример показывает как обеспечить затухание на 9 пине с использованием функции analogWrite().

int led = 9; // пин, к которому подключен светодиод

int brightness = 0; // яркость светодиода

int fadeAmount = 5; // на сколько увеличить яркость светодиода

// функция setup отрабатывает один раз после перезагрузки платы:

// объявляет 9 пин в качестве выхода:

// цикл loop повторяется бесконечно:

// устанавливает яркость 9 пина:

// изменение яркости на следующей итерации с помощью цикла:

brightness = brightness + fadeAmount;

// меняет значение затухания на аналогичное с противоположным знаком при граничных значениях:

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

Читать еще:  Веб камеры с регулировкой фокуса

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

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

В этом руководстве будет пошагово описан процесс начала работы с Arduino Esplora — от подключения к компьютеру до прошивки программы (называемой скетчем).

1 | Возьмите Arduino Esplora и USB-кабель

Данное руководство рассчитано, прежде всего, на плату Arduino Esplora. Если вы используете какую-то другую модель Ардуино — лучше обратитесь к соответствующей странице в разделе "Начало работы".

Вам понадобится стандартный кабель Micro-USB (с коннекторами типа А и Micro-B): такой кабель обычно используется в некоторых мобильных телефонах или MP3-плеерах для обмена данными с компьютером, поэтому вполне вероятно, что он уже у вас есть. Обратите внимание, что этот кабель отличается от кабеля USB-Mini тем, что у него тоньше разъем. Отличия можно увидеть здесь (нужный коннектор показан на рисунке слева).

2 | Скачайте среду разработки Arduino

Последнюю версию Arduino IDE можно найти здесь. Вам нужна версия 1.0.3 или более новая.

После завершения закачки, распакуйте скачанный архив. Убедитесь в том, что структура директорий после распаковки не нарушена. Откройте папку — в не должно быть несколько файлов и поддиректорий. В версии для Mac, папка в zip-архиве содержит только само приложение.

3 | Подключите устройство

С помощью USB-кабеля подключите Ардуино к компьютеру. При этом должен загореться зеленый светодиод питания (обозначенный на плате как ON), и засветиться желтый светодиод, обозначенный символом "L". Примерно через 8 секунд после подключения желтый светодиод должен замигать.

4 | Установите драйверы

Инструкции для Mac OS X

  • При первом подключении робота к компьютеру под управлением OSX, автоматически запустится программа "Keyboard Setup Assistant". Т.к. для робота настраивать здесь особо нечего, можно просто закрыть это окно, кликнув по красной кнопке в левом верхнем углу.

Инструкции для Windows

Нижеследующие инструкции, прежде всего, относятся к Windows 7, хотя они также подходят и для Windows XP (лишь с небольшими отличиями в диалоговых окнах).

  • Подключите плату к компьютеру и дождитесь, пока Windows не запустит мастер установки драйверов. Если мастер не запустился автоматически, то вручную перейдите к Диспетчеру устройств (Пуск > Панель управления > Оборудование) и отыщите в списке строку Arduino Robot. Щелкните по ней правой кнопкой и выберите пункт "Обновить драйвер".

  • В появившемся окне выберите "Выполнить поиск драйверов на этом компьютере" и жмите Далее.

  • Жмите кнопку "Обзор. ". В появившемся окне перейдите к папке с программным обеспечением Ардуино (которое вы предварительно скачали). Выберите папку drivers и нажмите ОК, а затем Далее.

  • Возникнет сообщение о том, что устанавливаемое оборудование не проходило тестирование в Windows Logo. Жмите на кнопку Все равно продолжить.

  • Через несколько секунд появится сообщение о том, что мастер завершил установку программного обеспечения для Arduino Robot. Теперь закройте окно.

Инструкции для Linux

Под Ubuntu 12.04 установка драйверов не требуется вообще.

5 | Запрограммируйте плату

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

Откройте пример программы Esplora Blink

Откройте пример скетча "LED Blink": File > Examples > Esplora > Beginners > EsploraBlink.

Примечание: если у вас нет примера EsploraBlink, значит вам необходимо обновить библиотеку Esplora. Для этого выйдите из среды Ардуино и скачайте этот .zip-файл. После распаковки архива у вас будет папка Esplora. В системной папке Documents (под OSX или Ubuntu) либо My Documents (под Windows) отыщите папку со скетчами Ардуино. Она будет называться "Arduino" и внутри этой папки будет директория "libraries". Если этой директории нет — создайте ее. Распакованную папку "Esplora" переместите в папку "libraries". После этого заново запустите среду Ардуино и откройте скетч EsploraBlink.

Настройте среду Arduino под Esplora

Поскольку среда разработки Ардуино рассчитана на работу с различными моделями Ардуино, перед прошивкой необходимо указать ей, что мы будем работать с Arduino Esplora. Для этого откройте меню Tools > Board и выберите пункт Arduino Esplora.

Читать еще:  Кран регулировочный для отопления регулировка

Выберите необходимый USB-порт

Arduino IDE также должна знать, к какому именно USB-порту подключен Esplora. Список доступных портов отображается в меню Tools > Serial :

  • если в этом списке только один пункт — можете смело выбирать его.
  • если в списке несколько пунктов — тогда можно отключить Esplora от компьютера и еще раз открыть это меню; тот пункт, который пропал после отключения устройства, и будет искомым USB-портом. Снова подключите плату и выберите его из списка.

Прошейте программу

После всех выполненных действий просто нажмите кнопку "Upload" в среде программирования Ардуино. Подождите несколько секунд — вы увидите мерцание светодиодов RX и TX на плате. Если процесс прошивки прошел успешно — в строке состояния появится сообщение "Done uploading".

Через несколько секунд после прошивки, вы увидите, как желтый RGB-светодиод на плате начал мигать, циклически изменяя свой цвет на красный, зеленый, синий, желтый, голубой, пурпурный и белый. Если это действительно так, поздравляем! Вы успешно настроили и запустили Arduino Esplora.

6 | Работаем с RGB-светодиодом

Теперь, после того, как вы подключили Esplora к компьютеру и попробовали прошивать в него программы, самое время опробовать кое-какие функции Ардуино. В Arduino Esplora есть датчики, с которых можно считывать информацию с помощью команд чтения, а также исполнительные устройства, которыми можно управлять с помощью команд записи. Одними из выходных устройств Esplora являются RGB-светодиод и зуммер. Входными устройствами является джойстик, потенциометр (слайдер), микрофон, акселерометр, датчик температуры и кнопки. К Esplora можно добавлять и свои устройства с помощью разъемов TinkerKit.

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

Программа, приведенная ниже, похожа на пример EsploraBlink и отличается от него способом управления светодиодом. Чтобы изменить цвет светодиода можно вызвать функцию Esplora.writeRGB() и передать ей числовые параметры для красного, зеленого и синего цвета:

Также можно задать яркость каждого цвета отдельно — с помощью функций Esplora.writeRed(), Esplora.writeGreen() и Esplora.writeBlue(), как будет показано ниже.

Скопируйте нижеследующий код и вставьте его в IDE Ардуино. Как и раньше, убедитесь, что в программе правильно выбран последовательный порт и модель Ардуино (Esplora). Подключите плату и прошейте написанный код. После прошивки должен замигать RGB-светодиод.

7 | Работаем с устройствами ввода и вывода

В Arduino Esplora есть множество вмонтированных датчиков. В этом примере мы будем использовать потенциометр (слайдер внизу платы) для управления яркостью RGB-светодиода.

Почти все устройства ввода в Esplora выдают значения от 0 до 1023 (за исключением кнопок, выходной сигнал которых может быть либо 0, либо 1). Однако, в устройствах вывода используется другой диапазон. Например, для управления светодиодом можно использовать значения от 0 до 255. Поэтому, чтобы привести два диапазона в соответствие, необходимо делить входное значение на 4. Полученное число будет характеризовать яркость светодиода.

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

8 | Что дальше?

В меню File -> Examples -> Esplora можно найти множество примеров, демонстрирующих широкие возможности Arduino Esplora. Все примеры поделены на две категории, которые ориентированы на новичков и экспертов. Если вы только начинаете программировать и хотите разобраться, как работает то или иное входное или выходное устройство — начните с примеров для новичков. Если же вы опытный программист, то более сложные примеры предложат вам множество новых идей.

Если вы впервые сталкиваетесь с программированием, то посмотрите примеры, идущие вместе со средой разработки Ардуино — в них уделено внимание основам программирования и базовым структурам. Однако помните, что эти примеры требуют небольшого изменения для работы с платой Esplora. Во-первых, вам нужно будет подключить библиотеку Esplora, выбрав ее из меню Tools -> Import Library, а во-вторых — изменить стандартные входы и выходы Ардуино на входы и выходы Arduino Esplora. Подробнее об этом см. в руководстве по использованию Esplora с примерами Ардуино.

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

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

Давайте рассмотрим простой пример, чтобы узнать, как использовать светодиодный ШИМ-контроллер ESP32 с помощью Arduino IDE.

Читать еще:  Машинка для регулировки часов

Схема

Подключите светодиод к ESP32, как показано на следующей схеме. Светодиод должен быть подключен к GPIO 16.

image_4.jpg

(В этой схеме используется версия модуля ESP32 DEVKIT V1 с 30 GPIO — если вы используете другую модель, проверьте схему расположения GPIO используемой платы.)

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

Откройте Arduino IDE и скопируйте следующий код.

Начинаем с определения пина, к которому подключен светодиод. В этом случае светодиод подключен к GPIO 16.

Затем устанавливаем свойства сигнала ШИМ. Определяем частоту 5000 Гц, выбираем канал 0 для генерации сигнала и устанавливаем разрешение в 8 бит. Можно выбрать другие свойства, отличные от этих, для генерации различных сигналов ШИМ.

В setup() необходимо настроить LED PWM со свойствами, которые определили ранее, используя функцию ledcSetup(), следующим образом:

Затем нужно выбрать GPIO, на который будет выводится сигнал. Для этого используем функцию ledcAttachPin(), которая принимает в качестве аргументов GPIO, канал, который генерирует сигнал. В этом примере мы получим сигнал в GPIO ledPin, который соответствует GPIO 16. Каналом, который генерирует сигнал, является ledChannel, который соответствует каналу 0.

В цикле вы будете изменять рабочий цикл от 0 до 255, чтобы увеличить яркость светодиода.

А затем, между 255 и 0, чтобы уменьшить яркость.

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

Поскольку мы используем 8-битное разрешение, рабочий цикл будет управляться с помощью значения от 0 до 255. Обратите внимание, что в функции ledcWrite () мы используем канал, который генерирует сигнал, а не GPIO.

Тестирование примера

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

ШИМ и микроконтроллеры

Простейший генератор ШИМ можно собрать и без всяких микроконтроллеров, только лишь с микросхемой таймера 555. Разумеется, любой микроконтроллер тоже умеет работать с ШИМ сигналом.

Например, у платы Ардуино имеется 6 контактов: 3, 5, 6, 9, 10 и 11, которые можно настроить для генерации аппаратного ШИМ. По-умолчанию, на контактах 5 и 6 частота сигнала будет 1кГц, на остальных — скромные 500Гц. Как ими пользоваться ШИМ на Ардуино подробно рассказывается на уроке «Ардуино: ШИМ» (скоро будет).

STM32F103 — гораздо более серьёзный микроконтроллер. У него целых 20 контактов имеют возможность генерации ШИМ. Частота этого микроконтроллера — 72МГц, что делает возможным плавное и точное управление моторами постоянного тока, не говоря уже о светодиодах. Узнаём подробности в уроке про STM32 и ШИМ.

Кстати, микроконтроллеры умеют не только генерировать ШИМ, но и детектировать подобные сигналы. Про это можно почитать в соответствующей статье на нашем портале (скоро будет).

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

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

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

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

  • Черный – GND;
  • Красный – питание 5В;
  • Средний – от центрального вывода к аналоговому входу А0.

Изменяя положение вала подключенного потенциометра, происходит изменение параметра сопротивления, которое вызывает изменение показателя на нулевом пине платы ардуино. Считывание полученного значения напряжения аналогового импульса происходит в скетче с помощью команды analogRead ().

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

Пример проекта

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

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

  • 1 плату Arduino Uno
  • 1 беспаячную макетную плату
  • 1 светодиод
  • 1 резистор с сопротивлением 220 Ом
  • 6 проводов «папа-папа»
  • 1 потенциометр.

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

Пример скетча

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

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты