Проблема с блюютуз модулем

Тема в разделе "Arduino & Shields", создана пользователем Danil_2002, 4 июн 2019.

  1. Danil_2002

    Danil_2002 Гик

    Добрый день!

    Пытаюсь подключить MLT-BT05 модуль(вроде так называется) к ардуино уно. Подключал напрямую(хотя пробовал и через конвертер логических уровней) TX - RXD RX -TXD.

    Программа:
    Код (C++):
    int val;
    int LED = 13;
    void setup()
    {
      Serial.begin(9600);
      pinMode(LED, OUTPUT);
      digitalWrite(LED, HIGH);
    }
    void loop()
    {
      if (Serial.available())
      {
        val = Serial.read();
        // При символе "1" включаем светодиод
        if (val == '1')
        {
          digitalWrite(LED, HIGH);
        }
        // При символе "0" выключаем светодиод
        if ( val == '0')
        {
          digitalWrite(LED, LOW);
        }
      }
    }
    Суть в том, что не получается даже подключиться к модулю через телефон (Redmi) , в настройках написано устройство отключено и все, если нажать, то ничего не происходит. Хотел попробовать поиграться с AT командами (перемычка между RESET и GND есть), но при отправки через Arduino IDE "AT" модуль молчит(Настройки COM в IDE: НЕТ КОНЦА СТРОКИ, 9600 бод).
    В некоторых статьях пишут что нужно модуль в режим AT команд перевести с помощью кнопки, но у меня ее конечно нет и пина KEY тоже.

    Может уже кто то сталкивался с нечто подобным?
     
  2. SergeiL

    SergeiL Оракул Модератор

    Для того, чтобы модуль ответил на AT команду, после AT нужно посылать перевод строки.
    А у Вас в мониторе порта стоит "НЕТ КОНЦА СТРОКИ".
    Поставьте "NL & CR"
     
  3. Danil_2002

    Danil_2002 Гик

    Не помогло
     
  4. Danil_2002

    Danil_2002 Гик

    Получилось сделать, но частично. Теперь модуль откликается на "AT", но на другие команды нет

    Код (C++):
    #include <SoftwareSerial.h>   // подключаем библиотеку
    SoftwareSerial mySerial(2,3); // указываем пины tx и rx

    void setup()
    {
      pinMode(2,INPUT);
      pinMode(3,OUTPUT);
     
      Serial.begin(9600);    // включаем hardware-порт
      mySerial.begin(9600); // включаем software-порт
     
      Serial.println("start setting");
    }

    void loop()
    {
      if (mySerial.available()) {
        char c = mySerial.read(); // читаем из software-порта
        Serial.print(c);          // пишем в hardware-порт
      }
      if (Serial.available()) {
        char c = Serial.read();   // читаем из hardware-порта
        mySerial.write(c);        // пишем в software-порт
      }
    }
    подключил 34 контакт модуля на 3.3V
     
  5. fogary

    fogary Гик

    Danil_2002 нравится это.