- Adafruit 5X8 NeoPixel Shield для Arduino
- Понимание процесса связи между приложением Blynk и Arduino
- Необходимые компоненты
- Светодиодный экран Adafruit RGB и Arduino - подключение оборудования
- Настройка приложения Blynk
- Код Arduino для управления светодиодным экраном Adafruit WS2812B RGB
- Загрузка кода на плату Arduino
В течение нескольких лет светодиоды RGB становятся популярными изо дня в день благодаря красивому цвету, яркости и заманчивым световым эффектам. Именно поэтому он используется во многих местах как декоративный элемент, примером может быть дом или офис. Кроме того, мы можем использовать RGB-подсветку на кухне и в игровой консоли. Они также отлично подходят для детской игровой комнаты или спальни с точки зрения декоративного освещения. Раньше мы использовали светодиоды WS2812B NeoPixel и микроконтроллер ARM для создания визуализатора музыкального спектра, так что проверьте это, если вам это интересно.
Вот почему в этом проекте мы собираемся использовать экран светодиодной матрицы RGB на основе неопикселей, приложение Arduino и Blynk для создания множества увлекательных анимационных эффектов и цветов, которыми мы сможем управлять с помощью приложения Blynk. Итак, приступим !!!
Adafruit 5X8 NeoPixel Shield для Arduino
Совместимый с Arduino NeoPixel Shield содержит сорок индивидуально адресуемых светодиодов RGB, каждый из которых имеет встроенный драйвер WS2812b, который организован в матрицу 5 × 8 для формирования этого NeoPixel Shield. Несколько NeoPixel Shield также могут быть подключены для формирования большего Shield, если это необходимо. Для управления светодиодами RGB требуется один вывод Arduino, поэтому в этом руководстве мы решили использовать для этого вывод 6 Arduino.
В нашем случае светодиоды получают питание от встроенного в Arduino вывода 5V, чего достаточно для питания «трети светодиодов» на полной яркости. Если вам нужно запитать больше светодиодов, вы можете отрезать встроенную дорожку и использовать внешний источник питания 5 В для питания экрана с помощью внешнего терминала 5 В.
Понимание процесса связи между приложением Blynk и Arduino
Используемая здесь светодиодная матрица 8 * 5 RGB имеет сорок индивидуально адресуемых светодиодов RGB на основе драйвера WS2812B. Он имеет 24-битный контроль цвета и 16,8 миллионов цветов на пиксель. Им можно управлять с помощью методологии «Однопроводное управление». Это означает, что мы можем контролировать весь светодиодный пиксель с помощью одного управляющего контакта. Во время работы со светодиодами я просмотрел техническое описание этих светодиодов, где обнаружил, что диапазон рабочего напряжения экрана составляет от 4 до 6 В, а потребление тока составляет 50 мА на светодиод при 5 В с красным, зеленым, и синий на полной яркости. Он имеет защиту от обратного напряжения на выводах внешнего питания и кнопку сброса на щите для сброса Arduino. Он также имеет входной контакт внешнего питания для светодиодов, если достаточное количество энергии недоступно через внутренние схемы.
Как показано на схеме выше, нам нужно загрузить и установить приложение Blynk.на нашем смартфоне, где можно управлять такими параметрами, как цвет, яркость. После настройки параметров, если в приложении происходят какие-либо изменения, они попадают в облако Blynk, где наш компьютер также подключен и готов к приему обновленных данных. Arduino Uno подключается к нашему ПК через USB-кабель с открытым коммуникационным портом, через этот коммуникационный порт (COM-порт) можно обмениваться данными между облаком Blynk и Arduino UNO. ПК запрашивает данные из облака Blynk с постоянными интервалами времени, и при получении обновленных данных он передает их в Arduino и принимает определяемые пользователем решения, такие как управление яркостью и цветами светодиода RGB. Экран светодиодов RGB размещается на светодиодах Arduino и подключается через один вывод данных для связи, по умолчанию он подключается через вывод D6 Arduino.Последовательные данные, отправленные из Arduino UNO, отправляются на Neopixel Shied, который затем отражается на светодиодной матрице.
Необходимые компоненты
- Arduino UNO
- Светодиодный матричный экран 8 * 5 RGB
- Кабель USB A / B для Arduino UNO
- Ноутбук / ПК
Светодиодный экран Adafruit RGB и Arduino - подключение оборудования
Светодиоды Neopixel WS2812B имеют три контакта, один для данных, а два других для питания, но этот специальный экран Arduino делает аппаратное соединение очень простым, все, что нам нужно сделать, это разместить светодиодную матрицу Neopixel на верхней части Arduino UNO. В нашем случае светодиод питается от стандартной шины Arduino 5V. После установки Neopixel Shield установка выглядит следующим образом:
Настройка приложения Blynk
Blynk - это приложение, которое может работать на устройствах Android и IOS для управления любыми устройствами и устройствами Интернета вещей с помощью наших смартфонов. Прежде всего, необходимо создать графический интерфейс пользователя (GUI) для управления светодиодной матрицей RGB. Приложение отправит все выбранные параметры из графического интерфейса в Blynk Cloud. В разделе приемника у нас есть Arduino, подключенный к ПК через кабель последовательной связи. Следовательно, ПК запрашивает данные из облака Blynk, и эти данные отправляются в Arduino для необходимой обработки. Итак, приступим к настройке приложения Blynk.
Перед настройкой загрузите приложение Blynk из магазина Google Play (пользователи iOS могут загрузить из App Store). После установки зарегистрируйтесь, используя свой адрес электронной почты и пароль.
Создание нового проекта:
После успешной установки откройте приложение, и там мы увидим экран с опцией « Новый проект ». Нажмите на нее, и появится новый экран, где нам нужно установить такие параметры, как имя проекта, плата и тип подключения. В нашем проекте выберите устройство как « Arduino UNO » и тип подключения как « USB » и нажмите « Создать».
После успешного создания проекта мы получим идентификатор аутентификации на нашу зарегистрированную почту. Сохраните идентификатор аутентификации для использования в будущем.
Создание графического интерфейса пользователя (GUI):
Откройте проект в Blynk, нажмите на знак «+», где мы получим виджеты, которые сможем использовать в нашем проекте. В нашем случае нам понадобится палитра цветов RGB, обозначенная как «zeRGBa», как показано ниже.
Установка виджетов:
После перетаскивания виджетов в наш проект теперь мы должны установить его параметры, которые используются для отправки значений RGB для Arduino UNO.
Нажмите на ZeRGBa, тогда мы получим экран с названием ZeRGBa setting. Затем установите для параметра «Вывод» значение « Объединить » и установите вывод на «V2», как показано на изображении ниже.
Код Arduino для управления светодиодным экраном Adafruit WS2812B RGB
После завершения аппаратного подключения код необходимо загрузить в Arduino. Пошаговое объяснение кода показано ниже.
Во-первых, включите все необходимые библиотеки. Откройте Arduino IDE, затем перейдите на вкладку « Эскиз» и нажмите « Включить библиотеку» -> «Управление библиотеками» . Затем найдите Blynk в поле поиска, а затем загрузите и установите пакет Blynk для Arduino UNO.
Здесь библиотека « Adafruit_NeoPixel.h » используется для управления светодиодной матрицей RGB. Чтобы включить его, вы можете скачать библиотеку Adafruit_NeoPixel по указанной ссылке. Как только вы его получите, вы можете включить его с помощью опции «Включить ZIP-библиотеку».
#define BLYNK_PRINT DebugSerial #include #include
Затем мы определяем количество светодиодов, которое требуется для нашей светодиодной матрицы, а также определяем номер контакта, который используется для управления параметрами светодиодов.
#define PIN 6 #define NUM_PIXELS 40
Затем нам нужно поместить наш идентификатор аутентификации мигания в массив аутентификации , который мы сохранили ранее.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Здесь программные последовательные контакты используются в качестве консоли отладки. Итак, выводы Arduino определены ниже как отладочный серийный номер.
#включают
Внутри настройки последовательная связь инициализируется с помощью функции Serial.begin , blynk подключается с помощью Blynk.begin, а с помощью пикселей.begin () инициализируется светодиодная матрица.
void setup () { DebugSerial.begin (9600); pixel.begin (); Serial.begin (9600); Blynk.begin (Serial, auth); }
Внутри цикла loop () мы использовали Blynk.run () , который проверяет входящие команды из графического интерфейса blynk и соответственно выполняет операции.
void loop () { Blynk.run (); }
На заключительном этапе нужно получить и обработать параметры, которые были отправлены из приложения Blynk. В этом случае параметры были назначены виртуальному выводу «V2», как обсуждалось ранее в разделе настройки. Функция BLYNK_WRITE - это встроенная функция, которая вызывается всякий раз, когда изменяется состояние / значение связанного виртуального вывода. мы можем запускать код внутри этой функции, как и любую другую функцию Arduino.
Здесь написана функция BLYNK_WRITE для проверки входящих данных на виртуальный вывод V2. Как показано в разделе настройки Blink, данные цветных пикселей были объединены и назначены контакту V2. Таким образом, мы также должны снова разделить слияние после декодирования. Потому что для управления светодиодной пиксельной матрицей нам нужны данные всех трех отдельных цветных пикселей, таких как красный, зеленый и синий. Как показано в приведенном ниже коде, три индекса матрицы читаются как param.asInt () для получения значения красного цвета. Точно так же все два других значения были получены и сохранены в 3 отдельных переменных. Затем эти значения назначаются пиксельной матрице с помощью функции Pixel.setPixelColor, как показано в приведенном ниже коде.
Здесь функция pixel.setBrightness () используется для управления яркостью, а функция pixel.show () используется для отображения установленного цвета в матрице.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixel.clear (); pixel.setBrightness (20); для (int я = 0; я <= NUM_PIXELS; я ++) { пикселей.setPixelColor (я, пикселей.Цвет (г, г, b)); } pixel.show (); }
Загрузка кода на плату Arduino
Сначала нам нужно выбрать ПОРТ Arduino внутри Arduino IDE, затем нам нужно загрузить код в Arduino UNO. После успешной загрузки запишите номер порта, который будет использоваться для нашей настройки последовательной связи.
После этого найдите на своем ПК папку скриптов библиотеки Blynk. Он устанавливается при установке библиотеки, моя была внутри, «C: \ Users \ Имя_компьютера \ Documents \ Arduino \ libraries \ Blynk \ scripts»
В папке сценария должен быть файл с именем «blynk-ser.bat», который представляет собой командный файл, используемый для последовательной связи, который нам нужно отредактировать с помощью блокнота. Откройте файл с помощью блокнота и измените номер порта на номер вашего порта Arduino, который вы отметили на последнем шаге.
После редактирования сохраните файл и запустите командный файл, дважды щелкнув по нему. Тогда вы должны увидеть окно, как показано ниже:
Примечание. Если вы не видите это окно, показанное выше, и появляется запрос на повторное подключение, это может быть связано с ошибкой подключения ПК к плате Arduino. В этом случае проверьте соединение Arduino с ПК. После этого проверьте, отображается ли номер COM-порта в Arduino IDE или нет. Если он показывает действующий COM-порт, значит, он готов к работе. Вам следует снова запустить командный файл.
Заключительная демонстрация:
Пришло время проверить схему и ее функциональность. Откройте приложение Blynk, откройте графический интерфейс и нажмите кнопку Play. После этого вы можете выбрать любой из желаемых цветов, который будет отражаться на светодиодной матрице. Как показано ниже, в моем случае я выбрал красный и синий цвет, он отображается в матрице.
Точно так же вы также можете попробовать создать различные анимации, используя эти светодиодные матрицы, немного изменив кодировку.