mirror of
https://github.com/niesteszeck/idDHT11.git
synced 2025-03-15 04:27:29 +03:00
added a new method acquireAndWait to make easy to use the lib and a example that use it
This commit is contained in:
parent
95fa6826ce
commit
960cf5313b
@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
Board int.0 int.1 int.2 int.3 int.4 int.5
|
||||||
|
Uno, Ethernet 2 3
|
||||||
|
Mega2560 2 3 21 20 19 18
|
||||||
|
Leonardo 3 2 0 1
|
||||||
|
Due (any pin, more info http://arduino.cc/en/Reference/AttachInterrupt)
|
||||||
|
|
||||||
|
This example, as difference to the other, make use of the new method acquireAndWait()
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <idDHT11.h>
|
||||||
|
|
||||||
|
int idDHT11pin = 2; //Digital pin for comunications
|
||||||
|
int idDHT11intNumber = 0; //interrupt number (must be the one that use the previus defined pin (see table above)
|
||||||
|
|
||||||
|
//declaration
|
||||||
|
void dht11_wrapper();
|
||||||
|
|
||||||
|
// Lib instantiate
|
||||||
|
idDHT11 DHT11(idDHT11pin,idDHT11intNumber,dht11_wrapper);
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(9600);
|
||||||
|
Serial.println("idDHT11 Example program");
|
||||||
|
Serial.print("LIB version: ");
|
||||||
|
Serial.println(IDDHT11LIB_VERSION);
|
||||||
|
Serial.println("---------------");
|
||||||
|
}
|
||||||
|
void dht11_wrapper() {
|
||||||
|
DHT11.isrCallback();
|
||||||
|
}
|
||||||
|
void loop()
|
||||||
|
{
|
||||||
|
Serial.print("\nRetrieving information from sensor: ");
|
||||||
|
Serial.print("Read sensor: ");
|
||||||
|
//delay(100);
|
||||||
|
|
||||||
|
int result = DHT11.acquireAndWait();
|
||||||
|
switch (result)
|
||||||
|
{
|
||||||
|
case IDDHTLIB_OK:
|
||||||
|
Serial.println("OK");
|
||||||
|
break;
|
||||||
|
case IDDHTLIB_ERROR_CHECKSUM:
|
||||||
|
Serial.println("Error\n\r\tChecksum error");
|
||||||
|
break;
|
||||||
|
case IDDHTLIB_ERROR_TIMEOUT:
|
||||||
|
Serial.println("Error\n\r\tTime out error");
|
||||||
|
break;
|
||||||
|
case IDDHTLIB_ERROR_ACQUIRING:
|
||||||
|
Serial.println("Error\n\r\tAcquiring");
|
||||||
|
break;
|
||||||
|
case IDDHTLIB_ERROR_DELTA:
|
||||||
|
Serial.println("Error\n\r\tDelta time to small");
|
||||||
|
break;
|
||||||
|
case IDDHTLIB_ERROR_NOTSTARTED:
|
||||||
|
Serial.println("Error\n\r\tNot started");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Serial.println("Unknown error");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Serial.print("Humidity (%): ");
|
||||||
|
Serial.println(DHT11.getHumidity(), 2);
|
||||||
|
|
||||||
|
Serial.print("Temperature (oC): ");
|
||||||
|
Serial.println(DHT11.getCelsius(), 2);
|
||||||
|
|
||||||
|
Serial.print("Temperature (oF): ");
|
||||||
|
Serial.println(DHT11.getFahrenheit(), 2);
|
||||||
|
|
||||||
|
Serial.print("Temperature (K): ");
|
||||||
|
Serial.println(DHT11.getKelvin(), 2);
|
||||||
|
|
||||||
|
Serial.print("Dew Point (oC): ");
|
||||||
|
Serial.println(DHT11.getDewPoint());
|
||||||
|
|
||||||
|
Serial.print("Dew Point Slow (oC): ");
|
||||||
|
Serial.println(DHT11.getDewPointSlow());
|
||||||
|
|
||||||
|
delay(2000);
|
||||||
|
}
|
||||||
|
|
@ -56,6 +56,12 @@ int idDHT11::acquire() {
|
|||||||
} else
|
} else
|
||||||
return IDDHTLIB_ERROR_ACQUIRING;
|
return IDDHTLIB_ERROR_ACQUIRING;
|
||||||
}
|
}
|
||||||
|
int idDHT11::acquireAndWait() {
|
||||||
|
acquire();
|
||||||
|
while(acquiring())
|
||||||
|
;
|
||||||
|
return getStatus();
|
||||||
|
}
|
||||||
void idDHT11::isrCallback() {
|
void idDHT11::isrCallback() {
|
||||||
int newUs = micros();
|
int newUs = micros();
|
||||||
int delta = (newUs-us);
|
int delta = (newUs-us);
|
||||||
@ -170,4 +176,4 @@ double idDHT11::getDewPointSlow() {
|
|||||||
double T = log(VP/0.61078); // temp var
|
double T = log(VP/0.61078); // temp var
|
||||||
return (241.88 * T) / (17.558-T);
|
return (241.88 * T) / (17.558-T);
|
||||||
}
|
}
|
||||||
// EOF
|
// EOF
|
||||||
|
@ -45,6 +45,7 @@ public:
|
|||||||
void init(int pin, int intNumber,void (*isrCallback_wrapper)());
|
void init(int pin, int intNumber,void (*isrCallback_wrapper)());
|
||||||
void isrCallback();
|
void isrCallback();
|
||||||
int acquire();
|
int acquire();
|
||||||
|
int acquireAndWait();
|
||||||
float getCelsius();
|
float getCelsius();
|
||||||
float getFahrenheit();
|
float getFahrenheit();
|
||||||
float getKelvin();
|
float getKelvin();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user