Разбираемся как подключить Bluetooth-модуль к Arduino, а затем использовать его для управления светодиодной RGB лентой.
В этом уроке мы будем использовать Bluetooth модуль HC-06, потому как он довольно дешевый и простой в использовании. Данный вариант был заказан за $2 на Aliexpress.
Содержание
Шаг 1. Комплектующие
Для реализации проекта по управлению RGB лентой нам понадобятся такие детали:
- Плата Arduino (мы будем использовать Arduino Nano) x 1
- Модуль Bluetooth HC-06 или HC-05 x 1
- 12V RGB LED лента (мы используем 30LEDs/m с общим анодом) x 1
- Клеммный винт x 1
- Резистор 220 Ом x 3
- BUZ11 N-Channel Power MOSFET (или эквивалент) x 3
- Макет и перемычки
- DC джек и DC коннектор (опционально)
- Питание 12 В (переменный источник питания)
Шаг 2. Соединения и схема
Схема не такая сложная, как может показаться на первый взгляд.
Во-первых, нам нужно определить, имеет ли наша светодиодная лента общий анод или общий катод. Наша имеет общий анод, поэтому мы подключили анод светодиодной полосы к блоку питания 12 В, а остальные - к винтовым клеммам, которые мы подключим к выходу MOSFET позже.
Все важные соединения и схема показана на рисунке выше.
Будьте очень осторожны при подключении 12V+ шины к VIN платы Arduino, потому что вы можете сжечь плату, если вы подключите ее не правильно. Кроме того, не забудьте всё заземлить (GND).
Наши подключения в итоге выглядят таким образом:
Шаг 3. Код Arduino и последовательная связь
Загрузите следующий эскиз в Arduino с помощью USB-кабеля.
const int redPin = 11; const int greenPin = 10; const int bluePin = 9; void setup() { Serial.begin(9600); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { while (Serial.available() > 0) { int red = Serial.parseInt(); int green = Serial.parseInt(); int blue = Serial.parseInt(); if (Serial.read() == '\n') { red = constrain(red, 0, 255); green = constrain(green, 0, 255); blue = constrain(blue, 0, 255); analogWrite(redPin, red); analogWrite(greenPin, green); analogWrite(bluePin, blue); } } }
Зачем? Штыри связи HC-06 (RX и TX) блокируют связь между Arduino и компьютером.
Объяснение кода
Во-первых, мы объявили несколько констант (константу, которые не могут быть изменены позже) для всех трех цветов (красный, зеленый, синий)
В setup() мы начали последовательную соединение с частотой 9600 бод и установили все выводы ленты на OUTPUT.
В цикле loop(), если Serial получает что-то, он анализирует полученные данные как Integer (важно на следующем шаге)
Если он получает символ новой строки ('\ n'), он сначала ограничивает значения диапазоном 0-255 из-за диапазона PWM (ШИМ, англ. pulse-width modulation (PWM)), а затем совершает изменения в цифровых выводах с помощью метода analogWrite().
Шаг 4. Подключаем Arduino к Android-устройству
Нам нужно скачать приложение "Smart Bluetooth - Arduino Bluetooth Serial".
Скачать или установить через Google Play
Smart Bluetooth - это приложение, которое позволяет использовать телефон для общения с модулем Bluetooth или платой, самым простым способом. Оно дает неограниченные возможности при управлении проектами. Smart Bluetooth предлагает множество способов передачи данных в ваш модуль.
Smart Bluetooth имеет следующие функции:
- Быстрое подключение к модулю,
- Отправлять и получать данные из вашего модуля,
- Управление цифровыми и PWM-контактами приемника,
- Темная и светлая тема,
- Различные модели управления для разных целей,
- Современный и отзывчивый интерфейс,
- Настраиваемые кнопки и переключатели,
- Реализуйте свой проект RC-машин с красивым геймпадом,
- Легкое управление RGB-лентами через слайдер,
- Автоматически отключает Bluetooth при закрытии для экономии батареи,
- Командная строка (терминал).
В этом уроке мы используем вторую вкладку (TAB). В целом процесс выглядит так:
- Откройте приложение, нажмите кнопку SEARCH и найдите соседние устройства.
- Когда ваше устройство найдено, выберите его, щелкнув по нему.
- Выберите предпочтительную тему (темный или светлый) и удерживайте выбранную вами кнопку.
- Дождитесь соединения, если не работает, попробуйте переподключиться.
- После успешного соединения выберите вторую вкладку (TAB), щелкнув по ней, перетащите ползунки и проверьте, не изменила ли светодиодная полоса цвет.
Шаг 5. Результат
На этом наше знакомство с подключением RGB-ленты и управлению ей через Arduino заканчивается. В следующих уроках мы постараемся усложнить проект.
22 декабря 2020 в 19:31
Подскажите пожалуйста аналог приложения на эпл?