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

La carte « Makeblock » 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.

Câblage

Réaliser le câblage de la photo suivante :

Remarques :

  • La broche « SIG » (signal) du capteur reliée à une borne JAUNE « A6 » de la carte.

  • La broche « VCC » du capteur reliée à une borne ROUGE « A6 » de la carte.

  • La broche « GND » du capteur reliée à une borne NOIRE « A6 » de la carte.

Insérer le module bluetooth « HC-05 » comme représenté sur la photo ci-contre, en respectant le sens

Faire vérifier votre câblage au professeur avant de mettre les piles et de relier la carte au PC.

Programmation

Ouvrir le programme « Arduino »

Aller dans le menu « Outils - Type de carte » et choisir « Arduino/Genuino Mega or Mega2560 ».

Raccorder votre carte à votre ordinateur avec le câble USB fourni.

 

Aller dans le menu « Outils - Port » et choisir le port USB où votre carte est reliée.

Aller dans le menu « Fichier - Exemples » et vérifier la présence du répertoire « MakeBlockDrive ».

 

En cas d'absence, charger la bibliothèque « MeMegaPi.h »

Saisir le programme suivant.

1
#include "MeMegaPi.h"  //bibliotheque pour la carte
2
#include "DHT.h"  //bibliotheque des capteurs d'humidité et température
3
#define DHTTYPE DHT22   // Type de capteur DHT 22  (AM2302)
4
#define DHTPIN A6     // Capteur connecté au PIN A6
5
DHT dht(DHTPIN, DHTTYPE); //Déclaration du type de capteur et sa connection
6
7
void setup() {
8
9
   Serial3.begin(9600); //déclaration du bluetooth
10
   dht.begin(); // activation du capteur
11
}
12
13
void loop() {
14
    float temp_hum_val[2] = {0}; // déclaration d'un tableau à 2 cases pour stocker les valeurs
15
    dht.readTempAndHumidity(temp_hum_val); //lecture du capteur DTH22
16
    
17
    delay(1000);
18
    Serial3.print(temp_hum_val[1]); //transfert de l'humidité via le bluetooth
19
    Serial3.print(";");
20
    Serial3.print(temp_hum_val[0]); //transfert de la température via le bluetooth
21
    Serial3.print(";");
22
}

Téléverser votre programme dans la carte .

 

Application « 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.