Ho risolto!!!
In pratica ho cambiato il modo operativo dell'antenna, l'ho passata da SLAVE a SLAVE-LOOPBACK con questo codice:
#include <NewSoftSerial.h>
int pinRX = 6;
int pinTX = 5;
int pinAT = 8;
NewSoftSerial blue(pinRX, pinTX);
int pinLed = 13;
void commandAT(char *v)
{
int i=0;
while(v[i] != '\n')
{
blue.print(v[i]);
i++;
}
blue.print('\n');
}
void readResponse()
{
int a = blue.available();
Serial.print("Caratteri disponibili: ");
Serial.println(a);
if(a > 0){
for(int i=0; i < a; i++){
char data = (char)blue.read();
Serial.print(data);
delay(100);
}
}
}
void setup()
{
blue.begin(38400);
Serial.begin(9600);
Serial.println("Inizializzo sistema...");
pinMode(pinLed, OUTPUT);
pinMode(pinAT, OUTPUT);
//Valore ALTO per switchare in modalità AT
// il 34 sull'antenna
digitalWrite(pinAT, HIGH);
Serial.println("pinAT attivo");
//Comando AT da inviare
char s[] = "AT+ROLE=2\r\n";
Serial.print("Scrivo comando: ");
Serial.print(s);
delay(50);
//Invio comando all'antenna
commandAT(s);
delay(50);
//Leggo la risposta
readResponse();
}
void loop()
{
}
Ora si riescono a leggere anche le risposte, bisogna che l'antenna sia connessa con qualche dispositivo via bluetooth, non basta la seriale di Arduino.
Ho fatto in questo modo:
Arduino <---> Modulo BT <----> MacBook PRO BT (connessione con minicom)
e magicamente il monitor seriale di Arduino stampa anche le risposte!!!