Bonjour j'essaye de crée une voiture télécommandé via mon téléphone en Bluetooth.
Mais lorsque que j'essaye de piloter mes différentes sortie via la console (en enlevant toutes la partie BT du code) cela marche mais lorsque que j'utilise le code ci dessous je recois les donnés BT dans la console mais celle-ci ne sont pas traiter par le programme.
Après plusieurs heure de recherche j'ai pu constituer ce code a l'aide d'internet et de chat GPT
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); // RX, TX
const int IN1 = 5;
const int IN2 = 6;
const int IN3 = 7;
const int IN4 = 8;
void setup() {
// Définir la vitesse de communication Bluetooth (9600 bauds)
BTSerial.begin(9600);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop() {
if (BTSerial.available()) {
char data = BTSerial.read(); // Lire les données depuis le module Bluetooth
// Vérifier s'il s'agit d'un caractère de fin de ligne ("\n" ou "\r\n")
if (data == '\n' || data == '\r') {
// Ne rien faire avec les caractères de fin de ligne, les ignorer
} else {
// Traiter les autres caractères ici
switch (data) {
case '1': // forwards
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
Serial.println("Avancer");
break;
case '2': // right
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
Serial.println("Tourner à droite");
break;
case '3': // left
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
Serial.println("Tourner à gauche");
break;
case '4': // back
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
Serial.println("Reculer");
break;
case '5': // stop
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
Serial.println("Arrêt");
break;
default:
Serial.println("Commande non reconnue");
// Si la commande n'est pas reconnue, aucune action n'est effectuée.
break;
}
}
}
}