Modulo HC-06 non risponde a comandi AT

Buongiorno, ho da poco ricevuto un modulo bluetooth HC-06, ma nonostante io abbia usato sia le porte seriali fisiche sia quelle create con SoftwareSerial non risponde a qualsiasi comando AT.

Come "ponte" uso un Arduino Uno, non avendo un USB to TTL :confused:

Come baudrate ho impostato sul seriale 9600 con nessun fine riga. La cosa strana è che si connette al mio cellulare Android (so che vi è l'incompatibilità Ifogna), ho provato anche a usare questo sketch, che dovrebbe ripetermi quelo che gli scrivo in terminale, ma mi risponde con lettere e simboli casuali (segno solitamente di errato baudrate)

String message; 

void setup()
{
  Serial.begin(9600); //set baud rate
}

void loop()
{
  while(Serial.available())
  {//while there is data available on the serial monitor
    message+=char(Serial.read());//store string from serial command
  }
  if(!Serial.available())
  {
    if(message!="")
    {//if data is available
      Serial.println(message); //show the data
      message=""; //clear the data
    }
  }
  delay(5000); //delay
}

Helpatemi pleaze

EDIT: Ho riavviato per la centesima volta e lo sketch sopra di eco funziona!

Ciao,

sei hai un arduino UNO usa questo sketch:

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX | TX

void setup()
{
  pinMode(9, OUTPUT);  // ***
  digitalWrite(9, HIGH);
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(38400);  // HC-05 default speed in AT command more
}

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());
}

attenzione a dove ho messo i *** ; se il tuo HC-06 ha il pin KEY esposto (uno dei 6 o 4) lo devi connetere li...se non hai il pin KEY non ha significato; in questo ultimo caso se hai il micro bottone devi tenerlo premuto prima di connettere i 5 volt al pin Vcc; se non hai nemmeno il micro bottone devi collegare il pin 9 di arduino (secondo lo sketch) al pin 34 del modulo HC-06.
Il pin 34 del modulo, tenendo questo con quella specie di onda quadra (antenna) verso l'alto, è la microsaldatura in alto a destra.

Attenzione che il modulo di solito ha baud rate 38400 di default e devi user il .write() per inviare comandi non il print().

Almeno io ho fatto così per il mio HC-05.

ORSO2001:
Ciao,

sei hai un arduino UNO usa questo sketch:

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX | TX

void setup()
{
  pinMode(9, OUTPUT);  // ***
  digitalWrite(9, HIGH);
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(38400);  // HC-05 default speed in AT command more
}

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());
}




attenzione a dove ho messo i *** ; se il tuo HC-06 ha il pin KEY esposto (uno dei 6 o 4) lo devi connetere li...se non hai il pin KEY non ha significato; in questo ultimo caso se hai il micro bottone devi tenerlo premuto prima di connettere i 5 volt al pin Vcc; se non hai nemmeno il micro bottone devi collegare il pin 9 di arduino (secondo lo sketch) al pin 34 del modulo HC-06.
Il pin 34 del modulo, tenendo questo con quella specie di onda quadra (antenna) verso l'alto, è la microsaldatura in alto a destra.

Attenzione che il modulo di solito ha baud rate 38400 di default e devi user il .write() per inviare comandi non il print().

Almeno io ho fatto così per il mio HC-05.

Grazie mille per la risposta tempestiva! Facendo una ricerca su internet ho scoperto che l'HC-06 dovrebbe essere gia programmato per l'AT Mode. è comunque possibile che il baudrateche mi hai indicato sia quello giusto.

Ora faccio delle prove con lo sketch che mi hai scritto e ti dico.

Grazie ancora!

Purtroppo non succede nulla, apparte la scritta "Enter AT commands". Ho scoperto però che quando uso il programma di eco che ho scritto nel primo post se collego tutto al pc, apro il monitor seriale e invio una qualsiasi parola con il monitor bluetooth, la parola mi compare casuale sia sul monitor seriale sia s quello bluetooth.

Questo non succede quando provo a far partire arduino da powerbank esterno: Apro il seriale bluetooth, mi connetto, mando un messaggio e Boom, mi viene risposto con la stessa parola.

Probabilmente succede ciò per un interferenza tra monitor seriale e bluetooth.

ciao,

quando tenti di connetterti con l'HC-06 il suo LED di stato come si comporta? ..blink veloce, lento...altro?

hai il micro bottone nel modulo?

mmm ... se ricordo bene la procedura per i comandi AT negli HC-06 è DIVERSA da quella degli HC-05 (che state descrivendo) ...
... allegato il datasheet del HC-06 ... studiatevi bene il cap. 9 !

Guglielmo

HC-06 datasheet 201104 revised.pdf (757 KB)

Allora...chiedo scusa per le info NON correte che ho dato...sto "studiando" ora l'argomento e ne ho lette tante ed ho sicuramente fatto confusione...il KEY del HC-05 è il 34 mentre dell'HC-06 è il 26.
L'HC-06 può "gestire" i comandi AT solo se NON già accoppiato ad altro dispositivo BT...e dovrebbe andare in automatico in AT mode quando, appunto, non accopiato.
Ovviamente i comandi sono ridotti rispetto all'HC-05.

Molto probabilmente, lo dico per me, la confusione mi è nata leggendo che di HC-06 c'è sia in versione slave che master...

ORSO2001:
... L'HC-06 può "gestire" i comandi AT solo se NON già accoppiato ad altro dispositivo BT...e dovrebbe andare in automatico in AT mode quando, appunto, non accopiato ...

... non solo , ma devi spedirgli "AT" entro 1 secondo dall'alimentazione e devi continuare a trasmettergli AT con periodo massimo di 1 secondo per mantenerlo in modalità AT ! (... stando al datasheet. Come ho già detto in altre discussioni, io non li uso, trovo molto più comodi e flessibili gli HC-05).

Guglielmo