feat : lecteur capteur température (DHT22)
This commit is contained in:
49
IOT/lib/Capteur/include/Capteur.h
Normal file
49
IOT/lib/Capteur/include/Capteur.h
Normal file
@ -0,0 +1,49 @@
|
||||
#ifndef CAPTEUR_H
|
||||
#define CAPTEUR_H
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
class Capteur{
|
||||
public:
|
||||
|
||||
/**
|
||||
* @brief Construct a new Capteur object
|
||||
*
|
||||
* @param[in] type type de mesure lue (T/H, W, D,...)
|
||||
*/
|
||||
Capteur(String type);
|
||||
|
||||
/**
|
||||
* @brief tar le capteur si il a besoins d'être tarré
|
||||
*
|
||||
* @param[in] val *opt* si le capteur a besoins d'une valeur de ref pour être tarré
|
||||
* @return true si la tarre a bien réussi (ou si il n'a pas besoins de tarre)
|
||||
* @return false erreur durrant la tar
|
||||
*/
|
||||
virtual bool tar(int val = 0);
|
||||
|
||||
/**
|
||||
* @brief lit la valeur du capteur
|
||||
*
|
||||
* @return String retour la valeur
|
||||
*/
|
||||
virtual String read() = 0;
|
||||
|
||||
/**
|
||||
* @brief retourne le type de valeur lue
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
String getValType();
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @brief type de mesure lue (T/H, W, D,...)
|
||||
*
|
||||
*/
|
||||
String type;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // CAPTEUR_H
|
38
IOT/lib/Capteur/include/HumiTemp.h
Normal file
38
IOT/lib/Capteur/include/HumiTemp.h
Normal file
@ -0,0 +1,38 @@
|
||||
#ifndef HUMI_TEMP_H
|
||||
#define HUMI_TEMP_H
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <DHT.h>
|
||||
#include "Capteur.h"
|
||||
|
||||
class HumiTemp : public Capteur{
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* @brief Construct a new Humi Temp object
|
||||
*
|
||||
* @param pin pin du capteur dht
|
||||
* @param type type de capteur dht (11,22,...)
|
||||
*/
|
||||
HumiTemp(int pin, uint8_t type);
|
||||
|
||||
/**
|
||||
* @brief lit le capteur d'humi/temp
|
||||
*
|
||||
* @return String valeur format "XX/YY" X% et Y°C
|
||||
*/
|
||||
String read();
|
||||
|
||||
//TODO: faire commentaire
|
||||
int getTemp();
|
||||
int getHumi();
|
||||
|
||||
private:
|
||||
|
||||
DHT* capteur;
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //HUMI_TEMP_H
|
13
IOT/lib/Capteur/src/Capteur.cpp
Normal file
13
IOT/lib/Capteur/src/Capteur.cpp
Normal file
@ -0,0 +1,13 @@
|
||||
#include "../include/Capteur.h"
|
||||
|
||||
Capteur::Capteur(String type){
|
||||
this->type = type;
|
||||
}
|
||||
|
||||
bool Capteur::tar(int val){
|
||||
return true;
|
||||
}
|
||||
|
||||
String Capteur::getValType(){
|
||||
return this->type;
|
||||
}
|
34
IOT/lib/Capteur/src/HumiTemp.cpp
Normal file
34
IOT/lib/Capteur/src/HumiTemp.cpp
Normal file
@ -0,0 +1,34 @@
|
||||
#include "../include/HumiTemp.h"
|
||||
|
||||
HumiTemp::HumiTemp(int pin, uint8_t type):
|
||||
Capteur("H/T"){
|
||||
this->capteur = new DHT(pin, type);
|
||||
this->capteur->begin();
|
||||
}
|
||||
|
||||
int HumiTemp::getTemp(){
|
||||
int temp = this->capteur->readTemperature();
|
||||
if(isnan(temp)){
|
||||
Serial.println(" DHT reading failed ");
|
||||
return -1;
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
int HumiTemp::getHumi(){
|
||||
int hum = this->capteur->readHumidity();
|
||||
if(isnan(hum)){
|
||||
Serial.println(" DHT reading failed ");
|
||||
return -1;
|
||||
}
|
||||
return hum;
|
||||
}
|
||||
|
||||
String HumiTemp::read(){
|
||||
String sortie = "";
|
||||
|
||||
sortie += String(this->getHumi());
|
||||
sortie += "/";
|
||||
sortie += String(this->getTemp());
|
||||
return sortie;
|
||||
}
|
Reference in New Issue
Block a user