Vytisknout

Postup:

Zapojte čidlo podle návodu např. na http://arduino8.webnode.cz/news/lekce-6-cidlo-dht11-teplota-vlhkost/ .   Celkem tři vodiče:+5V=Vcc zapojte do některé zdířky 5V, GND do zdířky GND a třetí vodič (data) na zdířku 2 (digital) Arduina. Rezistor tam nemusí být, jinak dodám.

Na adrese https://github.com/RobTillaart/Arduino jsou knihovny, příslušnu knihovnu jsem stáhnul:

Otevřete vývojový SW pro arduino a v nabídce Sketch - Import Library - Add Library a přidejte stažený soubor.

Zapište, nebo překopírujte program (je tam mnoho komentářů pro pochopení):


#include <dht.h>

/*
 upraveno a okomentováno podle arduino.cc
 */

//vytvoří objekt DHT11 s názvem MojeCidlo
dht11 MojeCidlo; //

//procedura nastavení
void setup() {
  //initialize serial communication at 9600 bits per second
  //je to komunikace od arduina do PC, budeme zobrazovat teplotu na PC
  //na PC v menu Tools musíme zapnou Serial monitor - otevře se okno, kde se budou zobrazovat zprávy z arduina (teplota))
  Serial.begin(9600);
}      

// the loop routine runs over and over again forever:
// hlvní smyčka programu - vše ve void loop se opakuje stále dokola
void loop() {
  int chk=MojeCidlo.read(2); // přečte údaje z čidla DTH11 připojeného na pin 2, stav uloží do chk
  Serial.print("Read sensor: ");
  switch (chk)        // otestuj hodnotu proměnné chk
  {
    case DHTLIB_OK:        // v případě, že hodnota chk je OK, napiš "OK"
        Serial.println("OK");
        break;
    case DHTLIB_ERROR_CHECKSUM:
        Serial.println("Checksum error");
        break;
    case DHTLIB_ERROR_TIMEOUT:
        Serial.println("Time out error");
        break;
    default:
        Serial.println("Unknown error");
        break;
  }
  int hodnota = MojeCidlo.temperature;  //uloží přečtenou hodnou temperature do proměnné hodnota
  int vlhkost = MojeCidlo.humidity;     //uloží přečtenou hodnou humidity do proměnné vlhkost
  Serial.println(hodnota);              //vypíše na serial monitor - přenos indikuje ledka TX
  Serial.println(vlhkost);
  delay(3000);        // delay in between reads for stability čas je v ms, nelze menší než 2000 ms
}      // konec procedury void loop, která se ale opakuje, takže skok na začátel void loop

 

Přehrajte program do Arduina.

V nabídce Tool otevřete okno Serial monitor. Každé tři vteřiny by se měla objevit hodnota teploty a vlhkosti:

Read sensor: OK
22
63
Read sensor: OK
23
61
Read sensor: OK
23
62
Read sensor: OK
23
62