DHT11, cijfers achter de komma

Arduino specifieke Software
Berichten: 2
Geregistreerd: 09 Mrt 2013, 21:28

DHT11, cijfers achter de komma

Berichtdoor peter7207 » 09 Mrt 2013, 22:35

Hallo,

Ik ben wat aan het experimenteren geweest met de DHT11, een kleine module waarmee je temperatuur en luchtvochtigheid kunt meten.
Dat meten lukt maar de 2 cijfers achter de komma blijven 00, m.a.w. alleen hele graden worden weergegeven.
Ik wil graag op 1/10 of 1/100 kunnen weergeven
Het zou kunnen dat de dht11.h dat niet in zich heeft.
Iemand die weet hoe het wel kan?
(programma loopt op de Arduino)

groeten Peter


#include <dht11.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(10, 9, 5, 4, 3, 2);
dht11 DHT11;
#define DHT11PIN A4

void setup()
{
lcd.clear();
lcd.begin(1, 16);
}

void loop()
{
lcd.setCursor(0,0);
int chk = DHT11.read(DHT11PIN);

switch (chk)
{
case 0: lcd.print("OK "); break;
case -1: lcd.print("Checksum"); break;
case -2: lcd.print("Time out"); break;
default: lcd.print("Unknown "); break;
}

lcd.setCursor(9,0);
lcd.print((float)DHT11.humidity,2);
lcd.setCursor(0,1);
lcd.print((float)DHT11.temperature,2);
lcd.setCursor(9,1);
lcd.print((float)DHT11.dewPoint(),2);

delay(2000);
}

Advertisement

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: DHT11, cijfers achter de komma

Berichtdoor astrofrostbyte » 09 Mrt 2013, 23:14

Hey Peter,

Ik neem aan dat je de dhtlib gebruikt die op arduino.cc staat ? http://playground.arduino.cc/Main/DHT11Lib

Als je in dht.h kijkt zie je de types die de library gebruikt:
Code: Alles selecteren
class dht11
{ public:
    int read(int pin);
        int humidity;
        int temperature;
};

Hieruit kan je al veel halen, dit is duidelijk integer voor de functies(methods) en de variabelen.
Volgens mij zijn ze niet geschaald, dus 1 == 1Celcius of 1%

Nu is dat ook wel te verwachten aangezien de sensor niet naukeurig genoeg om zinnige digits achter de komma te meten.

Wat je zou kunnen doen is een lopend-gemiddelde maken, dan kan je er nog wel een paar zinnige digit erbij verzinnen, maar moet je toch mee oppassen.
Wat je ook nog als informatie erbij kan maken is 'tendens', gaat ie omhoog of omlaag, dat is ook nog wel betrouwbaar te maken mbv vrij diepe middeling.

Ik weet niet waarom ze in je voorbeeld code in de lcd.print de resultaten casten naar een float ? ik denk dat dat meer te maken heeft met uitlijning op het scherm.
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 2
Geregistreerd: 09 Mrt 2013, 21:28

Re: DHT11, cijfers achter de komma

Berichtdoor peter7207 » 10 Mrt 2013, 12:00

Dank voor je reaktie en uitleg

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: axumivacoduk en 39 gasten