NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Ondřej Pohořelý:21.2.2016 13:29

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.2.2016 13:29
Nezastavuj se dlouho protože život nikdy nečeká !
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Ondřej Pohořelý
ostrozan:21.2.2016 14:32

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.2.2016 14:32
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Ondřej Pohořelý
ostrozan:21.2.2016 14:51

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.2.2016 14:51
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na ostrozan
Adam Ježek:21.2.2016 14:53

ona byla aktualizovaná, já to musim opravit

Nahoru Odpovědět
21.2.2016 14:53
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na ostrozan
ostrozan:21.2.2016 15:14

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í
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
21.2.2016 15:14
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Adam Ježek
ostrozan:21.2.2016 15:24

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.2.2016 15:24
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Adam Ježek
ostrozan:21.2.2016 15:33

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.2.2016 15:33
Avatar
Odpovídá na ostrozan
Lukáš Navrátil:15.10.2016 14:54

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.10.2016 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.