Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment faire biper un terminal bluetooth?

    15 mars 2015 à 21:31:27

    Bonjour,

    j'utilise arduino depuis peu, avec un module bluetooth HC-05 qui s'apparie avec une tablette android.

    Je suis en train de réaliser une alarme anti fuite d'eau: arduino envoie sur la tablette un message  que je reçois parfaitement à l'aide d'une appli "Bluetooth Terminal". J'aimerai maintenant que cette tablette émette un son à la réception des messages.

    J'ai essayé la fonction Serial.write (007,BYTE) car en ascii, 007 correspond à BELL... mais ça ne fonctionne pas...

    Ma question est peut être très bête mais je débute... est ce qu'un terminal qui est la pour écrire une chaîne de caractères comprend cette ligne de commande???

    Quelqu'un pourrait-il me conseiller ? Il faut peut être une autre appli , ou un autre commande?

    Avez vous besoin de mon sketch pour me répondre?

    Je remercie ceux qui prendront un peu de leur temps pour me débloquer....

    • Partager sur Facebook
    • Partager sur Twitter
      16 mars 2015 à 6:57:41

      Bonjour,

      Je ne c'est pas si les tablettes comprenne cette commande mais si tu à besoin de crée une application il y a App Inventor 2 très simple à utiliser et il y'a beaucoup de tutoriel sur internet.

      Cordialement,

      • Partager sur Facebook
      • Partager sur Twitter
        16 mars 2015 à 20:52:43

        heu.... t'as écrit serial.write(007,BYTE) où?

        si c'est dans l'arduino, c'est normal que ça fasse rien, t'as juste envoyé un caractere dans la liaison série.

        et si c'est dans ton appli android, quel sdk, quel langage, quel... tout, parce que c'est étonnant ce que tu nous dépeins...

        • Partager sur Facebook
        • Partager sur Twitter

        oui. non. enfin je regarde et je te dis.

          16 mars 2015 à 22:17:56

          Bonsoir

          visiblement mon explication n'est pas claire..; voici donc mon sketch:

          #define detecteur 6 //indication des pin utilisés
          #define LED 13
          #define Buzzer 4
          int goutte; // variable de détection des gouttes
          long nombregoutte; // variable de comptage et mémorisation de la dernière valeur de milli utilisée

          void setup()   { // debut de la fonction setup()

          // ------- Initialisation fonctionnalités utilisées ------- 

          Serial.begin(9600); // initialise connexion série à 9600 bauds
          // IMPORTANT : régler le terminal côté PC avec la même valeur de transmission

          // ------- Initialisation des variables utilisées ------- 
            pinMode(LED, OUTPUT);// la led est une sortie
            pinMode(Buzzer, OUTPUT);// le buzzer est une sortie
            pinMode(detecteur, INPUT);// le detecteur est une entrée
           digitalWrite(LED,LOW);// au départ, la led est éteinte
           digitalWrite(Buzzer,LOW);// au départ, le buzzer est éteint
          nombregoutte=0;// au départ, le nombre de gouttes est égal à 0

          } // fin de la fonction setup()

          // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

          void loop(){ // debut de la fonction loop()
          int goutte = digitalRead(detecteur);// la détection de gouute est une entrée numérique

          if (goutte==LOW)// si une goutte tombe, le transistor est saturé, donc pin6 état bas
          {
          nombregoutte++; // incrémente le comptage des gouttes
           delay(300);// attend 0.3s pour éviter un rebond
           //Serial.print(" Nommbre de gouttes: ");//imprime " "
          // Serial.println(nombregoutte);// imprime " nombre de goutte" et passe à la ligne
          if (nombregoutte<=2) // si le nombre de goutte est inférieur ou égal à 2
          {digitalWrite(LED, HIGH);// allume la del
          delay(500); // attend 0.5s
          digitalWrite(LED, LOW);// éteind la del
          }
          if(nombregoutte>2 && nombregoutte<=4) // si le nombre de gouttes est 3 ou 4
          {digitalWrite(Buzzer, HIGH);// fait marcher le buzzer
          delay(500);// pendant 0.5s
          digitalWrite(Buzzer, LOW);// arrete le buzzer
          }
          if(nombregoutte==5) // si le nombre de gouttes est 5
          { Serial.write (0x0c);// efface la ligne précédente
          Serial.write (0x7);// emet un signal sonore
          delay(300);
            Serial.print(" attention fuite ! ");//imprime " "
          delay(500);// attend 0.5s
          }
          if(nombregoutte==7)
          { Serial.write (0x0c);// efface la ligne précédente
            Serial.print(" Va fermer le robinet ! ");
          delay(500);// attend 0.5s
          }
          if(nombregoutte==10)
          {  Serial.write (0x0c);// efface la ligne précédente
          Serial.print(" Tu as gaspillé 1,12 mL ! ");
          delay(500);// attend 0.5s
          }
          }
          }

          La commande Serial.write(0x0c) fonctionne bien mais pas la Serial.write(0x7)....

          Côté android j'ai chargé une appli bluetooth notifier mais elle n'emet aucun signal sonore...

          • Partager sur Facebook
          • Partager sur Twitter
            16 mars 2015 à 23:14:59

            alors pour commencer, je sais pas ce que t'as voulu faire avec tes envois de caractères, mais ça ne peut pas marcher comme ça.

            le fait que ton arduino envoie des trucs à la tablette, OK.

            mais que ce soit l'arduino qui commande la tablette, pour moi c'est une erreur.

            je m'explique: si tu dois avoir une arduino qui communique avec une tablette, tu dois faire les deux programmes. ou utiliser un programme sur ta tablette qui fait les fonctionnalités que tu attends, à savoir relayer un message et une (ou plusieurs) sonnerie(s).

            parce qu'utiliser des valeurs de caractères envoyés dans une liaison série (qui seront donc même pas lus pour être exécutés une fois arrivés sur l'objet android), ça ne peut pas marcher.

            à moins que la doc de l'appli que tu tuilise existe, est complete à ce niveau-là, et à ce moment-là y'a plus qu'à lire pour savoir quoi envoyer.

            • Partager sur Facebook
            • Partager sur Twitter

            oui. non. enfin je regarde et je te dis.

              19 mars 2015 à 15:25:06

              Remace,

              Merci pour ta réponse qui m'a fait avancer.

              cette commande (Serial.write (0x0c);// efface la ligne précédente) était donnée par le terminal série du l'android pour effacer son écran.

              J'ai donc téléchargé App inventor et suis en train de "l'apprivoiser": je vais donc créer un programme sur l'appli qui , a la réception va faire biper la tablette et aussi afficher le message.

              • Partager sur Facebook
              • Partager sur Twitter

              Comment faire biper un terminal bluetooth?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown