7.4 KiB
Sukatin ang temperatura - Wio Terminal
Sa bahaging ito ng aralin, magdadagdag ka ng temperature sensor sa iyong Wio Terminal, at babasahin ang mga halaga ng temperatura mula rito.
Kagamitan
Kailangan ng Wio Terminal ng temperature sensor.
Ang sensor na gagamitin mo ay isang DHT11 humidity at temperature sensor, na pinagsasama ang 2 sensor sa isang pakete. Ito ay medyo popular, at maraming mga sensor na komersyal na magagamit ang pinagsasama ang temperatura, halumigmig, at minsan ang atmospheric pressure. Ang temperature sensor component ay isang negative temperature coefficient (NTC) thermistor, isang thermistor kung saan bumababa ang resistance habang tumataas ang temperatura.
Ito ay isang digital sensor, kaya mayroon itong onboard ADC upang lumikha ng digital signal na naglalaman ng data ng temperatura at halumigmig na mababasa ng microcontroller.
Ikonekta ang temperature sensor
Ang Grove temperature sensor ay maaaring ikonekta sa digital port ng Wio Terminal.
Gawain - ikonekta ang temperature sensor
Ikonekta ang temperature sensor.
-
Ipasok ang isang dulo ng Grove cable sa socket ng humidity at temperature sensor. Isa lang ang tamang paraan para maipasok ito.
-
Kapag ang Wio Terminal ay hindi nakakonekta sa iyong computer o ibang power supply, ikonekta ang kabilang dulo ng Grove cable sa Grove socket sa kanang bahagi ng Wio Terminal habang nakatingin ka sa screen. Ito ang socket na pinakamalayo sa power button.
I-program ang temperature sensor
Ang Wio Terminal ay maaari nang i-program upang magamit ang nakakabit na temperature sensor.
Gawain - i-program ang temperature sensor
I-program ang device.
-
Gumawa ng bagong Wio Terminal project gamit ang PlatformIO. Tawagin ang proyektong ito na
temperature-sensor
. Magdagdag ng code sasetup
function upang i-configure ang serial port.⚠️ Maaari kang sumangguni sa mga tagubilin para sa paggawa ng PlatformIO project sa project 1, lesson 1 kung kinakailangan.
-
Magdagdag ng library dependency para sa Seeed Grove Humidity at Temperature sensor library sa
platformio.ini
file ng proyekto:lib_deps = seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
⚠️ Maaari kang sumangguni sa mga tagubilin para sa pagdaragdag ng mga library sa isang PlatformIO project sa project 1, lesson 4 kung kinakailangan.
-
Magdagdag ng mga sumusunod na
#include
directives sa itaas ng file, sa ilalim ng umiiral na#include <Arduino.h>
:#include <DHT.h> #include <SPI.h>
Ina-import nito ang mga file na kailangan upang makipag-ugnayan sa sensor. Ang
DHT.h
header file ay naglalaman ng code para sa sensor mismo, at ang pagdaragdag ngSPI.h
header ay tinitiyak na ang code na kailangan upang makipag-usap sa sensor ay naka-link kapag ang app ay na-compile. -
Bago ang
setup
function, ideklara ang DHT sensor:DHT dht(D0, DHT11);
Ideklara nito ang isang instance ng
DHT
class na namamahala sa Digital Humidity at Temperature sensor. Ito ay nakakonekta sa portD0
, ang Grove socket sa kanang bahagi ng Wio Terminal. Ang pangalawang parameter ay nagsasabi sa code na ang sensor na ginagamit ay ang DHT11 sensor - sinusuportahan ng library na ginagamit mo ang iba pang mga variant ng sensor na ito. -
Sa
setup
function, magdagdag ng code upang i-set up ang serial connection:void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); }
-
Sa dulo ng
setup
function, pagkatapos ng hulingdelay
, magdagdag ng tawag upang simulan ang DHT sensor:dht.begin();
-
Sa
loop
function, magdagdag ng code upang tawagan ang sensor at i-print ang temperatura sa serial port: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); }
Ang code na ito ay nagdedeklara ng isang walang laman na array ng 2 floats, at ipinapasa ito sa tawag sa
readTempAndHumidity
saDHT
instance. Ang tawag na ito ay pinupunan ang array ng 2 halaga - ang halumigmig ay napupunta sa ika-0 item sa array (tandaan na sa C++ ang mga array ay 0-based, kaya ang ika-0 item ay ang 'unang' item sa array), at ang temperatura ay napupunta sa ika-1 item.Ang temperatura ay binabasa mula sa ika-1 item sa array, at ini-print sa serial port.
🇺🇸 Ang temperatura ay binabasa sa Celsius. Para sa mga Amerikano, upang i-convert ito sa Fahrenheit, hatiin ang halaga ng Celsius na nabasa sa 5, pagkatapos ay i-multiply sa 9, pagkatapos ay magdagdag ng 32. Halimbawa, ang temperatura na 20°C ay nagiging ((20/5)*9) + 32 = 68°F.
-
I-build at i-upload ang code sa Wio Terminal.
⚠️ Maaari kang sumangguni sa mga tagubilin para sa paggawa ng PlatformIO project sa project 1, lesson 1 kung kinakailangan.
-
Kapag na-upload na, maaari mong i-monitor ang temperatura gamit ang serial monitor:
> 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
💁 Maaari mong mahanap ang code na ito sa code-temperature/wio-terminal folder.
😀 Tagumpay ang iyong temperature sensor program!
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito.