6.6 KiB
Mõõda temperatuuri - Wio Terminal
Selles õppetunni osas lisad oma Wio Terminalile temperatuurianduri ja loed sellelt temperatuuri väärtusi.
Riistvara
Wio Terminal vajab temperatuuriandurit.
Andur, mida kasutad, on DHT11 niiskuse ja temperatuuri andur, mis ühendab kaks andurit ühes pakendis. See on üsna populaarne, kuna paljud kaubanduslikult saadaval olevad andurid ühendavad temperatuuri, niiskuse ja mõnikord ka õhurõhu mõõtmise. Temperatuurianduri komponent on negatiivse temperatuurikoefitsiendiga (NTC) termistor, termistor, mille takistus väheneb temperatuuri tõustes.
See on digitaalne andur, millel on sisseehitatud ADC, mis loob digitaalse signaali, mis sisaldab temperatuuri ja niiskuse andmeid, mida mikrokontroller saab lugeda.
Ühenda temperatuuriandur
Grove temperatuurianduri saab ühendada Wio Terminali digitaalsesse porti.
Ülesanne - ühenda temperatuuriandur
Ühenda temperatuuriandur.
-
Sisesta Grove-kaabli üks ots niiskuse ja temperatuuri anduri pistikusse. Kaabel läheb sisse ainult ühes suunas.
-
Kui Wio Terminal on lahti ühendatud arvutist või muust toiteallikast, ühenda Grove-kaabli teine ots Wio Terminali parempoolse Grove-pistikuga, vaadates ekraani. See on pistik, mis asub kõige kaugemal toitenupust.
Programmeeri temperatuuriandur
Nüüd saab Wio Terminali programmeerida kasutama ühendatud temperatuuriandurit.
Ülesanne - programmeeri temperatuuriandur
Programmeeeri seade.
-
Loo täiesti uus Wio Terminali projekt, kasutades PlatformIO-d. Nimeta see projekt
temperature-sensor. Lisa koodsetupfunktsiooni, et seadistada serial port.⚠️ Vajadusel võid viidata juhistele PlatformIO projekti loomiseks projektis 1, õppetund 1.
-
Lisa projekti
platformio.inifaili sõltuvus Seeed Grove niiskuse ja temperatuuri anduri teegist:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1⚠️ Vajadusel võid viidata juhistele teekide lisamiseks PlatformIO projekti projektis 1, õppetund 4.
-
Lisa järgmised
#includedirektiivid faili ülaossa, olemasoleva#include <Arduino.h>alla:#include <DHT.h> #include <SPI.h>See impordib failid, mis on vajalikud anduriga suhtlemiseks.
DHT.hpäisefail sisaldab koodi anduri jaoks, jaSPI.hpäisefaili lisamine tagab, et anduriga suhtlemiseks vajalik kood lingitakse rakenduse kompileerimisel. -
Deklareeri DHT andur enne
setupfunktsiooni:DHT dht(D0, DHT11);See deklareerib
DHTklassi instantsi, mis haldab Digitaalse Humidity ja Temperature andurit. See on ühendatud portiD0, mis on Wio Terminali parempoolne Grove-pistik. Teine parameeter ütleb koodile, et kasutatav andur on DHT11 - teek, mida kasutad, toetab selle anduri teisi variante. -
Lisa
setupfunktsiooni kood, et seadistada serial ühendus:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); } -
Lisa
setupfunktsiooni lõppu, pärast viimastdelay, käsk DHT anduri käivitamiseks:dht.begin(); -
Lisa
loopfunktsiooni kood, et kutsuda andurit ja printida temperatuur serial porti: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); }See kood deklareerib tühja 2 float-tüüpi elemendiga massiivi ja edastab selle
readTempAndHumiditymeetodileDHTinstantsil. See meetod täidab massiivi kahe väärtusega - niiskus läheb massiivi 0. elemendisse (pidage meeles, et C++ massiivid on 0-põhised, seega 0. element on massiivi "esimene" element) ja temperatuur läheb 1. elemendisse.Temperatuur loetakse massiivi 1. elemendist ja prinditakse serial porti.
🇺🇸 Temperatuur loetakse Celsiuse kraadides. Ameeriklaste jaoks, et teisendada see Fahrenheiti kraadideks, jagage loetud Celsiuse väärtus 5-ga, korrutage 9-ga ja lisage 32. Näiteks temperatuurinäit 20°C muutub ((20/5)*9) + 32 = 68°F.
-
Kompileeri ja laadi kood Wio Terminali.
⚠️ Vajadusel võid viidata juhistele PlatformIO projekti loomiseks projektis 1, õppetund 1.
-
Kui kood on üles laaditud, saad temperatuuri jälgida serial monitori abil:
> 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
💁 Selle koodi leiad code-temperature/wio-terminal kaustast.
😀 Sinu temperatuurianduri programm õnnestus!
Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.

