Padroneggia il modulo Bluetooth HC-05 con la programmazione Arduino

Indice

HC-05 Bluetooth Module

Introduzione al modulo Bluetooth HC-05

Il modulo Bluetooth HC-05 è un modulo wireless a basso consumo utilizzato per la comunicazione wireless tra due dispositivi. Opera nella banda ISM a 2,4 GHz e può essere utilizzato per trasferire dati e segnali di controllo. È ampiamente utilizzato nella robotica, nell’automazione domestica e in altri dispositivi elettronici di consumo. Ha un semplice protocollo di porta seriale e può essere utilizzato per connettere dispositivi come smartphone, tablet e computer tra loro. Può anche essere utilizzato per connettere dispositivi a una rete Wi-Fi domestica. Un esempio sarebbe l’utilizzo del modulo Bluetooth HC-05 per connettere uno smartphone a un braccio robotico, consentendo all’utente di controllare il braccio robotico con il proprio smartphone.

Configurazione dei pin

Il modulo Bluetooth HC-05 è un modulo Bluetooth popolare che può aggiungere funzionalità wireless bidirezionale ai tuoi progetti. Ha 6 pin: Key, Vcc, GND, TXD, RXD, State.
Questi pin vengono utilizzati per inviare dati da un dispositivo all’altro. Ha anche un pin di abilitazione che consente di passare dalla modalità comando alla modalità dati. Il pin Key/EN deve essere alto per operare in modalità comando e basso per operare in modalità dati. Inoltre, i pin Vcc e Ground vengono utilizzati per alimentare il modulo, con +5V dalla tensione di alimentazione. Con questi pin, HC-05 può essere utilizzato per una varietà di applicazioni, come la registrazione dati, applicazioni di consumo e robot wireless

HC 05 Bluetooth Module Circuit%20Connections

Schema circuitale

Per connettere il modulo Bluetooth HC-05 con Arduino, è necessario uno schema circuitale. Lo schema circuitale del collegamento tra il modulo Bluetooth HC-05 e Arduino è piuttosto semplice e facile da capire. È costituito dal modulo Bluetooth HC-05, dalla scheda Arduino Uno, dalla breadboard e dai cavi jumper.

60880abf5482cf6f149ca193552528ebdf1f92a4

Come programmare il modulo Bluetooth con Arduino?

In questo post, utilizziamo la scheda Arduino UNO per programmare il modulo Bluetooth HC-05. Generalmente, ci sono due passaggi necessari:

  • Impostazione della modalità AT sul modulo Bluetooth
  • Programmazione e debug

Impostazione della modalità AT sul modulo Bluetooth HC-05

Lo scopo della modalità AT è modificare i parametri originali del modulo Bluetooth HC-05. I parametri di base includono principalmente: nome Bluetooth, modalità e password di associazione, ecc. Naturalmente, ci sono due modi per impostare la modalità AT sul modulo Bluetooth:

  1. Utilizzo di USB-TTL e software di debug della porta seriale
  2. Utilizzo di Arduino e modulo Bluetooth

Qui introduciamo principalmente il secondo metodo.

1). Preparazione dei materiali:

  • ArduinoUNO * 1
  • Modulo seriale Bluetooth HC-05 *1
  • Mini luce LED *1
  • Linea Dupont *4

2). Collegamento del modulo Bluetooth con Arduino UNO:

Per impostare la modalità AT sul modulo Bluetooth, è necessario collegare correttamente i cavi alla scheda Arduino UNO:

  • Arduino 5V – VCC
  • Arduino GND – GND
  • Arduino Pin10 – TXD
  • Arduino Pin11 – RXD

Ricorda di controllare il collegamento del circuito prima di accendere, ed evitare cortocircuiti dei pin.

Connect the Arduino UNO board and HC-05 bluetooth module

3). Scrittura del codice Arduino UNO per il modulo Bluetooth:

Successivamente, dobbiamo scrivere un codice programma per il modulo Bluetooth HC-05 su Arduino IDE. Questo programma ci consente di configurare il modulo Bluetooth tramite il monitor seriale su Arduino IDE. Il codice è il seguente:

				
					#include <SoftwareSerial.h> 

// Pin10-RX,connectting the TXD of HC05
// Pin11-TX,connectting the RXD of HC05

SoftwareSerial BT(10, 11); 
char val;
void setup() {
  Serial.begin(38400); 
  Serial.println("BT is ready!");

  // HC-05 default,38400

  BT.begin(38400);
}
void loop() {
  if (Serial.available()) {
    val = Serial.read();
    BT.print(val);
  }
  if (BT.available()) {
    val = BT.read();
    Serial.print(val);
  }
}
				
			

4). Debug del codice con il monitor seriale Arduino IDE:

Innanzitutto, spegni l’Arduino UNO, quindi tieni premuto il pulsante nero sul modulo Bluetooth e quindi accendi l’Arduino.

Se la spia del modulo Bluetooth lampeggia a una frequenza di 2 secondi, significa che il modulo Bluetooth è entrato correttamente in modalità AT.

Apri il monitor seriale dell’IDE di Arduino e seleziona la porta corretta. Imposta il formato di output su Both: NL & CR e la velocità di trasmissione a 38400 e potrai vedere il messaggio BT is ready! visualizzato sul monitor seriale.

Quindi, inserisci AT, se tutto è normale, il monitor seriale visualizzerà OK.

Open Serial Monitor of Arduino IDE

5). Impostazione dei comandi AT per il modulo Bluetooth:

Una volta che il modulo Bluetooth è entrato correttamente in modalità AT, possiamo aggiungere comandi AT ad esso. I comandi AT comuni sono i seguenti:

				
					AT                  // check if the module is responding
AT+NAME             // set or get the name of the device
AT+ADDR             // get the Bluetooth address of the module
AT+ROLE             // set or get the role of the module
AT+PSWD             // set or get the password of the device
AT+UART             // set or get the UART interface settings
AT+RESET            // reset the module

				
			

In circostanze normali, dopo l’invio del comando, restituirà OK. Se non vengono restituite informazioni, controlla se il cablaggio è corretto e se il modulo Bluetooth è entrato in modalità AT.

Dopo aver impostato il comando AT, riavvia l’alimentazione. A questo punto, la spia del modulo Bluetooth lampeggerà rapidamente, indicando che il modulo Bluetooth è entrato nella modalità di lavoro normale.

Programmazione e debug

Dopo aver completato la configurazione AT del modulo Bluetooth, possiamo iniziare a programmare esperimenti su di esso. In questo esperimento, creeremo un programma che gli consenta di controllare l’effetto dell’interruttore della luce LED sulla scheda Arduino UNO tramite il telefono cellulare.

1). Progettazione del circuito Arduino:

La progettazione del circuito qui è relativamente semplice, principalmente in due parti:

  • Connessione Arduino e modulo HC05
  • Connessione Arduino e LED

Ci sono due punti da notare qui, il TXD sull’Arduino deve essere collegato al terminale RXD sul modulo HC05 e il RXD sull’Arduino deve essere collegato al TXD sul modulo HC05. Nella figura seguente, il mio LED è direttamente collegato al Pin13 di Arduino. Ma in realtà, dovresti considerare se è necessaria una resistenza di serie in base al design della luce LED.

Connect the Arduino UNO board and LED light

2). Aggiunta del codice del programma alla scheda Arduino UNO:

Il codice lampeggiante del led è il seguente:

				
					void setup()

{
  // Set the baud rate to 38400

  Serial.begin(38400);
  pinMode(13, OUTPUT);
}
void loop()
{
  while(Serial.available())
  {
    char c=Serial.read();
      if(c=='1')
      {
        Serial.println("BT is ready!");
        
        // Return to the phone debugging program

        Serial.write("Serial--13--high");
        digitalWrite(13, HIGH);
      }
     if(c=='2')
     {
       Serial.write("Serial--13--low");
       digitalWrite(13, LOW);
     }
  }
}
				
			

3). Debug del programma sul cellulare:

Installazione del software di debug della porta seriale Bluetooth:

Il modulo della porta seriale Bluetooth si basa sul protocollo SPP (Serial PortProfile), un dispositivo in grado di creare una porta seriale tra dispositivi Bluetooth per la trasmissione dei dati e ampiamente utilizzato nei dispositivi elettronici con funzioni Bluetooth. Esistono diversi software di debug della porta seriale Bluetooth sul lato Android e sul lato IOS.

Debug del programma LED Blink:

Dopo aver scaricato e installato il software, apriamo prima le impostazioni Bluetooth del telefono cellulare, cerchiamo e connettiamoci con il modulo Bluetooth. Quindi apri il software di debug della porta seriale Bluetooth, lascialo connettersi al modulo Bluetooth. Ora possiamo inserire i seguenti comandi di debug nel software e vedere effetti diversi:

  • “1” – la luce LED è accesa, restituisce Serial–13–high nel software di debug.
  • “2” – LED spento, torna a Serial–13–low nel software di debug.

Conclusione

In questo articolo, dovresti essere in grado di apprendere le conoscenze di base e i passaggi importanti per la programmazione del modulo Bluetooth HC05 in Arduino.

Iscriviti

Unisciti alla nostra lista di iscritti per ricevere aggiornamenti mensili sul blog, notizie tecnologiche, casi di studio. Non invieremo mai spam e potrai annullare l’iscrizione in qualsiasi momento.

Informazioni sull'autore

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Hai bisogno di aiuto?

Torna in alto

Instant Quote