Avatar
Ondřej Pohořelý:

Ahoj mám problém s knihovnou DHT11 když sem ji nahrával nahrála se s velkými písmeny a když použiju kód z lekce DHT11 z itnetworku tak mi to s malými písmeny nejde tak to přepíši na velké a je tu problém:

Arduino: 1.6.7 (Windows 7), Vývojová deska: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

dht11_itnetwork_cz:2: error: 'dht11' does not name a type

 dht11 cidlo;

 ^

C:\Users\Ondra\Downloads\dht11_itnetwork_cz\dht11_itnetwork_cz.ino: In function 'void loop()':

dht11_itnetwork_cz:19: error: 'cidlo' was not declared in this scope

   cidlo.read(dht11pin);

   ^

exit status 1
'dht11' does not name a type

  Tento výpis by měl více informací s
  "Zobrazit více informací během kompilace"
  povoleno v Soubor > Vlastnosti

a označí mi to řádek : dht11 cidlo;

takže prosím o buď :

změněný kód

a nebo

o návod jak smazat tuto knihovnu s velkými písmeny děkuji moc

Odpovědět 21. února 13:29
Nezastavuj se dlouho protože život nikdy nečeká !
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Ondřej Pohořelý
ostrozan:

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/li­braries

 
Nahoru Odpovědět 21. února 14:32
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Ondřej Pohořelý
ostrozan:

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

 
Nahoru Odpovědět 21. února 14:51
Avatar
Adam Ježek
Tým ITnetwork
Avatar
Odpovídá na ostrozan
Adam Ježek:

ona byla aktualizovaná, já to musim opravit

Nahoru Odpovědět 21. února 14:53
Pokud chceš odpovědět, klikni na odpovědět. Pokud chceš vložit zdroják, klikni na vložit zdroják (</>)
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na ostrozan
ostrozan:

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

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 21. února 15:14
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Adam Ježek
ostrozan:

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ě

 
Nahoru Odpovědět 21. února 15:24
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Adam Ježek
ostrozan:

Tak metoda read toho vrací víc

//return - 1 : read too shortly. retry latter .
// 0 : read successfully
// 1 : DHT11 not ready.
// 4 : Checksum Error

 
Nahoru Odpovědět 21. února 15:33
Avatar
Odpovídá na ostrozan
Lukáš Navrátil:

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.

 
Nahoru Odpovědět 15. října 14:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.