Comment recevoir les données du timer de app inventor avec mon arduino?

bonjour, j'ai besoin d'aide car je sait pas comment recevoir correctement des données avec le bluetooth sur mon arduino. J'aimerai pouvoir envoyer un timer de mon télephone à l'arduino avec l'appli app inventor, mais quand je lis ce que je recois dans le moniteur série ca m'affiche un carré.

j'ai déja pu envoyer du texte, utiliser les boutons , les curseur, mais le timer je n'y arrive pas.(je suis débutant).

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

envoyez vous la représentation ASCII du timer ou le nombre lui même ?

lisez les règles puis postez le code correctement (balises de code) avec des détails sur la config et aussi la description de ce que vous faites côté app inventor

Probablement un caractère non affichable.
Le plus simple pour commencer serait de faire afficher la totalité du message reçu en hexadécimal. Comme ça on pourra interpréter le contenu et voir ce que tu pourras en faire.

Serial .print(variable, HEX)

bonjour, je viens d'essayer et j'obtient bien de l'hexadecimal.

Maintenant il faut que je déplace mon post dans le forum français car je me suis tromper , mais je sait pas comment faire :sweat_smile:

Bonsoir @hugo_7

@UKHeliBob s'est chargé du déplacement dans le forum Francophone et a indiqué l'avoir fait !

Blockquote

Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Mon but final est de crée une application pour pouvoir faire des rappel pour des médicament ou autre. Le rappel sera envoyer sur un matrix led 2*8 . Je voudrai crée ces rappel depuis une application mobile ou je pourrai choisir l'heure, la date, ce qu'il faut afficher au moment du rappel.

J'essaye donc de me familiariser avec le timer de app inventor car il permettra de pouvoir choisir l'heure et les minute ou le rappel sera envoyer. Probleme, quand je veux récupérer les données du timer sa m'affiche un caré dans le moniteur serie

voici les blocks coté appinventor:

et le code coté arduino:

#include <SoftwareSerial.h>;
SoftwareSerial HC06(2, 3);

String MessageEntendu;



void setup() {
  HC06.begin(9600);
  Serial.begin(9600);
 

}

void loop() {
  while (HC06.available())
  
  {
    delay(5);
    char c = HC06.read();
    Serial.print(c, HEX);

    MessageEntendu += c;
  }

}

Merci de votre aide.

oh super!! merci

quand vous faites cela

vous envoyez un nombre.

faites ce code:

#include <SoftwareSerial.h>;
SoftwareSerial HC06(2, 3);

void setup() {
  Serial.begin(115200); // pas la peine d'aller lentement pour la console série
  HC06.begin(9600);
}

void loop() {
  if (HC06.available()) {
    Serial.print("reçu : 0x"); Serial.println(HC06.read(), HEX);
  }
}

et dites nous ce que vous voyez dans la console série (réglée donc à 115200 bauds et plus 9600) lors du déclenchement. Vous devriez recevoir des octets qui correspondent à l'heure de déclenchement

bonjour, votre code marche bien!! , j'obtient 0xB ou 0x14 ....

mais j'ai voulu aller trop vite et j'ai pas bien réflechie avant de vous posez des questions car le programme dans appinventor envoie l'heure que j'ai sélectionner à l'arduino, alors que je voudrai pouvoir sélectionner une certaine heure sur mon téléphone, et une fois l'heure atteinte l'application envoie un signal du genre "ok" ou "heure1_ok" à l'arduino, qui ensuite déclanchera l'affichage . Je vais donc regarder ce que je peux faire dans appinventor.

vous obtenez 2 lignes ou une seule lors du déclenchement ?
0x14 c'est le chiffre 20 (en décimal)
0xB c'est le chiffre 11 (en décimal)

A quelle heure avez vous effectué le test ?

j'ai choisi une heure au hasard, (20h) puis j'ai envoyer, et ensuite j'ai séléctionner une 2ème heure (11h) et j'ai envoyer une 2ème fois.

OK donc ça fonctionne, ce que vous recevez c'est bien l'heure en binaire

si vous faites ce code:

#include <SoftwareSerial.h>;
SoftwareSerial HC06(2, 3);

void setup() {
  Serial.begin(115200); // pas la peine d'aller lentement pour la console série
  HC06.begin(9600);
}

void loop() {
  if (HC06.available()) {
    byte heure = HC06.read();
    if (heure == 11) {
        Serial.println("J'ai détecté 11 !!!");
    } else {
        Serial.print("ce n'est pas 11 mais "); Serial.println(heure);
    }
  }
}

ça vous affichera des infos

votre programme marche nickel :ok_hand: maintenant il faut que je m'occupe du coté app inventor pour qu'il envoie un texte à l'arduino quand l'heure choisit sera atteinte.ca va etre un peu de boulot mais j'apprend des chose!

vous êtes sur la bonne voie. bon courage.