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/sr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md

10 KiB

Мерење температуре - Wio Terminal

У овом делу лекције, додаћете сензор за температуру на ваш Wio Terminal и читати вредности температуре са њега.

Хардвер

Wio Terminal захтева сензор за температуру.

Сензор који ћете користити је DHT11 сензор за влажност и температуру, који комбинује два сензора у једном пакету. Ово је прилично популарно решење, са бројним комерцијално доступним сензорима који комбинују температуру, влажност, а понекад и атмосферски притисак. Компонента за мерење температуре је термистор са негативним температурним коефицијентом (NTC), термистор чији отпор опада са повећањем температуре.

Ово је дигитални сензор, тако да има уграђени АЦД (аналогно-дигитални конвертор) који ствара дигитални сигнал који садржи податке о температури и влажности, а који микроконтролер може да чита.

Повежите сензор за температуру

Grove сензор за температуру може се повезати на дигитални порт Wio Terminal-а.

Задатак - повежите сензор за температуру

Повежите сензор за температуру.

Grove сензор за температуру

  1. Уметните један крај Grove кабла у прикључак на сензору за влажност и температуру. Кабл ће ући само у једном смеру.

  2. Док је Wio Terminal искључен са вашег рачунара или другог извора напајања, повежите други крај Grove кабла са десним Grove прикључком на Wio Terminal-у, гледајући екран. То је прикључак који је најдаље од дугмета за напајање.

Grove сензор за температуру повезан са десним прикључком

Програмирање сензора за температуру

Wio Terminal сада може бити програмиран да користи повезани сензор за температуру.

Задатак - програмирајте сензор за температуру

Програмирајте уређај.

  1. Направите потпуно нови Wio Terminal пројекат користећи PlatformIO. Назовите овај пројекат temperature-sensor. Додајте код у функцију setup да конфигуришете серијски порт.

    ⚠️ Можете се позвати на упутства за креирање PlatformIO пројекта у пројекту 1, лекција 1 ако је потребно.

  2. Додајте зависност библиотеке за Seeed Grove сензор за влажност и температуру у platformio.ini датотеку пројекта:

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

    ⚠️ Можете се позвати на упутства за додавање библиотека у PlatformIO пројекат у пројекту 1, лекција 4 ако је потребно.

  3. Додајте следеће #include директиве на врх датотеке, испод постојећег #include <Arduino.h>:

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

    Ово увози датотеке потребне за интеракцију са сензором. DHT.h хедер датотека садржи код за сам сензор, а додавање SPI.h хедер датотеке осигурава да је код потребан за комуникацију са сензором укључен приликом компајлирања апликације.

  4. Пре функције setup, декларишите DHT сензор:

    DHT dht(D0, DHT11);
    

    Ово декларише инстанцу класе DHT која управља Дигиталним Хумидитетом и Температурним сензором. Овај сензор је повезан на порт D0, десни Grove прикључак на Wio Terminal-у. Други параметар говори коду да је коришћени сензор DHT11 - библиотека коју користите подржава и друге варијанте овог сензора.

  5. У функцији setup, додајте код за подешавање серијске везе:

    void setup()
    {
        Serial.begin(9600);
    
        while (!Serial)
            ; // Wait for Serial to be ready
    
        delay(1000);
    }
    
  6. На крају функције setup, након последњег delay, додајте позив за покретање DHT сензора:

    dht.begin();
    
  7. У функцији loop, додајте код за позивање сензора и испис температуре на серијски порт:

    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);
    }
    

    Овај код декларише празан низ од 2 флоат вредности и прослеђује га позиву readTempAndHumidity на инстанци DHT. Овај позив попуњава низ са 2 вредности - влажност иде у 0-ти елемент низа (запамтите да су у C++ низови базирани на 0, тако да је 0-ти елемент 'први' елемент у низу), а температура иде у 1-ви елемент.

    Температура се чита из 1-вог елемента низа и исписује на серијски порт.

    🇺🇸 Температура се чита у Целзијусима. За Американце, да бисте је претворили у Фаренхајте, поделите вредност у Целзијусима са 5, затим помножите са 9, па додајте 32. На пример, очитавање температуре од 20°C постаје ((20/5)*9) + 32 = 68°F.

  8. Компилирајте и отпремите код на Wio Terminal.

    ⚠️ Можете се позвати на упутства за креирање PlatformIO пројекта у пројекту 1, лекција 1 ако је потребно.

  9. Када је код отпремљен, можете пратити температуру користећи серијски монитор:

    > 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
    

💁 Овај код можете пронаћи у code-temperature/wio-terminal фолдеру.

😀 Ваш програм за сензор температуре је успешно завршен!


Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да обезбедимо тачност, молимо вас да имате у виду да аутоматски преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати ауторитативним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.