Bluetooth HC-06 come testarlo

Salve a tutti,
dopo anni a notare le mirabolanti possibilità offerte dalla arduino ho deciso di acquistare la UNO e inziare subito a cimentarmi in un progetto… per adesso ero interessato a realizzare un semplice interruttore bluetooth, leggendo diversi topic ho quindi proceduto ad acquistare il modulo radio HC-06.
Da bravo neofita ho però incontrato subito dei problemi non riuscendo a testare il funzionamento della scheda bluetooth, ora non so se sbaglio qualcosa o la scheda forse non va bene.

Ho collegato il modulo con questo schema:
Schema

E caricato il seguente sketch trovato in un tutorial, che permette di verificare il collegamento e trasmettere diversi comandi.

    #include <SoftwareSerial.h>
    int rxPin = 2;
    int txPin = 3;
    SoftwareSerial bluetooth(rxPin, txPin);
    void setup()
    {
      Serial.begin(9600);
      bluetooth.begin(9600);
      Serial.println("Comunicazione inizializzata, Lista comandi per modulo HC-06:");
      Serial.println("AT              Se la comunicazione funziona il modulo risponde OK");
      Serial.println("AT+VERSION      Restituisce la versione del firmware");
      Serial.println("AT+BAUDx        Imposta il Baudrate, al posto di x mettere 1 per 1200 bps, 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200, 9=230400, A=460800, B=921600, C=1382400");
      Serial.println("AT+NAMEstring   Al posto di string mettere il nome che vuoi dare al modulo (massimo 20 caratteri)");
      Serial.println("AT+PINxxxx      Imposta il pincode del modulo bluetooth (es.1234)");
    }
    void loop()
    {
      if (bluetooth.available())
      {  
        Serial.write(bluetooth.read());
      }
      if (Serial.available())
      {
        bluetooth.write(Serial.read());
      }
    }

Caricato lo sketch, apro il modulo seriale dall’IDE vedo i comandi ma sembra che nessun comando scritto reagisca… Noto inoltre che sul modulo bluetooth nessun led è acceso, dovrebbe accendersi subito qualcosa quando alimento l’arduino? Potrebbe essere l’HC-06 guasta?

Grazie mille

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento se non lo hai già fatto: Regolamento Qui una serie di link utili, non inerenti al tuo problema: - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

Devi leggere la risposta subito dopo ogni comando ... ... non puoi dare tutti i comandi assieme e sperare di ricevere tutte le risposte. Inoltre il buffer della SoftwareSerial è limitato !

Guglielmo

Dal modulo seriale vedo tutti i comandi (lo sketch crea una sorta di menu), ma io provo ad inserirne uno soltanto, precisamente il comando "AT" Il problema è che non succede nulla, non ricevo nessun "ok" che mi confermi la connessione... Sbaglio io qualcosa? E' lo sketch che non va bene? Il tutorial che ho seguito dice di caricarlo così com'è e dopo inserire uno dei comandi nel modulo seriale

Guarda, questo programmino funziona al 100% (è un semplice eco da/verso seriale) …

// *****************************************************
//
//         Bluetooth serial communication test
//              Bluetooth <--> USB_Serial
//
// *****************************************************

#include <SoftwareSerial.h>

#define  BT_RX 10            // PIN to receive from bluetooth
#define  BT_TX 11            // PIN TO transmit to bluetooth

SoftwareSerial btSerial(BT_RX, BT_TX);

void setup()
{
 delay (1000);
 //
 Serial.begin(9600);        // Initialize USB Serial port
 //
 btSerial.begin(9600);      // Initialize Bluetooth SoftwareSerial port for selected data speed
 Serial.println("--- Ports ready ---");
 Serial.println("");
 //
}

void loop()
{
 if (btSerial.available() > 0) Serial.write(btSerial.read());
 if (Serial.available() > 0) btSerial.write(Serial.read());
}

… prevede che colleghi i pin del bluetooth così:

Bluetooth TX ----> Arduino pin 10 (RX)
Bluetooth RX <---- Arduino pin 11 (TX)

Quello che scrivi sul monitor seriale esce sul bluetooth, quello che arriva dal bluetooth lo vedi sul monitor seriale.

Guglielmo

Prima di tutto grazie, ho collegato tutto come mi hai indicato e caricato lo skatch Mi sembra comunque che non funzioni... Sul modulo bluetooth non ci sono led accesi e se dal monitor seriale invio il comando AT o AT+VERSION non ricevo alcuna risposta.

Perdonami se sbaglio qualcosa è la prima volta che metto le mani su arduino, forse ho sbagliato ad acquistare la scheda bluetooth su ebay era indicata come HC-06 ma da alcune immagini mi sembra diversa, la mia ha questo aspetto: Immagine

Ecco purtroppo cosa accade a voler risparmiare troppo ed a non leggere bene le specifiche ... :confused:

Quello NON è un modulo bluetooth HC-06, quella è la schedina VUOTA dove si saldano i moduli HC-06 se li compri sciolti, ovvero così : Tu invece devi comprare la schedina con sopra il modulo già saldato ovvero così

Guglielmo

Ecco svelato l'arcano, visto che era pubblicizzato come modulo bluetooth hc-06 senza null'altro aggiunto fortunatamente potrò farmelo rimborsare...

Grazie, procederò ad acquistarne uno "assemblato", quello postato da te nell'immagine sarebbe la parte da saldare sulla mia schedina giusto? Nel caso lo trovo già completo con collegamenti e tutto deve essere "slave"?

Grazie ancora

Guarda, primo compra da un negozio serio, secondo, per pochissimo di più, prendi un HC-05 che può essere usato sia come SLAVE che, un domani ti servisse, come MASTER e terzo prendilo 5V tolerant (ricorda che i moduli HC-XX nascono a 3.3V e quindi, sulla basetta, ci deve essere l'elettronica che fa le conversioni) ... QUI sono soddisfatti tutti i requisiti che ti ho indicato (Gaetano, EBM, è uno affidabile) ;)

Guglielmo