Arduino Forum

International => Français => Topic started by: Maximaxou on Jan 06, 2017, 06:31 pm

Title: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 06:31 pm
Bonjour,

Lors de l'unvoie d'une trame 16 bits depuis l'arduino vers mon application app inventor, j'ai de petits soucis.
J'arrive à recevoir la trame correctement grace à "bluethooth client receive text" (photo 1) mais derrière ma trame est alors en texte et je ne peut pas la traiter avec des opérations mathématiques
Et si j'utilise "blutooth client receive 2 unsigned byte number" (photo 2) alors ma trame à la réception est fausse.

Quelqu'un peut-il m'aider.
Merci d'avance
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 07:04 pm
...
Et si j'utilise "blutooth client receive 2 unsigned byte number" (photo 2) alors ma trame à la réception est fausse.


bonsoir
comment l'arduino envoie t'il cette "trame de 16 bits" ?
quelle instruction dans le sketch arduino ?
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 07:22 pm
Bonsoir :)

J'utilise un module bluethooth HC-06
Voilà mon code d'envoie:

int bluetoothTx = 4;
int bluetoothRx = 2;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);

void setup()

Serial.begin(9600);
bluetooth.begin(9600);
Serial.println("init ");
}

void loop()
{   
    unsigned long int affichage = 0xC50B; //initialis d'affichage(la trame que j'envoie juste ci-après)
    bluetooth.print(affichage,BIN); //1100 0101 0000 1011
}
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 07:30 pm
Bonoir :)

J'utilise un module bluethooth HC-06
Voilà mon code d'envoie:

int bluetoothTx = 4;
int bluetoothRx = 2;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);

void setup()
{  
Serial.begin(9600);
bluetooth.begin(9600);
Serial.println("init ");
}

void loop()
{  
    unsigned long int affichage = 0xC50B; //initialis d'affichage(la trame que j'envoie juste ci-après)
    bluetooth.print(affichage,BIN); //1100 0101 0000 1011
}
unsigned long int affichage= 0xc508 , ça me semble bizzare
essaie çà
Code: [Select]
void loop()

   unsigned  int affichage = 0xC50B; //initialis d'affichage(la trame que j'envoie juste ci-après)
   bluetooth.print(affichage); //1100 0101 0000 1011
}


Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 07:33 pm
ah oui en effet, merci jevais essayer !
A la base, j'étais parti sur une trame 32 bit d'où le unsigned long int.
puis j'ai changer en 16 pensant que ma trame était trop longue
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 07:41 pm
ah oui en effet, merci jevais essayer !
A la base, j'étais parti sur une trame 32 bit d'où le unsigned long int.
puis j'ai changer en 16 pensant que ma trame était trop longue
ok
mais c'est soit unsigned int ou unsigned long , mais pas unsigned long int ( je ne sais pas comment le compilateur gere/prorise ça , si il ne genere pas d'erreur)
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 07:46 pm
unsigned long int existe bien
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 07:50 pm
unsigned long int existe bien
et ça donne quoi en occupation ?
perso (mais je ne suis pas un specialiste du C ) je trouve ça "ambigu"
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 07:58 pm
ici, il te donne les valeurs : http://neofutur.net/article/4-les-differents-types-de-donnees
Title: Re: Arduino/bluetooth/app inventor 2
Post by: kamill on Jan 06, 2017, 08:24 pm
Bonjour,

unsigned long est un raccourci pour unsigned long int. C'est la même chose
de la même façon unsigned et unsigned int sont la même chose.
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 08:29 pm
Bonjour,

unsigned long est un raccourci pour unsigned long int. C'est la même chose
de la même façon unsigned et unsigned int sont la même chose.
je me coucherais moins c.n ce soir. :smiley-mr-green:
l'important pour le probleme est de transmettre seulement 2 octets et pas 4
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 08:38 pm
Oui mais ça ne marche toujours pas
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 08:44 pm
Oui mais ça ne marche toujours pas
quand tu envoie 0xFF00 tu reçois quoi ?
idem pour 0x00FF

fais aussi un test avec çà
Code: [Select]

void loop()


   bluetooth.write(B11000101); //1100 0101 0000 1011
   bluetooth.write(B00001011); //1100 0101 0000 1011
}


Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 10:05 pm
Ca ne marche pas, il affiche la trame qu'à partir du premier 1, d'où le fait que ma trame commence par 1
Title: Re: Arduino/bluetooth/app inventor 2
Post by: Artouste on Jan 06, 2017, 10:24 pm
Ca ne marche pas, il affiche la trame qu'à partir du premier 1, ...
donc cà marche ? :smiley-mr-green:
l'ensemble numerique est coherent

ton probleme n'est pas un probleme d'origine arduino , mais de représentation arrivé sous ton appli AI2


Title: Re: Arduino/bluetooth/app inventor 2
Post by: Maximaxou on Jan 06, 2017, 10:43 pm
Non ça ne marchait pas correctement.
J'ai trouvé, enfin j'ai contourné le problème
Avant je rangeait la trame sous forme de texte dans une variable, après je ne pouvait pas faire d'opération mathématique dessus
Maintenant je range la trame sous forme de texte, puis je la convertit de binaire à décimal puis de décimal à binaire et ça marche. Étrange tout ça
En tout cas merci de ton aide quand même  :)