Emetteur Météo Bluetooth

C'est quoi ?

Un petit boitier alimenté par une pile 9V

qui envoie sur demande via une application Androïde, la température et le tau d'humidité en temps réel.

ainsi que la température max et min et l'humidité max et min

La remise à zéro des mémoires ce fait par le Smartphone

But :

Recevoir sur demande la température et l'humidité d'un boitier extérieur par une application Androïde

Matériels :

 

1          Arduino NANO ou UNO

2          Module Bluetooth (HC-05 )

3          Module ( dht22 / AM2302)

4          Circuit imprimé 5X7

5          résistance de 1 K

6          résistance de 2K2

Câblage ;


 

Câblage platine :

Soft Arduino :

 

#include "DHT.h"

#include //Librairie du capteur

OneWire OneWire(12); //Bus One Wire sur la pin 12 de l'arduino

DallasTemperature sensors(&OneWire); //Utilistion du bus Onewire pour les capteurs

DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs avec la librairie

#define DHTPIN 2 // broche ou l'on a branche le capteur

#include

#define DHTTYPE DHT22 // DHT 22 (AM2302)

SoftwareSerial mavoieserie(11, 10); // (RX, TX) (pin Rx BT, pin Tx BT)

DHT dht(DHTPIN, DHTTYPE);//déclaration du capteur

#include

String inputString = "";

char inChar = "";

int bncar = -1;

int mult [] {1, 10, 100, 1000};

float h = dht.readHumidity();//on lit l'hygrometrie

float t = dht.readTemperature();//on lit la temperature en celsius (par defaut)

String data2 = "";

int addr = 0;

int Char = 0;

float Tmax ;

float Tmin ;

float Hmax ;

float Hmin ;

int Compteur = 0;

int Flag1 = 0;

int Flag2 = 0;

int Cont = 1;

void setup() {

  Serial.begin(9600); //Permet la communication en serial

  mavoieserie.begin(9600); // Ouvre la voie serie avec le module Bleutooht

  Tmax = EEPROM.read (1) ;

  Tmin = EEPROM.read (2) ;

  Hmax = EEPROM.read (3) ;

  Hmin = EEPROM.read (4) ;

  sensors.begin(); //Activation des capteurs

 }

void loop() {

  float h = dht.readHumidity();//on lit l'hygrometrie

  float t = dht.readTemperature();//on lit la temperature en celsius (par defaut)

  if (Tmax == 0) {

    Tmax = t;

  }

  if (Tmin == 0) {

    Tmin = t;

  }

  if (Hmax == 0) {

    Hmax = h;

  }

  if (Hmin == 0) {

    Hmin = h;

  }

  if (t > Tmax) {

    Tmax = t; EEPROM.write ( 1 , Tmax ) ;

  }

  if (t < Tmin) {

    Tmin = t; EEPROM.write ( 2 , Tmin ) ;

  }

  if (h > Hmax) {

    Hmax = h; EEPROM.write ( 3 , Hmax ) ;

  }

  if (h < Hmin) {

    Hmin = h; EEPROM.write ( 4 , Hmin ) ;

  }

  //*******************************************************************************************

  // Dialogue avec Bleutooht

  if (data2 == "1" ) { // demande de la température

    Serial.println("**********************************************");

    Serial.print("Edition n° : "); Serial.println(Cont);

    //Serial.print("Température local : ");Serial.println(Temperature);

    Serial.print("Humidite: ");

    Serial.print(h);

    Serial.print(" %\t");

    Serial.print("Temperature: ");

    Serial.print(t);

    Serial.println(" C ");

    Serial.print("T Max  : "); Serial.print(Tmax); Serial.print("    T Min  : "); Serial.println(Tmin);

    Serial.print("H Max  : "); Serial.print(Hmax); Serial.print("   H Min  : "); Serial.println(Hmin);

    Serial.println("**********************************************");

    Flag2 = 0;

    Cont = Cont + 1;

    data2 = ""; inputString = "";

    Compteur = 5;

    delay(1800);

  }

  //*******************************************************************************************

  if (data2 == "0" ) {

    Serial.println("**********************************************");

    Serial.println("Max & Min = 0");

    Serial.println("**********************************************");

    Tmax = 0; Tmin = 0; Hmax = 0; Hmin = 0;

    Serial.println();

    data2 = ""; inputString = "";

  }

  //*******************************************************************************************

}

void serialEvent() {

  while (Serial.available()) {     // obtenir le nouvel octet:

    inChar = (char)Serial.read();

    bncar = bncar + 1;     // ajoutez-le à l'inputString:

    inputString += inChar;

    data2 = inputString;

    inputString = "";

  }

}

Vue de l'application :








 
 

L'application est faite avec

 MIT App Inventor 2

Téléchargement APP

Voir rubrique Téléchargement

Fichier.ino = PRG Arduino

Fichier. aia = MIT App Inventor

Fichier. apk = Androïde

 

 

CE SITE A ÉTÉ CONSTRUIT EN UTILISANT