7.1 KiB
Matuokite temperatūrą - Wio Terminal
Šioje pamokos dalyje pridėsite temperatūros jutiklį prie savo Wio Terminal ir nuskaitysite temperatūros reikšmes iš jo.
Aparatūra
Wio Terminal reikalingas temperatūros jutiklis.
Jutiklis, kurį naudosite, yra DHT11 drėgmės ir temperatūros jutiklis, kuris sujungia 2 jutiklius viename pakete. Tai gana populiarus jutiklis, kurį galima rasti įvairiuose komerciškai prieinamuose modeliuose, sujungiančiuose temperatūrą, drėgmę ir kartais atmosferos slėgį. Temperatūros jutiklio komponentas yra termistorius su neigiamu temperatūros koeficientu (NTC), kurio varža mažėja, kai temperatūra didėja.
Tai yra skaitmeninis jutiklis, todėl jis turi integruotą ADC, kuris sukuria skaitmeninį signalą, turintį temperatūros ir drėgmės duomenis, kuriuos mikrovaldiklis gali nuskaityti.
Prijunkite temperatūros jutiklį
Grove temperatūros jutiklis gali būti prijungtas prie Wio Terminal skaitmeninio prievado.
Užduotis - prijunkite temperatūros jutiklį
Prijunkite temperatūros jutiklį.
-
Įstatykite vieną Grove kabelio galą į lizdą ant drėgmės ir temperatūros jutiklio. Kabelis įsistatys tik viena kryptimi.
-
Kai Wio Terminal yra atjungtas nuo kompiuterio ar kito maitinimo šaltinio, prijunkite kitą Grove kabelio galą prie dešiniojo Grove lizdo Wio Terminal, žiūrint į ekraną. Tai yra lizdas, esantis toliausiai nuo maitinimo mygtuko.
Programuokite temperatūros jutiklį
Dabar Wio Terminal galima programuoti, kad naudotų prijungtą temperatūros jutiklį.
Užduotis - programuokite temperatūros jutiklį
Programuokite įrenginį.
-
Sukurkite naują Wio Terminal projektą naudodami PlatformIO. Pavadinkite šį projektą
temperature-sensor
. Pridėkite kodąsetup
funkcijoje, kad sukonfigūruotumėte serijinį prievadą.⚠️ Jei reikia, galite pasinaudoti instrukcijomis, kaip sukurti PlatformIO projektą 1 projekte, 1 pamokoje.
-
Pridėkite bibliotekos priklausomybę Seeed Grove drėgmės ir temperatūros jutiklio bibliotekai į projekto
platformio.ini
failą:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
⚠️ Jei reikia, galite pasinaudoti instrukcijomis, kaip pridėti bibliotekas į PlatformIO projektą 1 projekte, 4 pamokoje.
-
Pridėkite šiuos
#include
direktyvas failo viršuje, po esamo#include <Arduino.h>
:#include <DHT.h> #include <SPI.h>
Tai importuoja failus, reikalingus sąveikai su jutikliu.
DHT.h
antraštės failas turi kodą, skirtą pačiam jutikliui, oSPI.h
antraštės pridėjimas užtikrina, kad kodas, reikalingas sąveikai su jutikliu, bus susietas, kai programa bus kompiliuojama. -
Prieš
setup
funkciją deklaruokite DHT jutiklį:DHT dht(D0, DHT11);
Tai deklaruoja
DHT
klasės egzempliorių, kuris valdo Digital Humidity ir Temperature jutiklį. Jis prijungtas prie prievadoD0
, dešiniojo Grove lizdo Wio Terminal. Antrasis parametras nurodo, kad naudojamas DHT11 jutiklis - biblioteka, kurią naudojate, palaiko kitus šio jutiklio variantus. -
setup
funkcijoje pridėkite kodą, kad nustatytumėte serijinį ryšį:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); }
-
setup
funkcijos pabaigoje, po paskutiniodelay
, pridėkite iškvietimą, kad paleistumėte DHT jutiklį:dht.begin();
-
loop
funkcijoje pridėkite kodą, kad iškviestumėte jutiklį ir atspausdintumėte temperatūrą į serijinį prievadą: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); }
Šis kodas deklaruoja tuščią 2 plaukiojančių taškų masyvą ir perduoda jį
readTempAndHumidity
iškvietimuiDHT
egzemplioriuje. Šis iškvietimas užpildo masyvą 2 reikšmėmis - drėgmė įrašoma į 0-ąjį masyvo elementą (prisiminkite, kad C++ masyvai yra 0 pagrindo, todėl 0-asis elementas yra „pirmasis“ masyvo elementas), o temperatūra įrašoma į 1-ąjį elementą.Temperatūra nuskaitoma iš 1-ojo masyvo elemento ir atspausdinama į serijinį prievadą.
🇺🇸 Temperatūra nuskaitoma Celsijaus laipsniais. Amerikiečiams, norint konvertuoti ją į Farenheito laipsnius, padalykite Celsijaus reikšmę iš 5, tada padauginkite iš 9 ir pridėkite 32. Pavyzdžiui, temperatūros reikšmė 20°C tampa ((20/5)*9) + 32 = 68°F.
-
Sukurkite ir įkelkite kodą į Wio Terminal.
⚠️ Jei reikia, galite pasinaudoti instrukcijomis, kaip sukurti PlatformIO projektą 1 projekte, 1 pamokoje.
-
Įkėlus, galite stebėti temperatūrą naudodami serijinį monitorių:
> 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
💁 Šį kodą galite rasti code-temperature/wio-terminal aplanke.
😀 Jūsų temperatūros jutiklio programa buvo sėkminga!
Atsakomybės apribojimas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus interpretavimus, atsiradusius naudojant šį vertimą.