Вот решение, которое в конечном итоге сработало для меня: я использовал эту схему с делителем напряжения:
- В cc -----> 5 В
- GND - -> GND
- D2 ------> Tx
- D3 ------> Rx
В итоге мне пришлось купить Uno, чтобы это сработало, я предполагаю, что мои Nano были в некотором роде неисправны. Затем я использовал следующий код:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); // RX | TX
void setup()
{
Serial.begin(9600);
BTSerial.begin(38400); // HC-05 default speed in AT command more
Serial.println("Enter AT commands:");
}
void loop()
{
// Keep reading from HC-05 and send to Arduino Serial Monitor
if (BTSerial.available()){
Serial.write(BTSerial.read());
}
// Keep reading from Arduino Serial Monitor and send to HC-05
if (Serial.available()){
BTSerial.write(Serial.read());
}
}
Это позволило мне войти в режим AT и также получить ответы.
Одна из проблем заключалась в том, что я использовал контакты Tx и Rx, которые также используются для связи с компьютером, поэтому их нельзя использовать одновременно с H C -05.
Еще одной проблемой была скорость передачи данных: я чередовался между 9600 и 38400 для каждого сообщения, пока не нашел Комбинация, которая сработала, и скорректировала скорость в Serial monitor так, чтобы это имело смысл.
Тогда я смог нормально использовать командный режим.