Erreur Module bluetooth HC-05

ca te l'écrit au moniteur.

c'est ce que fait le prg

maintenant, à toi de faire un prg qui lit "10" ou "6" ou "1" et qui allume la led 1 ou 6 ou 10 ou qui fait n'importe quoi d'autre

par rapport au post #12

  • vous avez effectué quelles étapes ?
  • quel programme tourne sur votre arduino ?
  • quel est l'état des différentes pins du module ?

Je vous explique de A à Z
Donc, je pris mon Module HC-05

  • je l'ai brancher sur du 5V après
  • j'ai pris le RX et je l'ai mis sur TX3
  • j'ai pris le TX et je l'ai mis sur RX3

donc mon module clignote rapidement,
Je le connecte à mon téléphone avec le mot de passe "1234" tout se passe bien,
après j'ai lançer mon application sa se connecte bien
Mais quand j'envoie quelque chose à mon module bluetooth depuis l'application je ne reçois rien sur la console arduino

Tu as quoi comme programme sur l'arduino?
Comme expliqué plus haut il est conseillé d'avoir un diviseur de tension sur le rx du module.

J'ai sa comme code :

Apex142:
char c;
String messageRecu;

void setup() {
Serial.begin(9600);
Serial1.begin(9600); //liaison bluetooth
}

void loop()
{
Serial.println(messageRecu);
while ( Serial1.available()>0)//lecture buffer si reçu commande en bluetooth
{
delay(3);
c = Serial1.read();
messageRecu += c;
Serial.print("message Recu sur Serial1 ");Serial.print(messageRecu);Serial.print(" et dernier C recu ");Serial.println(c);
}

messageRecu="";
}

tu ne réponds pas aux questions !

tu es bien avec une méga 2560 ?

si oui tu es bien branché en 18 et 19 ?

si oui, c'est le Serial 1 et pas le 3

le prg ouvre le Sérial 1.

tu affiches bien un "10" sur le moniteur lorsque tu envoies un 10 avec ton téléphone.?

cela fait 4 questions, s'il te plait donnes 4 réponses

et n'oublies pas de mettre un pont diviseur 1K/2K sur RX du HC05

SA FONCTIONNE !
C'est à dire quand j'envoie un message de mon téléphone au module sa écrit "message Recu sur Serial1 ⸮ et dernier C recu ⸮
"

Mais sa m'envoie pas le message que j'ai envoyer sa me met un "⸮"

et si dans le prg tu remplaces

messageRecu += c;

par

messageRecu += (c-48);

quand je met 10 sur mon téléphone,
sa m'affiche "message Recu sur Serial1 -63 et dernier C recu ⸮" sur la console arduino

allez, un dernier essai ( je viens de tester chez moi, il fonctionne

avec un HC05 et une mega 2560 le moniteur en 9600 bauds

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);  //liaison bluetooth
}

void loop() 
{
  
    if (Serial1.available()) {
        Serial.write(Serial1.read());
    }
   

}

Non sa m'affiche sa :
"⸮"
et en plus quand j'utilise une autre application que S2 Terminal for Bluetooth sa me dit "Unable to connect device"

lisez la seconde partie de ce tuto (en anglais)

Sa me met encore "⸮"
Que faire s'il vous plait

Ça met des "⸮⸮⸮⸮" où ?
Dans la console ? Si oui à quelle vitesse est elle réglée ?

sa met ⸮ dans la cosole,
elle est réglée à delay(3);
mais le problème c'est quand j'envoie un message au bluetooth, le bluetooth m'écrit "⸮"

?

  • delay(3) ça ne veut rien dire... je ne sais pas pourquoi vous nous parlez de delay(3) ==> un code qui gère le port série ne devrait JAMAIS avoir de delay() du tout
  • Je n'ai pas vu les 4 réponses demandées au post #25
  • On ne sait pas quel code vous utilisez sur votre arduino (celui du post #29 n'a pas de delay)
  • on ne sait plus qui est connecté à quoi

Soyez un peu précis si vous voulez de l'aide SVP, faites votre part du boulot avec rigueur, répondez à ces questions en décrivant maintenant l'état exact de votre système.

Pour ma question:

Votre console série arduino a un petit pop up en bas qui dit affiche un certain nombre de bauds (9600, 19200, 38400,...) - est ce que cette valeur correspond ce que vous avez dans le Serial.begin([color=blue]xxxx[/color]); de votre programme arduino ? Si ça ne correspond pas votre pc ne comprend pas ce que lui dit l'Arduino et affichera des Caractères louches

Plus de réponse tant que les points en début de ce post ne sont pas documentés

eh oui, il y avait encore cette possibilité

bien vu

Je suis bien sur une mega,
J'ai bien mis RX sur TX1 18 et TX sur RX1 19
J'affiche bien "10" tel

char c;                      
String messageRecu;

void setup() {
  Serial.begin(9600);
  Serial1.begin(9600);  //liaison bluetooth
}

void loop() 
{
  Serial.println(messageRecu);
  while ( Serial1.available()>0)//lecture buffer si reçu commande en bluetooth
        {
          delay(3);
          c = Serial1.read();       
          messageRecu += c;
          Serial.print("message Recu sur Serial1 ");Serial.print(messageRecu);Serial.print("     et dernier C recu ");Serial.println(c);
        }

messageRecu="";
}

Tout ça je l'ai déjà fait,
Vous avez pas un autre moyen de contact plus rapide, pour que je répond au question plus rapidement comme skype, discord, ou autre,

Tout marche bien maintenant,

En fait, cette vraiment un problème de bauds,

Le module bluetooth était configuré en 38400 bauds, mais il fallait le modifier obligatoirement dans le mode AT à 9600 bauds pour que la console Arduino détecte le texte envoyé depuis le téléphone,

Donc, il faut mettre 9600 bauds des deux côté, c'est-à-dire sur la console Arduino et sur le module Bluetooth (HC-05).

Pour changer les bauds du module bluetooth (HC-05) il faut rentrer dans le mode AT la commande suivante :

"AT+UART=9600,0,0.

Si vous voulez savoir les bauds actuels de votre module bluetooth, vous devez rentrer cette commande suivante:

"AT+UART?"

Merci de votre aide !
Et j'espère avoir aidé les personnes qui sont dans le même cas que moi !