Problème Arduino Bluetooth.

clashart - Modifié le 14 mai 2024 à 12:51
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 - 15 mai 2024 à 11:03

Bonjour,

J'ai un problème avec ma carte Arduino Bluetooth. J'ai un projet à faire dans lequel j'ai besoin d'une communication Bluetooth entre l'application sur mon téléphone et ma carte Arduino (pour faire tourner des moteurs).

Voici mon programme:

#include <SoftwareSerial.h>
#define RX 2
#define TX 3
#define bouton 8

#define DEBUG_ENABLED  1
boolean etat;

const int enableBridge1 = 2;
const int MotorForward1 = 3;
const int MotorReverse1 = 5;
char caracter;

SoftwareSerial Bluetooth(RX,TX);

int Power = 80;

void setup() {
      Serial.begin(9600);
      pinMode(bouton,INPUT);
      Init_Bluetooth();
      pinMode(MotorForward1,OUTPUT);
      pinMode(MotorReverse1,OUTPUT);
      pinMode(enableBridge1,OUTPUT);
}

void loop() {
    // la variable etat prend la valeur de l'entrée bouton
    etat = digitalRead(bouton);
    // on écrit dans le moniteur série
    Serial.print("Le bouton est ");
    if (etat == HIGH) {
        // si etat est au niveau bas (bouton actif)
        // on écrit dans le moniteur série et on va à la ligne
        Serial.println("actif");               
    } else {
        Serial.println("inactif");
    }
    // on envoie sur la liaison Bluetooth la valeur de la variable etat
    Bluetooth.print(etat);
    delay(10);
    digitalWrite(enableBridge1,HIGH);
    if (Serial.available()) {
        caracter = Serial.read();
        if (caracter == 'a') {
            analogWrite(MotorReverse1, 0);
            analogWrite(MotorForward1, Power);
            delay(2000);
        }
        if (caracter == 'b') {
            analogWrite(MotorForward1, 0);
            analogWrite(MotorReverse1, Power);
            delay(3000);
        }
    }
}

void Init_Bluetooth() {
     // initialisation de la liaison à 9600 bauds
    Bluetooth.begin(9600);
     // test de la communication
    Bluetooth.print("AT");
    delay(400);
     // remise en configuration d'origine du module
    Bluetooth.print("AT+DEFAULT");
    delay(2000);
     // configuration du nom du module
    Bluetooth.print("AT+NAMEMaitre");
    delay(400);
     // configuration du module en maitre
    Bluetooth.print("AT+ROLEM");
    delay(400);
    Bluetooth.print("AT+AUTH1");            
    delay(400);    
    // réinitialisation de l'adresse du module
    Bluetooth.print("AT+CLEAR"); 
     // on attend que que toutes les données soient transmises
    delay(400);   
    Bluetooth.flush();
}

J'ai utilisé différentes pages que j'ai trouvé. Mon application ne contient pas de problème (normalement). Le problème principal est que je ne trouve pas le nom de mon module Bluetooth dans les appareils disponibles.

Le lien de mon module Bluetooth : https://www.gotronic.fr/art-shield-bluetooth-v2-1-113030019-23080.htm 

Merci de répondre au plus vite.

1 réponse

[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 29 janvier 2025 1 099
15 mai 2024 à 11:03

Salut clashart,

Alors, le langage Arduino ce n'est pas vraiment du C, et sans ton matériel spécifique il nous est impossible de tester ton code.

A partir de la page, dont tu as donné le lien, qui décrit ton matériel, il y a un lien vers cette documentation :

https://wiki.seeedstudio.com/Bluetooth_Shield_V2/

Est-ce que tu suis bien ces indications pour faire fonctionner ton matériel ?

Le code de test qui est proposé ne correspond pas à celui que tu postes.

0