Arduino + HC-05 Проблема: AT-команды не работают

Устройство: ноутбук, HC-05, резистор 2,2 кОм и 4,7 кОм, Arduino Uno R3

Поэтому я пытаюсь переименовать и изменить пароль моего HC-05. для получения полной подробной схемы. Здесь (разница в том, что я также использовал контакт STATE от HC-05, а затем подключил его к контакту 9 поскольку, согласно Instructables, он используется для активации режима AT):

Теперь для кодирования, я получил его от Instructables.com и здесь: https://www.instructables.com/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/ или

#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11);
#define Key 9
void setup()
{
  pinMode(Key, OUTPUT);  // этот контакт потянет контакт 34 HC-05 (ключевой контакт) на ВЫСОКИЙ уровень, чтобы переключить модуль в режим AT
  digitalWrite(Key, HIGH);
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(38400);  // HC-05 скорость по умолчанию в AT-команде подробнее
}

void loop() {
  // поместите сюда ваш основной код для многократного запуска:
  if(BTSerial.available()){
    Serial.write(BTSerial.read());
  }

  if(Serial.available()){
    BTSerial.write(Serial.read());
  }
}

Проблема: я пытался следовать инструкциям инструкции. но это не сработало. затем я попытался сделать свой собственный из нескольких руководств, которые я прочитал: подробности,

  1. я настроил свою схему и сделал необходимую разводку, как показано на рисунке + контакт STATE -> STATE -> Пин 9 Arduino.

  2. Затем я подключил Arduino Uno к ноутбуку, HC-05 мигает каждые полсекунды, если вам нужны подробности. Затем загрузил код... затем, наконец, я открыл серийный монитор (обратите внимание, что мой HC-05 вообще не сопряжен ни с одним устройством. Я «забыл» их на всякий случай).

  3. затем перейдите к монитору 9600 и введите простую команду, например AT, AT+NAME? или AT+PSWD? но в моем терминале ничего не появилось.

  4. Я также проверил монитор 38400 и сделал то же самое. ничего не произошло.

  5. потом, может быть, он просто не отображался, но на самом деле работал, я попробовал AT+NAME=JULIE, пытаясь переименовать свой HC-05 в JULIE для каждого терминала, возвращаясь и пытаясь на 9600, а затем на 38400. ничего не произошло на любой Терминал. мой HC-05 по-прежнему называется HC-05, а светодиод на моем HC-05 все еще мигает каждые полсекунды.

  6. Затем немного раздраженный, я пробую и ошибаюсь. я попытался загрузить код, затем подключил его сейчас, на этот раз с моим телефоном. Затем введите AT-команды в моем приложении терминала Bluetooth (из Playstore) и попробуйте там AT-команду. но все равно ничего не работает.

Мой HC-05 работает так, как предполагалось, когда я использовал простой светодиод, включая и выключая, и сервопривод, используя мой телефон по беспроводной сети несколько часов назад. Но когда я попытался выполнить коды AT-команд, в моем последовательном мониторе ничего не появилось, например, OK () или другие ответы AT-команды.

поэтому я хотел бы знать, где я ошибся и почему я не могу использовать AT-команду, будь то 9600, 38400 или даже пытаться использовать AT-команду в приложении BT Terminal моего телефона? если вы считаете, что я упустил важные детали, которые я должен упомянуть, не стесняйтесь, дайте мне знать.

, 👍1

Обсуждение

проверьте соединения ... на трансиверах TX обычно исходящие данные передаются по воздуху, а не передаются на контроллер по проводному соединению, @jsotola

Взгляните на [это сообщение в блоге](https://www.fpaynter.com/2019/06/arduino-remote-programming-using-a-hc-05-bluetooth-module/). Я сделал это некоторое время назад. . Я думаю, что это ответит на большинство ваших вопросов., @user3765883


1 ответ


1

Хорошо, ВОЗМОЖНО, я решил это ^^ так что дело в том, что я заметил, что мой светодиод все еще интенсивно мигает, а не выключается и не включается через 2 секунды. что означает, что я все еще не в режиме AT.

но дело в том, что я следовал Instructables и другим учебникам веб-сайта. Я ДОЛЖЕН быть в состоянии быть в режиме AT. я не совсем уверен, почему я до сих пор не в режиме AT. Итак, попробовал кое-что:

проводка/схема все та же. но добавь кое-что: Я взял другой провод, соединил EN Pin HC-05 -> 5В Ардуино. так как несколько дней назад я пытался починить свой HC-05 здесь и там, и я помню, что я пытался поставить EN на 5V, после чего он начал мигать по-другому. так что я попробовал то же самое сегодня. затем я вернулся и забыл о сопряженном устройстве, подключил свой Arduino к моему ноутбуку, затем повторно загрузил свой код, затем перешел к Serial.Monitor 9600, установленному Без конечной строки -> Оба NL & КР. затем я повторно ввожу AT-команды.

AT+NAME? затем AT, затем AT+PSWD? все работало. AT+Name показывает имя моего HC-05, а AT+PSWD показывает пароль. и тогда я решил, наконец, переименовать свой HC-05. AT+NAME=USER_FAIZ и AT+PSWD=ARDUINO по отдельности в Serial Monitor... и теперь мой HC-05 имеет другое имя, которое USER_FAIZ и пароль ARDUINO. Затем я пошел к своему телефону, просканировал устройство Bluetooth и вот оно. USER_FAIZ и пароль ARDUINO.

^^что я не совсем уверен, если это решение, которое я ищу. Я снова просмотрел некоторые учебники, но ни в одном из них не упоминается использование EN Pin, и в большинстве из них используется STATE Pin из HC-05. Поэтому я не буду «Проверять». этот ответ, поскольку, возможно, это не лучшее решение. может просто еще нет. но это решило МОЮ проблему, так что это может решить и проблему других пользователей, поэтому я добавлю ее сюда, чтобы сообщить.

,

пожалуйста, не публикуйте изображения текста ... некоторые люди не могут просматривать изображения ... скопируйте содержимое последовательного монитора и вставьте его в свой ответ ... в последовательном мониторе есть кнопка для функции копирования ... отформатируйте текст как код, @jsotola

вместо этого я удалил фото. просто пример скриншота/визуализации моего решения, и я закрыл свою IDE несколько часов назад, поэтому сейчас не могу скопировать его обратно. я все равно записал результат, и тот факт, что он показывает правильный ответ, такой как имя и пароль модуля Bluetooth, написан в любом случае, поэтому это не повлияет на то, оставлю ли я его там или нет. в любом случае, смысл есть, и теперь он работает по назначению. буду следить за тем, что вы только что сказали, в следующий раз, если я сделаю пост здесь *палец вверх*, @Dreac Leoson