changes
parent
498f558fd6
commit
dd72f6f2d3
@ -0,0 +1,67 @@
|
||||
/*
|
||||
DHT12.cpp - Library for DHT12 sensor.
|
||||
v0.0.1 Beta
|
||||
Created by Bobadas, July 30,2016.
|
||||
Released into the public domain.
|
||||
*/
|
||||
#include "Arduino.h"
|
||||
#include "Wire.h"
|
||||
#include "DHT12.h"
|
||||
|
||||
DHT12::DHT12(byte scale,byte id)
|
||||
{
|
||||
if (id==0 || id>126) _id=0x5c;
|
||||
else _id=id;
|
||||
if (scale==0 || scale>3) _scale=CELSIUS;
|
||||
else _scale=scale;
|
||||
}
|
||||
|
||||
byte DHT12::read()
|
||||
{
|
||||
|
||||
Wire.beginTransmission(_id);
|
||||
Wire.write(0);
|
||||
if (Wire.endTransmission()!=0) return 1;
|
||||
Wire.requestFrom(_id, 5);
|
||||
for (int i=0;i<5;i++) {
|
||||
datos[i]=Wire.read();
|
||||
};
|
||||
delay(50);
|
||||
if (Wire.available()!=0) return 2;
|
||||
if (datos[4]!=(datos[0]+datos[1]+datos[2]+datos[3])) return 3;
|
||||
return 0;
|
||||
}
|
||||
|
||||
float DHT12::readTemperature(byte scale)
|
||||
{
|
||||
float resultado=0;
|
||||
byte error=read();
|
||||
|
||||
//Serial.println(error);
|
||||
|
||||
|
||||
if (error!=0) return (float)error/100;
|
||||
if (scale==0) scale=_scale;
|
||||
switch(scale) {
|
||||
case CELSIUS:
|
||||
resultado=(datos[2]+(float)datos[3]/10);
|
||||
break;
|
||||
case FAHRENHEIT:
|
||||
resultado=((datos[2]+(float)datos[3]/10)*1.8+32);
|
||||
break;
|
||||
case KELVIN:
|
||||
resultado=(datos[2]+(float)datos[3]/10)+273.15;
|
||||
break;
|
||||
};
|
||||
return resultado;
|
||||
}
|
||||
|
||||
float DHT12::readHumidity()
|
||||
{
|
||||
float resultado;
|
||||
byte error=read();
|
||||
if (error!=0) return (float)error/100;
|
||||
resultado=(datos[0]+(float)datos[1]/10);
|
||||
return resultado;
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
/*
|
||||
DHT12.h - Library for DHT12 sensor.
|
||||
v0.0.1 Beta
|
||||
Created by Bobadas, July 30,2016.
|
||||
Released into the public domain.
|
||||
*/
|
||||
#ifndef DHT12_h
|
||||
#define DHT12_h
|
||||
#include "Arduino.h"
|
||||
#include "Wire.h"
|
||||
|
||||
#define CELSIUS 1
|
||||
#define KELVIN 2
|
||||
#define FAHRENHEIT 3
|
||||
|
||||
class DHT12
|
||||
{
|
||||
public:
|
||||
DHT12(byte scale = 0, byte id = 0);
|
||||
float readTemperature(byte scale = 0);
|
||||
float readHumidity();
|
||||
private:
|
||||
byte read();
|
||||
byte datos[5];
|
||||
byte _id;
|
||||
byte _scale;
|
||||
};
|
||||
|
||||
#endif
|
@ -1,6 +1,7 @@
|
||||
// renvoie le taux d'humidité en % du DHT12
|
||||
uint16_t LireHumidite() {
|
||||
float H = random(0,100);
|
||||
//float H = dht12.readHumidity(); //lecture du taux d'humidité
|
||||
float H = random(0,100); //lecture du taux d'humidité
|
||||
return (uint16_t)H; // 0% à 100%
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue