Оглавление:

Рождественская елка NeoPixel с управлением через Bluetooth: 5 шагов
Рождественская елка NeoPixel с управлением через Bluetooth: 5 шагов

Видео: Рождественская елка NeoPixel с управлением через Bluetooth: 5 шагов

Видео: Рождественская елка NeoPixel с управлением через Bluetooth: 5 шагов
Видео: Урок 36. Гирлянда из Trema-модулей NeoPixel | iarduino.ru 2024, Ноябрь
Anonim

Вы задавались вопросом, как добавить IoT (Интернет вещей) на вашу елку в этом году? Что ж, это вполне возможно! Я лично называю этот проект «ArduXmas», и он состоит из светодиодной ленты RGB NeoPixel, управляемой платой Arduino через Bluetooth. Это проект для новичков и отличное введение в Arduino e IoT, так что берите инструменты и давайте сделаем это!

Запасы:

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

  • Arduino (я использовал Nano, но подойдет любая версия, просто убедитесь, что ваша плата правильно запитана)
  • Светодиодная лента NeoPixel WS2812b
  • Модуль Bluetooth HC-06
  • Источник питания постоянного тока 5 В, 2 А
  • Разъем / разъем питания на цилиндре постоянного тока
  • Пластина из фенолита для крепления компонентов
  • Корпус корпуса
  • Смартфон Android с установленным приложением Blynk

Шаг 1: Схема

Схема
Схема
Схема
Схема
Схема
Схема

Электроника этого проекта очень проста. Arduino, модуль Bluetooth и светодиодная лента питаются от источника питания 5 В (убедитесь, что все GND соединены вместе). Плата Arduino получает питание через порт 5 В (ВНИМАНИЕ: питание Arduino через порт 5 В может повредить вашу плату, если вы не будете осторожны. Убедитесь, что вы используете регулируемый источник питания 5 В и не перепутаете + 5 В. и GND провода). Сила тока, обеспечиваемая вашим источником питания, будет зависеть от длины светодиодной ленты. Я использую 180 светодиодов с 40% полной яркости, и 2 ампера держат хорошо, но всегда убедитесь, что подается необходимый ток (ПОМНИТЕ: каждый светодиод RGB использует около 20 мА + 20 мА + 20 мА = 60 мА).

Модуль Bluetooth HC-06 подключается к контактам 0 и 1 (RX, TX) Arduino, просто помните, что для использования этого модуля контакт RX HC-06 подключен к TX Arduino, а контакт TX HC-06 - подключен к RX Arduino. Это контакты последовательного подключения платы, которые используются для приема команд со смартфона. Я добавил переключатель, чтобы легко включать / выключать модуль, поэтому я могу выключить его при программировании платы, иначе компьютер не сможет взаимодействовать с Arduino.

В схеме выводом вывода данных, идущим к светодиодной полосе, является цифровой вывод 2, но вы можете выбрать любой вывод ШИМ и соответствующим образом изменить его в коде (ПОМНИТЕ: светодиодные полосы NeoPixel имеют направление для сигнала данных. Всегда ищите значки стрелок в вашей полосе).

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

Шаг 2: корпус

Вложение
Вложение
Вложение
Вложение
Вложение
Вложение

В качестве корпуса я просто использую старый корпус блока питания ноутбука, который хорошо сочетается с компонентами. Закрепите все горячим клеем и оставьте отверстия для порта USB Arduino, переключателя HC-06, разъема постоянного тока и разъема для светодиодной ленты.

Шаг 3. Приложение Blynk

Приложение Blynk
Приложение Blynk
Приложение Blynk
Приложение Blynk
Приложение Blynk
Приложение Blynk

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

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: К сожалению, это приложение будет работать только для смартфонов Android, потому что функция Bluetooth все еще находится в бета-версии и пока недоступна для IOS, это также означает, что невозможно будет экспортировать проект как отдельное приложение.

Настройте приложение для получения токена аутентификации для вашего проекта в почтовом ящике (эта авторизация потребуется позже в коде Arduino). На веб-сайте Blynk есть отличное пошаговое руководство по этому поводу, проверьте его:

В этом проекте я использую две кнопки для включения двух предварительно закодированных световых анимаций; один компонент RGB для установки цвета светодиодной ленты; один ползунок для управления яркостью и один компонент Bluetooth для подключения к Arduino. Проверьте изображения, чтобы увидеть, как настроен каждый компонент. Обратите внимание на контакты, используемые для этого проекта, поскольку мы используем виртуальные контакты Blynk, это хорошая функция, которая позволяет отправлять данные из приложения на оборудование. Для получения дополнительной информации о виртуальных контактах:

Шаг 4: Код Arduino

Код Arduino
Код Arduino

Пора закончить код! Предоставленный мною файл имеет базовую структуру для запуска проекта, но вы можете изменить ее по своему усмотрению. Однако для правильной работы вам необходимо заменить auth char на токен, который вы получили в своем почтовом ящике. Также не забудьте изменить переменные LED_PIN и LED_COUNT в соответствии с вашими настройками.

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

Анимация, выполняемая в loop (), привязана к таймеру, работающему с интервалами 100 мс. Это необходимо, и я не рекомендую его менять, потому что это мешает команде Blynk.run () и соединение разрывается, если библиотека Blynk обнаруживает слишком много запросов за короткий период времени.

Рекомендуемые: