Envoyer des données d'une arduino à une application développé avec App Inventor

HC-05

a marqué ce sujet comme résolu.

Bonsoir à vous tous et toutes, :)

je suis en train de développer une application avec App Inventor qui doit pouvoir commander l’Arduino mais aussi récupérer des valeurs. J’ai réussi à allumer une LED cependant je n’arrive pas à envoyer une valeur à l’Arduino.

Afin de bien comprendre comment utiliser le module HC-05, j’ai lu pas mal de site web et je suis donc arrivé à développer le code suivant pour l’arduino accompagné des schémas du câblage :

Cablage
Schéma életrique
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <SoftwareSerial.h>

SoftwareSerial bluetooth(11, 10); 

void setup()
{
    Serial.begin(9600); //Initialisation de la communication série avec l'ordinateur
    bluetooth.begin(9600); //Initialisation de la communication série avec le module Bluetooth HC-05
}

void loop() 
{
  int value = 100; //Valeur à afficher
  Serial.print(" " );      
  Serial.println(value); //valeur à communiquer à l'ordinateur
  bluetooth.write(value); //valeur à communiquer au module Bluetooth
}

Maintenant je vous montre le code de l’application que j’ai repris car je ne maitrise pas trop App Inventor :

Code
Design

J’arrive à me connecter avec le module mais aucune valeur ne s’affiche. Ensuite, sur mon code .ino j’ai plusieurs doutes sur la manière d’envoyer la valeur car sur certain site j’ai vu que la fonction utilisée était print et sur d’autres siteswrite. Ensuite, je n’ai pas bien compris comment la réception des bytes se réalisait du coté App Inventor. Je me suis aussi posé une question sur la vitesse de communication, en effet le module HC-05 a une vitesse par défaut selon la documentation suivante :

Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has.

Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.

J’ai donc essayé bluetooth.begin(38400); mais cela n’a pas fonctionné. Par conséquent, je me suis dit qu’il y avait peut être un problème de vitesse de communication avec l’application. Mais je ne sais pas comment est initialisé les bits pas seconds sur l’app.

Avez-vous des conseils ? ou des réponses à toutes mes interrogations afin que l’application puisse recevoir des données de l’arduino via le module HC-05 ?

Merci d’avance pour toutes vos réponses ^^

Si je ne suis pas clair, n’hésitez pas à me le signaler ;)

+3 -0

Bonsoir !

Personnellement j’utilise Droidscript pour créer des applis Android facilement. Pour utiliser le bluetooth je fais comme si c’était une communication (d’ailleurs le module est sur rx-tx) et je fais des println.

N’oublie pas de mettre "\r\n" à la fin ( ex: Serial2.println("coucou\r\n"); ) sinon ton appli ne recevra pas la donnée ! ( Plus précisément: il la reçoit mais attend les caractères de fin de transmission qui sont \r\n )

Si ça peut aider …

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte