Comment recevoir deux valeurs et les afficher sur l'application ?

La carte Arduino peut utiliser de nombreux capteurs. Les capteurs « DHT11 » ou « DHT22 » permettent de mesurer la température et l'humidité.

L'exercice suivant permet de transférer ces deux valeurs via un émetteur Bluetooth et de les afficher sur son smartphone.

ÉLÉMENTS DE PROGRAMMATION

Programme Arduino

On déclare en début de programme :

  • Une liaison série logicielle avec un nom libre , ici « BTserie ». Adapter les valeurs 10 et 11 suivant le câblage du module bluetooth (ici Rx à 10 et Tx à 11 coté Arduino).

1
#include <SoftwareSerial.h>
2
SoftwareSerial BLEserie(10,11);
  • Dans le « setup » ajouter la vitesse de transmission, ici 9600 bauds.

1
BLEserie.begin(9600);

 

  • Dans la boucle « loop », après la temporisation d'1 seconde par exemple : delay(1000) ;

    on envoie les valeurs par la liaison série Bluetooth :

1
BLEserie.print(valeur_humidite);
2
BLEserie.print(";");
3
BLEserie.print(valeur_temperature);
4
BLEserie.print(";");

Les points virgule « ; » permettront de séparer les deux valeurs lors de la réception.

 

Programme App Inventor

Les valeurs seront affichées grâce à la modification du nom d'un « Label »

En mode « Designer »

En mode « Blocs »

 

Les lignes de programme ci-contre permettent d'établir ou d'interrompre la liaison bluetooth.

Lorsque la liaison est établie, le message « Connecté » sera diffusé par le téléphone.

Les lignes de programme suivantes permettent de :

  • Récupérer la valeur de la température et la valeur de l'humidité en identifiant les points virgule « ; »

  • D'ajouter l'unité « °C » après la valeur de la température.

  • D'ajouter l'unité « % » après la valeur de l'humidité.

  • De mettre en rouge la température si elle est supérieure à 24°C ou en vert dans le cas contraire.

  • De mettre en rouge l'humidité si elle est inférieure à 40% ou en vert dans le cas contraire.