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

6.9 KiB

Mäta temperatur - Wio Terminal

I den här delen av lektionen kommer du att lägga till en temperatursensor till din Wio Terminal och läsa av temperaturvärden från den.

Hårdvara

Wio Terminal behöver en temperatursensor.

Sensorn du kommer att använda är en DHT11 fukt- och temperatursensor, som kombinerar två sensorer i en enhet. Den är ganska populär och det finns flera kommersiellt tillgängliga sensorer som kombinerar temperatur, fuktighet och ibland även atmosfärstryck. Temperaturkomponenten är en negativ temperaturkoefficient (NTC) termistor, en termistor där resistansen minskar när temperaturen ökar.

Detta är en digital sensor, så den har en inbyggd ADC som skapar en digital signal med temperatur- och fuktdata som mikrokontrollern kan läsa av.

Anslut temperatursensorn

Grove-temperatursensorn kan anslutas till Wio Terminals digitala port.

Uppgift - anslut temperatursensorn

Anslut temperatursensorn.

En Grove-temperatursensor

  1. Sätt ena änden av en Grove-kabel i uttaget på fukt- och temperatursensorn. Den går bara att sätta i på ett sätt.

  2. Med Wio Terminal frånkopplad från din dator eller annan strömkälla, anslut den andra änden av Grove-kabeln till det högra Grove-uttaget på Wio Terminal när du tittar på skärmen. Detta är uttaget längst bort från strömbrytaren.

Grove-temperatursensorn ansluten till det högra uttaget

Programmera temperatursensorn

Wio Terminal kan nu programmeras för att använda den anslutna temperatursensorn.

Uppgift - programmera temperatursensorn

Programmera enheten.

  1. Skapa ett helt nytt Wio Terminal-projekt med PlatformIO. Ge projektet namnet temperature-sensor. Lägg till kod i funktionen setup för att konfigurera den seriella porten.

    ⚠️ Du kan hänvisa till instruktionerna för att skapa ett PlatformIO-projekt i projekt 1, lektion 1 om det behövs.

  2. Lägg till ett bibliotek för Seeed Grove Humidity and Temperature-sensorn i projektets platformio.ini-fil:

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

    ⚠️ Du kan hänvisa till instruktionerna för att lägga till bibliotek i ett PlatformIO-projekt i projekt 1, lektion 4 om det behövs.

  3. Lägg till följande #include-direktiv högst upp i filen, under det befintliga #include <Arduino.h>:

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

    Detta importerar filer som behövs för att interagera med sensorn. Header-filen DHT.h innehåller koden för själva sensorn, och genom att lägga till SPI.h säkerställer du att koden som behövs för att kommunicera med sensorn länkas in när appen kompileras.

  4. Före funktionen setup, deklarera DHT-sensorn:

    DHT dht(D0, DHT11);
    

    Detta deklarerar en instans av klassen DHT som hanterar den Digitala Humidity och Temperature-sensorn. Den är ansluten till port D0, det högra Grove-uttaget på Wio Terminal. Den andra parametern anger att sensorn som används är DHT11 - biblioteket du använder stödjer andra varianter av denna sensor.

  5. I funktionen setup, lägg till kod för att konfigurera den seriella anslutningen:

    void setup()
    {
        Serial.begin(9600);
    
        while (!Serial)
            ; // Wait for Serial to be ready
    
        delay(1000);
    }
    
  6. I slutet av funktionen setup, efter den sista delay, lägg till ett anrop för att starta DHT-sensorn:

    dht.begin();
    
  7. I funktionen loop, lägg till kod för att anropa sensorn och skriva ut temperaturen till den seriella porten:

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

    Denna kod deklarerar en tom array med två flyttal och skickar den till anropet readTempAndHumidity på instansen DHT. Detta anrop fyller arrayen med två värden - fuktigheten placeras i det första elementet (index 0) och temperaturen placeras i det andra elementet (index 1).

    Temperaturen läses från det andra elementet i arrayen och skrivs ut till den seriella porten.

    🇺🇸 Temperaturen läses av i Celsius. För amerikaner, för att konvertera detta till Fahrenheit, dela Celsius-värdet med 5, multiplicera med 9 och lägg till 32. Till exempel blir en temperaturavläsning på 20°C ((20/5)*9) + 32 = 68°F.

  8. Bygg och ladda upp koden till Wio Terminal.

    ⚠️ Du kan hänvisa till instruktionerna för att skapa ett PlatformIO-projekt i projekt 1, lektion 1 om det behövs.

  9. När koden har laddats upp kan du övervaka temperaturen med den seriella monitorn:

    > 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
    

💁 Du kan hitta denna kod i mappen code-temperature/wio-terminal.

😀 Ditt program för temperatursensorn blev en framgång!


Ansvarsfriskrivning:
Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, bör det noteras att automatiserade översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess originalspråk bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för eventuella missförstånd eller feltolkningar som uppstår vid användning av denna översättning.