nettips.ru

Подключение модуля BT201 к arduino

На главную Cisco Systems VoIP маршрутизатор Беларусь Asterisk Arduino коммутатор Nateks Alcatel MTS Velcom Gigaset ZTE Android Grandstream Huawei админы шутят о сайте Zelax Allied Telesis D-Link Штрихкоды HP
Телефонные номера доступа sip операторов Телефонные коды городов и стран мира.

Рейтинг статьи: 3.800/5 Рейтинг 3.80 из 5Рейтинг 3.80 из 5Рейтинг 3.80 из 5Рейтинг 3.80 из 5Рейтинг 3.80 из 5 (10 голосов).

Заинтересовал меня модуль BT201, умеющий воспроизводить mp3 файлы связываться по BT со смартфоном.

Спонсор этой страницы:

Краткое описание

Поддержка TF-карт и USB-диска
Поддержка MP3,WAV,FLAC, APE
Поддержка кнопок управления
Поддержка Serial команд через RX/TX
Поддержка Bluetooth вызова
Формат команды управления: AT +[]

Подключение к wemos d1 mini

Подключал к тому, что было под рукой

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


#include <SoftwareSerial.h>

#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5)
#define MP3_RX_PIN (12U) // artuinio RX mp3 player TX (D6)

SoftwareSerial mp3(MP3_RX_PIN, MP3_TX_PIN); // RX, TX

void setup()
{
Serial.begin(115200);
Serial.println();
mp3.begin(115200);
delay(500);
}

void loop()

{
if (Serial.available() > 0) {
String str = Serial.readString();
Serial.println(str);
mp3.print(str+"\r\n");
}

if (mp3.available() > 0) {
String str = mp3.readString();
Serial.println(str);
}

}

В дальнейшем модуль BT201 можно просто использовать в своих проектах, отсылая команды через Serial
Например:
mp3.print("AT+CM03\r\n"); // использовать "TF Card"
mp3.print("AT+AF/02*/*???\r\n"); // запустить воспроизведение всех файлов по маске * из папки по маске 02*, например "02 Огонь"
mp3.print("AT+BT+375290000000\r\n"); //Позвонить по номеру +375290000000
mp3.print("AT+CA15\r\n"); //Установить громкость 15 (значения от 0 до 30)

Система команд для работы с mp3 гораздо слабее, по сравнению с DFPlayer Mini, но все равно возможно использовать в GyverLamp.

Документация

Список команд BT201 Module _KT1025A_B_User Manual _V2.3.pdf
Полный архив en_BT201__KT1025A_B-20210103T184005Z-001.zip с описанием и программами.

Продается BT201 на aliexpress

Arduino Программирование

Пожалуйста, оцените и ВЫ эту статью:

Комментарии к статье:

  • 2021-01-25 23:33:24, Гость :

    Модуль действительно неплохой, сам играюсь с ним и хочу приделать к автомантитоле заместо аудио диска

  • 2021-01-27 20:28:36, Robert :

    É possível conectar ele com o arduino?

    • 2021-03-02 22:46:10, 123 :

      sim, claro, via UART para arduino serial

  • 2021-04-09 18:14:11, kostyamat :

    Что-то странное.
    Подключил модуль к Arduino Nano.

    Скетч
    #include

    SoftwareSerial mySerial(10, 11); // RX, TX

    void setup() {
    Serial.begin(115200);
    mySerial.begin(115200);
    }

    void loop() {
    if (Serial.available()) { // If anything comes in Serial (USB),
    mySerial.write(Serial.read()); // read it and send it out Serial1
    }

    if (mySerial.available()) { // If anything comes in Serial1 (pins 0 & 1)
    Serial.write(mySerial.read()); // read it and send it out Serial (USB)
    }
    }

    На выходе крякозяблики
    Вот пример ответа на команду AT

    Œkr
    ⸮⸮
    Пробовал для софтсериал другие скоростя - результат еще хуже.
    Впечатление, что он по китайски отвечает. Или я туплю.
    Был у меня GPRS модем какой-то, там проблема была в том, что УАРТ с открытым коллектором, помогли резисторы на массу. Тут думал то же самое - но нет. Резисторы не помогают.

  • 2021-04-09 22:29:32, kostyamat :

    Что-то странное.
    Подключил модуль к Arduino Nano.

    Скетч
    #include

    SoftwareSerial mySerial(10, 11); // RX, TX

    void setup() {
    Serial.begin(115200);
    mySerial.begin(115200);
    }

    void loop() {
    if (Serial.available()) { // If anything comes in Serial (USB),
    mySerial.write(Serial.read()); // read it and send it out Serial1
    }

    if (mySerial.available()) { // If anything comes in Serial1 (pins 0 & 1)
    Serial.write(mySerial.read()); // read it and send it out Serial (USB)
    }
    }

    На выходе крякозяблики
    Вот пример ответа на команду AT

    Œkr
    ⸮⸮
    Пробовал для софтсериал другие скоростя - результат еще хуже.
    Впечатление, что он по китайски отвечает. Или я туплю.
    Был у меня GPRS модем какой-то, там проблема была в том, что УАРТ с открытым коллектором, помогли резисторы на массу. Тут думал то же самое - но нет. Резисторы не помогают.


Ваши отзывы и предложения по работе сайта направляйте на форму обратной связи.

Яндекс.Метрика