Diskuze: Arduino - DHT11 knihovna
Člen
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Máš jinou knihovnu než v příkladu - existuje jich několik verzí - stáhni si tu pravou - tu špatnou smaž v průzkumníku v adresáři ../Arduino/libraries
Zjišťuju, že chyba je u autora - stáhl jsem knihovnu z odkazu "zde" a tam je opravdu jiná, než v příkladu
u této konkrétní se instance třídy dělá takto:
DHT11 cidlo();
//nebo
DHT11 cidlo(1);
//třída má přetížený konstruktor
kde je ale ta pravá to nevím nenašel jsem ji
s touto knihovnou by příklad vypadal takto:
#include <DHT11.h>
int dht11pin = 12;
DHT11 cidlo(dht11pin);
int piezo = 53;
int horko = 50;
float teplota;
float vlhkost;
String vstup;
boolean upozorneni = false;
void setup()
{
Serial.begin(9600);
}
void loop()
{
cidlo.read(teplota,vlhkost);
// teplota = cidlo.temperature;
//vlhkost = cidlo.humidity;
if (Serial.available())
{
int input =Serial.read();
vstup = String(input, DEC);
odpovez(vstup);
}
if ( teplota > horko){
tone(piezo, 1500);
if(upozorneni == false){
Serial.println("Je moc horko!");
upozorneni = true;
}
}
if (teplota < horko) {
noTone(piezo);
if(upozorneni == true){
Serial.println("Uz neni horko.");
upozorneni = false;
}
}
delay(100);
}
void odpovez(String vstup)
{
if (vstup == "116")
{
Serial.print("Teplota je ");
Serial.print(teplota);
Serial.println(" stupnu.");
}
else if(vstup == "118")
{
Serial.print("Vlhkost: ");
Serial.print(vlhkost);
Serial.println(" %.");
}
else
{
Serial.println("Ajaj, asi sem ti nerozumel. Napis \"t\" pro teplotu a \"v\" pro vlhkost.");
}
}
a jinak s tím přetíženým konstruktorem jsem se spletl - to druhé je destruktor
Fajn , klidně použij tu moji úpravu , ale pak ten můj příspěvek smaž
je tam změna v konstruktoru - musí se mu dát jako parametr číslo pinu a metodě read se předávají ukazatele na přísušné proměnné
metoda read navíc vrací hodnotu 0 při úspěchu a hodnotu 4 při chybě
Tak metoda read toho vrací víc
//return - 1 : read too shortly. retry latter .
// 0 : read successfully
// 1 : DHT11 not ready.
// 4 : Checksum Error
Ahoj, zkoušel jsem tento příklad a jen bych chtěl upozornit, že funkce cidlo.read() vyčítá jako první parametr vlhkost a jako druhý teplotu.
Zobrazeno 8 zpráv z 8.