Найти тему
Радиотехника

Модуль BT201 + STM32 (Arduino)

Модуль BT201 5.0 Bluetooth представляет собой единый чип 4-в-1, который поддерживает Bluetooth, USB-флешку и TF-карту.

Функции:

  • Поддержка Bluetooth-аудио, передача данных BLE, воспроизведение U-диска, воспроизведение TF-карты, SPIFLASH. Поддержка декодирования форматов MP3, WAV, WMA, FLAC, AAC, APE.
  • 16-битный стерео ЦАП с усилителем для наушников, отношение сигнал/шум >= 95 дБ
  • Последовательный порт управления командой AT. Поддержка изменения скорости передачи данных для изменения имени Bluetooth, указания воспроизведения устройства и передачи данных мобильного телефона.
  • Поддержка двухрежимной передачи данных BLE и SPP, в то же время может воспроизводить звук Bluetooth, без конфликтов.
  • Поддержка вызова Bluetooth, многокнопочного управления, последней музыки, следующей музыки, воспроизведения паузы, регулировки громкости и других простых функций.
  • Поддержка получения полного имени файла последовательного порта воспроизведения, указанного пути воспроизведения, цикла или одиночного воспроизведения.
  • Поддержка функции записи 128KBS. Запись на TF-карту или U-диск, запись, удаление, воспроизведение и т. д.

При тестировании модуля BT201 был выбран микроконтроллер STM32 (плата разработчика STM32F103C8T6), так он содержит несколько UART портов, один будет использован для вывода информации в монитор порта, другой (Serial3) для отправки АТ команд в модуль BT201.

-2

Как прошивать STM32 в среде Arduino IDE написано в — http://rcl-radio.ru/?p=68376

Так как STM32 прошивается через переходник USB to COM (RS232) YP-01 на чипе PL2303HX, в котором имеются 2 источника напряжения, то напряжение 3,3 В будут использованы для питания STM32, а напряжение 5 В для питания модуля BT201.

-3

Подключения STM32 к USB to COM и BT201

-4

Тестовый скетч

void setup(){ Serial.begin(115200);
Serial3.begin(115200);
Serial.println();
delay(500);
}  
void loop(){ if (Serial.available() > 0) { String str = Serial.readString();
Serial.println(str);
Serial3.print(str+"
\r\n");
}  
if (Serial3.available() > 0) { String str = Serial3.readString();
Serial.println(str);
} }

Команды управления отсылаете через монитор порта, и они пересылаются на модуль BT201.
Все, что приходит с модуля (ответы, сообщения и т.д.), пишется в монитор порта.

-5

Список АТ команд —BT201 Module _KT1025A_B_User Manual _V2.3.pdf

Список основных АТ команд:

  • AT+CB  — стоп\паузы
  • AT+CC — следующий трек
  • AT+CD — предыдущий трек
  • AT+CE — громкость +++
  • AT+CF — громкость —
  • AT+CA15 — громкость уровень 15 (0-30)
  • AT+CM01 — Bluetooth
  • AT+CM02 — USB

Ниже показан пример управления модулем BT201 при помощи STM32 и нескольких кнопок, режимы работы и другая информация отображается на дисплее 0.96′ I2C 128X64 OLED.

Дисплей 0.96′ I2C 128X64 OLED на контроллере SSD1306 имеет разрешение 128х64 пиксел и подключается к микроконтроллеру по интерфейсу I2C.

-6

Параметры дисплея SSD1306:

  • Технология дисплея: OLED
  • Разрешение дисплея: 128 на 64 точки
  • Диагональ дисплея: 0,96 дюйма
  • Угол обзора: 160°
  • Напряжение питания: 2.8 В ~ 5.5 В
  • Мощность: 0,08 Вт
  • Габариты: 27.3 мм х 27.8 мм х 3.7 мм
-7

Кнопки управления:

  • PLAY / STOP — воспроизведение \ пауза в режиме Bluetooth и USB
  • >>> — следующий трек (файл, ролик) в режиме Bluetooth и USB
  • <<< — предыдущий трек (файл, ролик) в режиме Bluetooth и USB
  • Bluetooth \ USB — кнопка выбора Bluetooth или USB
  • VOLUME UP — громкость прибавить на 1 ед.
  • VOLUME WD — громкость удавить на 1 ед.

Меню Bluetooth

-8
  1. Bluetooth
  2. Режим работы:not connected — нет соединения
    connected — соединение установлено
    play — воспроизвидение
  3. Уровень громкости

Меню USB

-9
  1. USB
  2. Номер воспроизводимого файла (кол-во файлов на носителе*)
  3. Время звучания воспроизводимого файла
  4. текущее время проигрывания файла
  5. Уровень громкости

*Звуковые файлы на USB устройстве должны быть записаны й в корень файловой системы.

Подключения STM32, кнопок и дисплея

-10

** Подключение кнопок

-11

Подключения STM32 к  BT201

-12
Модуль BT201 + STM32 (Arduino)

Скетч - http://rcl-radio.ru/?p=129611