Problème sûrement tout bête mais je ne m'en sors pas.
Avec une AA (MIT Inventor) j'envoi des octets (1, 2, 3, ....) via le bluetooth.
Sur le moniteur série, je vois bien arriver les chiffres (ordre). A mon avis, c'est bien des INT car j'ai pu faire des additions avec ces chiffres,.
Par contre, ils ne semblent pas reconnu dans le "SWITCH CASE.
Et là, je ne vois pas?
Attention c'est un programme en cours, pas fini, et les nombreux Serial.print ne sont là que pour le développement.
Qui peut m'aider?
Jean-Michel
Oui, hc06.read() donne des int.
MAI t'envoie bien des chiffres, mais sous forme de code ASCII, 0 = 48, 1 = 49...
Si tu veux tester un 1 reçu de MAI, dans un case ou un if ou ... il faut écrire:
case 49:
ou
case '1':
Ta loop():
void loop()
{
while(hc06.available()>0)
{
ordre = hc06.read();
}
if(ordre!=0)
{
Serial.println("Code SASCII = " + String(ordre));
delay(100);
switch(ordre){
case '0':
Serial.println("C'est un 0");
break;
case '1':
Serial.println("C'est un 1");
break;
case '2':
Serial.println("C'est un 2");
break;
}
ordre = 0;
}
}
Merci pour ta réponse, cela m'a permis d'avancer.
Maintenant c'est ces moteurs "low cost" (jaune) qui me posent problème (ils ne démarrent qu'avec un rapport cyclique > 150) mais là , c'est un autre problème
Désolé pour ma réponse tardive.
C'est des ensembles moteur + réducteur de couleur jaune que l'on trouve pour quelques euros (d'où sûrement le résultat).
Je voulais faire une variation continu de la vitesse, mais j'ai laissé tombé.
Je mais le PWM à 200 en marche tout droit et je réduit l'un des moteurs à 120 pour tourner à droite ou à gauche.
Ce n'est pas parfait mais je suis plutôt sur un démonstrateur pour tester des fonctions (la prochaine c'est de coupler avec le générateur d'ultrasons)