Module bluetooth HC-05 LED et message impossible

Bonjour,

Je cherche sur internet depuis un long moment comment faire fonctionner mon module bluetooth HC-05, et après avoir trouvé un code qui me permettais de pouvoir allumer une LED avec une application faite sur MIT app inventor 2. Je suis sur arduinoMega2560

Ce que je peux faire:

  • Me connecter au module bluetooth
  • Recevoir les données du module bluetooth

Ce qui me bloque :

  • Impossible d'allumer la LED

Mon code:

#include <SoftwareSerial.h>     // librairie pour creer une nouvelle connexion serie max 9600 baud

#define RxD 14
#define TxD 15                                //TX: Transmission des données sur le PORT 15
#define PinLED 53                             //LED: Connecté au PORT 53
#define LEDON() digitalWrite(PinLED, HIGH)    //Allumer la LED
#define LEDOFF() digitalWrite(PinLED, LOW)    //Eteindre la LED
#define DEBUG_ENABLED 1                       //Configuration bluetooth avec RX et TX
 
SoftwareSerial blueToothSerial(RxD,TxD);      //Variable de réception bluetooth

void setup()
{
  Serial.begin(9600);                         //Ouverture du PORT de communication à 9600 bauds (Bits/s)
  pinMode(RxD, INPUT);                        //Déclaration du PORT de réception Rx en entrée
  pinMode(TxD, OUTPUT);                       //Déclaration du PORT de transmission Tx en sortie
  pinMode(PinLED, OUTPUT);                    //Déclaration de la LED en sortie
  LEDOFF();                                   

  setupBlueToothConnection();                 //Lancement du Bluetooth
}

void loop()
{
  int recvChar;                               

  while(1)                                    //Répéter indéfiniment
  {
    if (blueToothSerial.available())          //Si Bluetooth disponible
    {
      recvChar = blueToothSerial.read();      //Mettre dans "reçu" la donnée
      Serial.print(recvChar);

      if (recvChar == 1)                      //Si reçu = 1
      {
        LEDON();                              //Allumer la LED
      }
      else if (recvChar == 0)                 //Sinon
      {
        LEDOFF();                             //Eteindre la LED
      }
    }
  }
}

void setupBlueToothConnection()
{
  blueToothSerial.begin(9600);                //Fonctionnement sur 9600 bits/s
  
  blueToothSerial.print("AT");
  delay(400);

  blueToothSerial.print("AT+DEFAULT");
  delay(2000);

  blueToothSerial.print("AT+SINTEFF");
  delay(400);

  blueToothSerial.print("AT+PIN1234");
  delay(400);

  blueToothSerial.print("AT+AUTH1");
  delay(400);

  blueToothSerial.flush();
}

Mon câblage a été vérifié par un électricien et un professeur de génie-électrique et il est bon.
J'ai bien Rx : 14 et Tx: 15
Je me suis renseigné sur le faite que je ne pouvais pas me connecter sur toutes les bornes.
J'ai déjà essayé de changer de PORT et de les intervertir mais rien ne marche.

Je ne sais plus quoi faire et pourtant j'arrive très bien à me connecter au module avec mon téléphone (android) mais pas a faire allumer la LED ni a envoyé un message pour l’afficher sur mon ordinateur avec un des autres programmes que j'ai essayé.

La loop, comme son nom l'indique, est exécutée en boucle. Donc ton while (1) ne sert à rien puisque c'est ce que fait la loop naturellement.

Qu'affiche le print sur la console ?
Qu'est-ce que tu utilises pour communiquer avec le module sur ton smartphone ?

Je peux téléverser le programme vers ma carte arduino.

Dans la loop le "Serial.print(recvChar)" permet d'afficher si le signal a reçu 1 ou 0 pour pouvoir allumer la LED. Et rien n'est affiché quand j’exécute le programme.

J'utilise un module bluetooth HC-05 en communication avec un téléphone android (Honor 8x) avec le quel j'ai fait une application sur MIT app inventor 2 utilisant le bluetooth. Je peux me connecter au module mais pas envoyer d'information via mon téléphone vers le module.

Commence par répondre aux questions...

Je suis désolé mais je ne les comprends pas alors

Ok, so frozen ne s'affiche fans la console c'est que ton programme ne passe pas par le Serial.print

Donc qu'il ne reçoit rien dans ta liaison série softwareserial.

Donc probablement que ton code app Inventor n'envoie rien ou que le smartphone et le module Bluetooth ne sont pas appairés.

Je te conseille d'installer l'application serial Bluetooth terminal, si tu es sous Android, et d'essayer de communiquer avec ton arduino avec elle, pour vérifier si la liaison est correcte.