6.9 KiB
Mål temperatur - Wio Terminal
I denne delen av leksjonen skal du legge til en temperatursensor på din Wio Terminal og lese temperaturverdier fra den.
Maskinvare
Wio Terminal trenger en temperatursensor.
Sensoren du skal bruke er en DHT11 fuktighets- og temperatursensor, som kombinerer to sensorer i én pakke. Denne sensoren er ganske populær, og det finnes flere kommersielt tilgjengelige sensorer som kombinerer temperatur, fuktighet og noen ganger også atmosfærisk trykk. Temperaturkomponenten er en negativ temperaturkoeffisient (NTC) termistor, en type termistor hvor motstanden reduseres når temperaturen øker.
Dette er en digital sensor, så den har en innebygd ADC som lager et digitalt signal med temperatur- og fuktighetsdata som mikrokontrolleren kan lese.
Koble til temperatursensoren
Grove-temperatursensoren kan kobles til Wio Terminals digitale port.
Oppgave - koble til temperatursensoren
Koble til temperatursensoren.
-
Sett den ene enden av en Grove-kabel inn i kontakten på fuktighets- og temperatursensoren. Den kan bare settes inn på én måte.
-
Med Wio Terminal frakoblet fra datamaskinen eller annen strømkilde, koble den andre enden av Grove-kabelen til den høyre Grove-kontakten på Wio Terminal når du ser på skjermen. Dette er kontakten som er lengst unna strømknappen.
Programmer temperatursensoren
Wio Terminal kan nå programmeres til å bruke den tilkoblede temperatursensoren.
Oppgave - programmer temperatursensoren
Programmer enheten.
-
Opprett et helt nytt Wio Terminal-prosjekt ved hjelp av PlatformIO. Kall dette prosjektet
temperature-sensor
. Legg til kode isetup
-funksjonen for å konfigurere seriellporten.⚠️ Du kan se instruksjonene for å opprette et PlatformIO-prosjekt i prosjekt 1, leksjon 1 hvis nødvendig.
-
Legg til et bibliotekavhengighet for Seeed Grove Humidity and Temperature-sensorbiblioteket i prosjektets
platformio.ini
-fil:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
⚠️ Du kan se instruksjonene for å legge til biblioteker i et PlatformIO-prosjekt i prosjekt 1, leksjon 4 hvis nødvendig.
-
Legg til følgende
#include
-direktiver øverst i filen, under den eksisterende#include <Arduino.h>
:#include <DHT.h> #include <SPI.h>
Dette importerer filene som trengs for å samhandle med sensoren.
DHT.h
-headerfilen inneholder koden for selve sensoren, og ved å legge tilSPI.h
-headeren sikrer du at koden som trengs for å kommunisere med sensoren blir inkludert når appen kompileres. -
Før
setup
-funksjonen, deklarer DHT-sensoren:DHT dht(D0, DHT11);
Dette deklarerer en instans av
DHT
-klassen som håndterer den Digitale Humidity og Temperature-sensoren. Denne er koblet til portD0
, den høyre Grove-kontakten på Wio Terminal. Den andre parameteren forteller koden at sensoren som brukes er DHT11-sensoren - biblioteket du bruker støtter andre varianter av denne sensoren. -
I
setup
-funksjonen, legg til kode for å sette opp den serielle forbindelsen:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); }
-
På slutten av
setup
-funksjonen, etter den sistedelay
, legg til et kall for å starte DHT-sensoren:dht.begin();
-
I
loop
-funksjonen, legg til kode for å kalle sensoren og skrive ut temperaturen til seriellporten: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); }
Denne koden deklarerer et tomt array med 2 floats og sender dette til kallet til
readTempAndHumidity
påDHT
-instansen. Dette kallet fyller arrayet med 2 verdier - fuktigheten går inn i det første elementet i arrayet (0-indeksert), og temperaturen går inn i det andre elementet.Temperaturen leses fra det andre elementet i arrayet og skrives ut til seriellporten.
🇺🇸 Temperaturen leses i Celsius. For amerikanere, for å konvertere dette til Fahrenheit, del Celsius-verdien på 5, multipliser med 9, og legg til 32. For eksempel, en temperaturavlesning på 20°C blir ((20/5)*9) + 32 = 68°F.
-
Bygg og last opp koden til Wio Terminal.
⚠️ Du kan se instruksjonene for å opprette et PlatformIO-prosjekt i prosjekt 1, leksjon 1 hvis nødvendig.
-
Når koden er lastet opp, kan du overvåke temperaturen ved hjelp av seriellmonitoren:
> 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 finner denne koden i code-temperature/wio-terminal-mappen.
😀 Programmet for temperatursensoren var en suksess!
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.