Carte bluetooth HC-06 avec ard

Bonsoir,

Je souhaite commander une voiture télécommandée grâce à une carte bluetooth HC-06.

J’ai branché la sortie VCC sur 5V de mon arduino, la sortie GND sur la masse, la sortie TXD sur RX0 de mon arduino et la sortie RXD sur TX0.

Pourtant j’aimerai faire fonctionner les commandes AT.

Lorsque j’écris mes commandes, elles n’apparaissent pas sur la console ce qui signifie que la carte bluetooth ne reçoit pas ce que j’écris sur mon ordinateur.

Voici le code:

#include <SoftwareSerial.h>  //Software Serial Port 
#define RxD 1   
#define TxD 0  
SoftwareSerial BTSerie(RxD,TxD); 
 
void setup() 
{ 
  Serial.begin(9600);
  delay(500); 
  Serial.println("Bonjour - Pret pour les commandes AT"); 
  BTSerie.begin(9600);
  delay(500); 
 
} 
void loop() 
{ 
  char recvChar; 
  //On lit caractere par caractere sur le BTSerie et on affiche sur le Terminal Serie 
  if (BTSerie.available()) { 
    recvChar = BTSerie.read(); 
    Serial.write(BTSerie.read()); 
  } 
 
  if (Serial.available()) { 
    BTSerie.write(Serial.read()); 
  } 
}

J’ai lu qu’il y avait un problème entre la carte MEGA et le module Bluetooth HC-06 cependant je désespère.
Par ailleurs, j’arrive à me connecter depuis mon téléphone au module Bluetooth sans problème.

Merci par avance.

if you are using an arduino mega change this line of code while(Serial.available()); to while(Serial.available()>0); otherwise the code will not work

Hello, it's not working.. I don't understand really...

magicfame:

Lorsque j’écris mes commandes, elles n’apparaissent pas sur la console ce qui signifie que la carte bluetooth ne reçoit pas ce que j’écris sur mon ordinateur.

Voici le code:

#include <SoftwareSerial.h>  //Software Serial Port 

#define RxD 1  
#define TxD 0  
SoftwareSerial BTSerie(RxD,TxD);

void setup()
{
 Serial.begin(9600);
 delay(500);
 Serial.println(“Bonjour - Pret pour les commandes AT”);
 BTSerie.begin(9600);
 delay(500);

}
void loop()
{
 char recvChar;
 //On lit caractere par caractere sur le BTSerie et on affiche sur le Terminal Serie
 if (BTSerie.available()) {
   recvChar = BTSerie.read();
   Serial.write(BTSerie.read());
 }

if (Serial.available()) {
   BTSerie.write(Serial.read());
 }
}




J'ai lu qu'il y avait un problème entre la carte MEGA et le module Bluetooth HC-06 cependant je désespère. 
Par ailleurs, j'arrive à me connecter depuis mon téléphone au module Bluetooth sans problème.

Merci par avance.

Bonjour
Si tu utilise un Mega , c’est inutile d’utiliser software serial.
de plus tu defini ton software serial sur les pin 0 et 1 qui sont les pins de communications entre le serial et l’usb ,.
regarde l’exemple communication multiserialmega
ça fait exactement ce que tu souhaite

Receives from serial port 1, sends to the main serial (Serial 0).

 This example works only on the Arduino Mega

 The circuit:
 * Any serial device attached to Serial port 1
 * Serial monitor open on Serial port 0:

 created 30 Dec. 2008
 modified 20 May 2012
 by Tom Igoe & Jed Roach

 This example code is in the public domain.

 */


void setup() {
  // initialize both serial ports:
  Serial.begin(9600);
  Serial1.begin(9600);
}

void loop() {
  // read from port 1, send to port 0:
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // read from port 0, send to port 1:
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }
}

Bonjour, j'ai utilisé ton code en branchant de cette manière :

J'ai laissé le fil KEY dans le vide.

Lorsque j'écris mes commandes AT, AT+NAME, ... rien n'apparait dans la console.

Pourtant lorsque je relis KEY à la masse, et que je me connecte en bluetooth avec mon smartphone et que j'écris un message, je reçois un petit carré sur l'autre appareil..

inverse tx et rx

Ah je me suis trompé sur le schéma, RXc est déjà sur TX1 et TXc sur RX1..
Pourtant ça ne marche toujours pas, comme si le message était crypté..
C'est frustrant, le message passe mais pas de façon lisible

magicfame:
Ah je me suis trompé sur le schéma, RXc est déjà sur TX1 et TXc sur RX1..
Pourtant ça ne marche toujours pas, comme si le message était crypté..
C'est frustrant, le message passe mais pas de façon lisible

Alors reste avec ce cabalage et modifie la vitesse des ports series dans le programme
ton monitor serie est bien réglé à 9600 ?
si c'est illisible c'est surement une mauvaise vitesse.
au lieu de 9600 , essaie 19200,38400,57600,115200

Merci beaucoup, LOVE U <3 Il fallait régler à 115200