IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Aide Arduino / bluetooth


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    janvier 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Aide Arduino / bluetooth
    Bonjour,
    Je souhaiterai créer un programme pour contrôler un débimètre + électrovanne + arduino uno via une appli bluetooth. Etant novice, je me heurte à un petit soucis.

    Dans l'application, je rentre une valeur en litre (de type char). Je tente de la récupérer via le programme comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    while(Serial.available())
                    {
                        delay(1); // Pour ne pas lire plus vite que ce que les caractères arrivent
                        data+= char(Serial.read()); //On récupère tous les catactères qui arrive donc la quanti
                    }
    Mon problème est de transformer data en float...
    Mais le programme renvoie H3.6 si je rentre 3.6 par exemple (H étant la lettre qui permet de lire la valeur).
    Il faut donc enlever la première lettre et transformer le reste en float pour que je puisse l'exploiter...

    Cordialement

  2. #2
    Membre émérite

    Homme Profil pro
    savant fou :)
    Inscrit en
    septembre 2019
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : savant fou :)

    Informations forums :
    Inscription : septembre 2019
    Messages : 1 220
    Points : 2 274
    Points
    2 274
    Par défaut
    Bonsoir

    Ce n’est pas très solide de lire le port série de cette façon vous vous exposez à des déconvenues, Mais pour le moment on va dire que ça va.

    Je suppose que data est une String. Cette classe n’est pas non plus idéale d’un point de vue gestion mémoire mais pour un petit code comme cela ça ira.

    Une fois que data contient "H3.6" vous savez que vous devez sauter la première lettre et lire un float. Pour extraire une sous chaîne d’une chaîne, vous pouvez utiliser substring() et pour convertir le résultat en float utiliser toFloat()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    data = data.substring(1); // enlève le H
    float valeur = data.toFloat(); // convertir en nombre décimal

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    janvier 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Super je viens de tester et ça marche... C'est bizarre car je crois avoir testé sans succès mais bon...
    Auriez une solution simple pour récupérer le nombre d'impulsion de mon débitmètre car la mienne fonctionne que de temps en temps...
    J'ai branché le fils du fil de donnée sur le pin 2...
    Cordialement

  4. #4
    Membre émérite

    Homme Profil pro
    savant fou :)
    Inscrit en
    septembre 2019
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : savant fou :)

    Informations forums :
    Inscription : septembre 2019
    Messages : 1 220
    Points : 2 274
    Points
    2 274
    Par défaut
    Pour le débitmètre soit par interruption soit par polling dans la loop

    Il y a plein d’exemples en ligne

Discussions similaires

  1. Aide interface bluetooth
    Par dalixcloud dans le forum Android Studio
    Réponses: 0
    Dernier message: 08/03/2020, 18h40
  2. Aide Compréhension Bluetooth
    Par Myrme dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 03/12/2018, 23h52
  3. Arduino -Bluetooth- Relais
    Par mohamed.jemil dans le forum Arduino
    Réponses: 0
    Dernier message: 29/11/2017, 19h03
  4. Aide pour bluetooth
    Par malomyka dans le forum Mobiles
    Réponses: 0
    Dernier message: 19/07/2012, 15h38
  5. Aide J2ME bluetooth
    Par inertia dans le forum Java ME
    Réponses: 1
    Dernier message: 21/03/2006, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo