Yo recientemente recibí un modulo de estos, para ser exactos el MC-05 ZS-040 y no se si funciona exactamente igual que los demás.
Hasta ahora no le he dado ningún uso ya que sigo investigando como funciona. Y por el momento, tras mucho buscar por san gugel, encontré un post que indica 4 formas de entrar en modo AT.
información extraída de este enlace:
http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/La forma mas simple de entrar en modo AT es mantener pulsado el botón del modulo antes de darle corriente, sin embargo, no vas a mantener pulsado siempre el botón, cierto? por lo que el modulo pasa a modo AT Mini.
Esta opción puede ser útil para configurar ciertos parámetros, pero es un modo muy limitado, por lo que decido seguir investigando.
Tras probar de darle 3.3v al pin KEY antes de suministrarle corriente al modulo, con intención de entrar de esta forma en modo AT, al final me vi forzado a soldar un cable a mi modulo MC-05 en su pin 34, tal y como se indica en la pagina de antes, para forzar de esta manera el modo AT.
De esta forma conseguí mi propósito de entrar en el modo AT Full sin necesidad de pulsar el botón del modulo.
el codigo seria el siguiente:
#include <SoftwareSerial.h>
#define BT_RT 10
#define BT_TX 11
#define BTVCC 12
#define BTKEY 13
SoftwareSerial Bluetooth(BT_TX, BT_RT); // RX, TX
void setup() {
Serial.begin(9600);
pinMode(BTVCC, OUTPUT); // Marca el PIN de alimentacion para el HC-05 como salida
pinMode(BTKEY, OUTPUT); // Marca el PIN del modo AT para el HC-05 como salida
digitalWrite(BTKEY, HIGH); // Activa el modo AT Full
delay (500) ; // Espera antes de encender el modulo
Serial.println("Alimentando el modulo HC-05");
digitalWrite (BTVCC, HIGH); // Enciende el modulo
//delay(600); digitalWrite (BTKEY, LOW); // Cambia al modo AT Mini
Serial.println("Esperando comandos AT:");
Bluetooth.begin(38400);
}
void loop(){
if (Bluetooth.available()){ Serial.write(Bluetooth.read()); }
if (Serial.available()){ Bluetooth.write(Serial.read()); }
}
Si os fijáis, he tenido que invertir RX por TX en la llamada Bluetooth()
Mi duda es, si yo puse un puente reductor de voltaje tal y como se muestra en guia, al invertir RX por TX, debería también corregir el puente corrector?
Supongo que si, pero no termino de comprender que mi modulo tenga pintados de forma invertida los puertos de entrada y salida