You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/hu/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md

7.6 KiB

Hőmérséklet mérése - Wio Terminal

Ebben a leckében hozzáadunk egy hőmérséklet-érzékelőt a Wio Terminalhoz, és kiolvassuk belőle a hőmérsékleti értékeket.

Hardver

A Wio Terminalhoz szükség van egy hőmérséklet-érzékelőre.

Az érzékelő, amit használni fogsz, egy DHT11 páratartalom- és hőmérséklet-érzékelő, amely két érzékelőt kombinál egy csomagban. Ez egy meglehetősen népszerű érzékelő, és számos kereskedelmi forgalomban kapható változata létezik, amelyek hőmérsékletet, páratartalmat és néha légnyomást is mérnek. A hőmérséklet-érzékelő komponens egy negatív hőmérsékleti együtthatójú (NTC) termisztor, amelynek ellenállása csökken, ahogy a hőmérséklet nő.

Ez egy digitális érzékelő, amely beépített ADC-vel rendelkezik, hogy digitális jelet hozzon létre, amely tartalmazza a hőmérséklet- és páratartalom-adatokat, amelyeket a mikrokontroller ki tud olvasni.

Csatlakoztasd a hőmérséklet-érzékelőt

A Grove hőmérséklet-érzékelő csatlakoztatható a Wio Terminal digitális portjához.

Feladat - csatlakoztasd a hőmérséklet-érzékelőt

Csatlakoztasd a hőmérséklet-érzékelőt.

Egy Grove hőmérséklet-érzékelő

  1. Illeszd be a Grove kábel egyik végét a páratartalom- és hőmérséklet-érzékelő aljzatába. Csak egyféleképpen illeszkedik.

  2. Miután a Wio Terminal nincs csatlakoztatva a számítógéphez vagy más áramforráshoz, csatlakoztasd a Grove kábel másik végét a Wio Terminal jobb oldali Grove aljzatába, ahogy a képernyőre nézel. Ez az aljzat van a legtávolabb a bekapcsológombtól.

A Grove hőmérséklet-érzékelő csatlakoztatva a jobb oldali aljzathoz

Programozd a hőmérséklet-érzékelőt

Most programozhatod a Wio Terminalt, hogy használja a csatlakoztatott hőmérséklet-érzékelőt.

Feladat - programozd a hőmérséklet-érzékelőt

Programozd az eszközt.

  1. Hozz létre egy teljesen új Wio Terminal projektet a PlatformIO segítségével. Nevezd el ezt a projektet temperature-sensor-nak. Adj hozzá kódot a setup függvényben a soros port konfigurálásához.

    ⚠️ Hivatkozhatsz az 1. projekt, 1. lecke PlatformIO projekt létrehozására vonatkozó utasításaira, ha szükséges.

  2. Adj hozzá egy könyvtárfüggőséget a Seeed Grove páratartalom- és hőmérséklet-érzékelő könyvtárhoz a projekt platformio.ini fájljában:

    lib_deps =
        seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
    

    ⚠️ Hivatkozhatsz az 1. projekt, 4. lecke PlatformIO projekthez könyvtárak hozzáadására vonatkozó utasításaira, ha szükséges.

  3. Add hozzá a következő #include direktívákat a fájl tetejére, a meglévő #include <Arduino.h> alá:

    #include <DHT.h>
    #include <SPI.h>
    

    Ez importálja az érzékelővel való interakcióhoz szükséges fájlokat. A DHT.h fejlécfájl tartalmazza az érzékelőhöz szükséges kódot, és a SPI.h fejléc hozzáadása biztosítja, hogy az érzékelővel való kommunikációhoz szükséges kód is bekerüljön a fordítás során.

  4. A setup függvény előtt deklaráld a DHT érzékelőt:

    DHT dht(D0, DHT11);
    

    Ez deklarál egy példányt a DHT osztályból, amely kezeli a Digitális Humidity és Temperature érzékelőt. Ez a D0 porthoz van csatlakoztatva, amely a Wio Terminal jobb oldali Grove aljzata. A második paraméter megadja, hogy a használt érzékelő a DHT11 típusú - a használt könyvtár más változatokat is támogat.

  5. A setup függvényben adj hozzá kódot a soros kapcsolat beállításához:

    void setup()
    {
        Serial.begin(9600);
    
        while (!Serial)
            ; // Wait for Serial to be ready
    
        delay(1000);
    }
    
  6. A setup függvény végén, az utolsó delay után, add hozzá a DHT érzékelő indítására vonatkozó hívást:

    dht.begin();
    
  7. A loop függvényben adj hozzá kódot az érzékelő hívásához és a hőmérséklet soros portra történő kiírásához:

    void loop()
    {
        float temp_hum_val[2] = {0};
        dht.readTempAndHumidity(temp_hum_val);
        Serial.print("Temperature: ");
        Serial.print(temp_hum_val[1]);
        Serial.println ("°C");
    
        delay(10000);
    }
    

    Ez a kód deklarál egy üres tömböt 2 lebegőpontos számmal, és ezt adja át a readTempAndHumidity hívásnak a DHT példányon. Ez a hívás feltölti a tömböt 2 értékkel - a páratartalom a tömb 0. elemébe kerül (ne feledd, hogy a C++ tömbök 0-alapúak, tehát a 0. elem az első elem), a hőmérséklet pedig az 1. elembe.

    A hőmérséklet az 1. elemből kerül kiolvasásra, és kiírásra kerül a soros portra.

    🇺🇸 A hőmérséklet Celsiusban kerül kiolvasásra. Az amerikaiak számára, ha ezt Fahrenheitre szeretnéd átváltani, oszd el a Celsius értéket 5-tel, majd szorozd meg 9-cel, és adj hozzá 32-t. Például egy 20°C-os hőmérséklet ((20/5)*9) + 32 = 68°F lesz.

  8. Fordítsd le és töltsd fel a kódot a Wio Terminalra.

    ⚠️ Hivatkozhatsz az 1. projekt, 1. lecke PlatformIO projekt létrehozására vonatkozó utasításaira, ha szükséges.

  9. Feltöltés után a soros monitor segítségével figyelheted a hőmérsékletet:

    > Executing task: platformio device monitor <
    
    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Temperature: 25.00°C
    Temperature: 25.00°C
    Temperature: 25.00°C
    Temperature: 24.00°C
    

💁 Ezt a kódot megtalálod a code-temperature/wio-terminal mappában.

😀 Sikeresen elkészült a hőmérséklet-érzékelő programod!


Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás, a Co-op Translator segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.