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 :
| |||