6.9 KiB
Mittaa lämpötila - Wio Terminal
Tässä osassa oppituntia lisäät lämpötila-anturin Wio Terminal -laitteeseesi ja luet siitä lämpötilan arvot.
Laitteisto
Wio Terminal tarvitsee lämpötila-anturin.
Anturi, jota käytät, on DHT11 kosteus- ja lämpötila-anturi, joka yhdistää kaksi anturia yhteen pakettiin. Tämä on melko suosittu, ja markkinoilla on useita antureita, jotka yhdistävät lämpötilan, kosteuden ja joskus myös ilmanpaineen mittauksen. Lämpötila-anturikomponentti on negatiivisen lämpötilakertoimen (NTC) termistori, eli termistori, jonka vastus pienenee lämpötilan noustessa.
Kyseessä on digitaalinen anturi, joten siinä on sisäänrakennettu ADC, joka luo digitaalisen signaalin sisältäen lämpötila- ja kosteustiedot, joita mikrokontrolleri voi lukea.
Yhdistä lämpötila-anturi
Grove-lämpötila-anturi voidaan liittää Wio Terminalin digitaaliseen porttiin.
Tehtävä - yhdistä lämpötila-anturi
Yhdistä lämpötila-anturi.
-
Työnnä Grove-kaapelin toinen pää kosteus- ja lämpötila-anturin liittimeen. Se menee sisään vain yhdellä tavalla.
-
Kun Wio Terminal ei ole kytketty tietokoneeseen tai muuhun virtalähteeseen, yhdistä Grove-kaapelin toinen pää Wio Terminalin oikeanpuoleiseen Grove-liittimeen, kun katsot näyttöä. Tämä on liitin, joka on kauimpana virtapainikkeesta.
Ohjelmoi lämpötila-anturi
Wio Terminal voidaan nyt ohjelmoida käyttämään liitettyä lämpötila-anturia.
Tehtävä - ohjelmoi lämpötila-anturi
Ohjelmoi laite.
-
Luo täysin uusi Wio Terminal -projekti käyttämällä PlatformIO:ta. Nimeä tämä projekti
temperature-sensor
. Lisää koodisetup
-funktioon sarjaportin konfiguroimiseksi.⚠️ Voit viitata ohjeisiin PlatformIO-projektin luomisesta projektissa 1, oppitunnilla 1 tarvittaessa.
-
Lisää kirjastoriippuvuus Seeed Grove -kosteus- ja lämpötila-anturin kirjastolle projektin
platformio.ini
-tiedostoon:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
⚠️ Voit viitata ohjeisiin kirjastojen lisäämisestä PlatformIO-projektiin projektissa 1, oppitunnilla 4 tarvittaessa.
-
Lisää seuraavat
#include
-direktiivit tiedoston alkuun, olemassa olevan#include <Arduino.h>
-direktiivin alle:#include <DHT.h> #include <SPI.h>
Tämä tuo tiedostot, joita tarvitaan anturin kanssa toimimiseen.
DHT.h
-otsikkotiedosto sisältää koodin itse anturille, ja lisäämälläSPI.h
-otsikkotiedoston varmistetaan, että anturin kanssa kommunikointiin tarvittava koodi linkitetään sovelluksen kääntämisen yhteydessä. -
Ennen
setup
-funktiota, määritä DHT-anturi:DHT dht(D0, DHT11);
Tämä määrittää
DHT
-luokan instanssin, joka hallitsee Digitaalista Kosteus- ja Lämpötila-anturia. Tämä on liitetty porttiinD0
, oikeanpuoleiseen Grove-liittimeen Wio Terminalissa. Toinen parametri kertoo koodille, että käytettävä anturi on DHT11 -anturi - käyttämäsi kirjasto tukee myös muita tämän anturin variantteja. -
Lisää
setup
-funktioon koodi sarjayhteyden asettamiseksi:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); }
-
Lisää
setup
-funktion loppuun, viimeisendelay
-kutsun jälkeen, kutsu DHT-anturin käynnistämiseksi:dht.begin();
-
Lisää
loop
-funktioon koodi, joka kutsuu anturia ja tulostaa lämpötilan sarjaporttiin: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); }
Tämä koodi määrittää tyhjän 2 desimaaliluvun taulukon ja välittää sen
readTempAndHumidity
-kutsuunDHT
-instanssissa. Tämä kutsu täyttää taulukon kahdella arvolla - kosteus menee taulukon 0. kohtaan (muista, että C++-taulukot ovat 0-pohjaisia, joten 0. kohta on taulukon 'ensimmäinen' kohta), ja lämpötila menee 1. kohtaan.Lämpötila luetaan taulukon 1. kohdasta ja tulostetaan sarjaporttiin.
🇺🇸 Lämpötila luetaan Celsius-asteina. Amerikkalaisille, Celsius-arvon muuntamiseksi Fahrenheit-asteiksi jaa Celsius-arvo viidellä, kerro yhdeksällä ja lisää 32. Esimerkiksi lämpötilalukema 20°C muuttuu ((20/5)*9) + 32 = 68°F.
-
Käännä ja lataa koodi Wio Terminaliin.
⚠️ Voit viitata ohjeisiin PlatformIO-projektin luomisesta projektissa 1, oppitunnilla 1 tarvittaessa.
-
Kun koodi on ladattu, voit seurata lämpötilaa sarjavalvonnan avulla:
> 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
💁 Löydät tämän koodin code-temperature/wio-terminal -kansiosta.
😀 Lämpötila-anturin ohjelma onnistui!
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.