You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/km/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp.md

136 lines
12 KiB

# វាស់សីតុណ្ហភាព - Wio Terminal
នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងបន្ថែមឧបករណ៍វាស់សីតុណ្ហភាពទៅកាន់ Wio Terminal របស់អ្នក ហើយអានតម្លៃសីតុណ្ហភាពពីវា។
## ឧបករណ៍រឹង
Wio Terminal ត្រូវការឧបករណ៍វាស់សីតុណ្ហភាព។
ឧបករណ៍ថាមពលដែលអ្នកនឹងប្រើគឺជា [ឧបករណ៍វាស់សំណើម និងសីតុណ្ហភាព DHT11](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html) ផ្តល់បញ្ចូលពីឧបករណ៍ពីររួមនៅក្នុងឯកជនមួយ។ វាមានប្រជាប្រិយភាពខ្លាំង ដោយមានឧបករណ៍ជាច្រើនដែលមានលក់ពាណិជ្ជកម្មរួមបញ្ចូលសីតុណ្ហភាព សំណើម និងមួយចំនួនព្រឹត្តិការណ៍សំពាធបរិយាកាស។ ឧបករណ៍វាស់សីតុណ្ហភាពគឺជាភាគរយវិការណ៍អាកាសធម្មតានៃធម្មជាតិ (NTC) thermistor ដែលមានភាពធូរស្បើយនៅពេលសីតុណ្ហភាពកើនឡើង។
នេះគឺជាឧបករណ៍ឌីជីថល ដូច្នេះវាជាឧបករណ៍ ADC ខាងក្នុងដើម្បីបង្កើតសញ្ញាឌីជីថលដែលមានទិន្នន័យសីតុណ្ហភាព និងសំណើមដែលម៉៊ីក្រូកុងត្រូលអាចអានបាន។
### ချိတ်ឧបករណ៍វាស់សីតុណ្ហភាព
ឧបករណ៍ Grove temperature sensor អាចត្រូវបានភ្ជាប់ទៅកាន់ពត៍តភ្ជាប់ឌីជីថលរបស់ Wio Terminal។
#### បេសកកម្ម - ខ្សែភ្ជាប់ឧបករណ៍វាស់សីតុណ្ហភាព
ភ្ជាប់ឧបករណ៍វាស់សីតុណ្ហភាព។
![ឧបករណ៍ Grove temperature sensor](../../../../../translated_images/km/grove-dht11.07f8eafceee17004.webp)
1. ដាក់ចុងនៃខ្សែ Grove មួយចុងទៅក្នុងផ្សិតលើឧបករណ៍វាស់សំណើម និងសីតុណ្ហភាព។ វានឹងដំណើរការតែមួយទិសតែម្តង។
1. នៅពេល Wio Terminal មិនបានភ្ជាប់ទៅកាន់កុំព្យូទ័រឬប្រភពថាមពលផ្សេងទៀត ទាក់ទងចុងក្រោយនៃខ្សែ Grove ទៅក្នុងផ្សិត Grove ពីចំហៀងស្តាំឆ្ងាយពីប៊ូតុងបំភ្លឺ។
![ឧបករណ៍ Grove temperature sensor ភ្ជាប់ទៅផ្សិតស្តាំ](../../../../../translated_images/km/wio-temperature-sensor.2934928f38c7f79a.webp)
## កម្មវិធីសម្រាប់ឧបករណ៍វាស់សីតុណ្ហភាព
ឥឡូវនេះ Wio Terminal អាចត្រូវបានកម្មវិធីដើម្បីប្រើឧបករណ៍វាស់សីតុណ្ហភាពភ្ជាប់។
### បេសកកម្មកម្មវិធីឧបករណ៍វាស់សីតុណ្ហភាព
កម្មវិធីវាស់សីតុណ្ហភាព។
1. បង្កើតគម្រោងថ្មី Wio Terminal ដោយប្រើ PlatformIO។ ហៅគម្រោងនេះថា `temperature-sensor`។ បន្ថែមកូដក្នុងមុខងារ `setup` ដើម្បីកំណត់ការភ្ជាប់ស៊េរី។
> ⚠️ អ្នកអាចយោងទៅកាន់ [ការណែនាំសម្រាប់បង្កើតគម្រោង PlatformIO ក្នុងគម្រោងទី 1 មេរៀនទី 1 ប្រសិនបើចាំបាច់](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#create-a-platformio-project)។
1. បន្ថែមការពឹងផ្អែកបណ្ណាល័យសម្រាប់បណ្ណាល័យ Grove Humidity and Temperature របស់ Seeed ទៅក្នុងឯកសារ `platformio.ini` របស់គម្រោង៖
```ini
lib_deps =
seeed-studio/Grove Temperature And Humidity Sensor @ 1.0.1
```
> ⚠️ អ្នកអាចយោងទៅកាន់ [ការណែនាំសម្រាប់បន្ថែមបណ្ណាល័យទៅគម្រោង PlatformIO ក្នុងគម្រោងទី 1 មេរៀនទី 4 ប្រសិនបើចាំបាច់](../../../1-getting-started/lessons/4-connect-internet/wio-terminal-mqtt.md#install-the-wifi-and-mqtt-arduino-libraries)។
1. បន្ថែម កូដ `#include` ខាងលើឯកសារ ពីក្រោម `#include <Arduino.h>` រួច៖
```cpp
#include <DHT.h>
#include <SPI.h>
```
នេះនាំចូលឯកសារដែលត្រូវបានប្រើដើម្បីធ្វើការទំនាក់ទំនងជាមួយឧបករណ៍វាស់។ ឯកសារ `DHT.h` មានកូដសម្រាប់ឧបករណ៍វាស់ដោយផ្ទាល់ ហើយការបន្ថែម `SPI.h` ជួយធានាការតភ្ជាប់កូដដែលចាំបាច់ក្នុងការប្រាស្រ័យទាក់ទងទៅឧបករណ៍នេះ។
1. មុនមុខងារ `setup` សូមប្រកាសឧបករណ៍ DHT៖
```cpp
DHT dht(D0, DHT11);
```
នេះជាការប្រកាសវត្ថុ DHT ដែលគ្រប់គ្រងឧបករណ៍ **D**igital **H**umidity និង **T**emperature។ វាត្រូវបានភ្ជាប់ទៅច្រក `D0` ដោយចំហៀងស្ដាំនៃជំពូក Grove របស់ Wio Terminal។ ប៉ារ៉ាម៉ែត្រទីពីរប្រាប់ថាឧបករណ៍ដែលប្រើគឺជាឧបករណ៍ *DHT11* - បណ្ណាល័យដែលអ្នកប្រើគាំទ្រឧបករណ៍ផ្សេងទៀតផងដែរ។
1. នៅក្នុងមុខងារ `setup` បន្ថែមកូដដើម្បីកំណត់ការភ្ជាប់ស៊េរី៖
```cpp
void setup()
{
Serial.begin(9600);
while (!Serial)
; // រង់ចាំ Serial ឲ្យបានរៀបចំរួចរាល់
delay(1000);
}
```
1. នៅចុងមុខងារ `setup` បន្ទាប់ពី `delay` ចុងក្រោយ បន្ថែមការហៅដើម្បីចាប់ផ្តើមឧបករណ៍ DHT៖
```cpp
dht.begin();
```
1. នៅក្នុងមុខងារ `loop` បន្ថែមកូដដើម្បីហៅឧបករណ៍ និងបញ្ចេញសីតុណ្ហភាពទៅច្រកស៊េរី៖
```cpp
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);
}
```
កូដនេះប្រកាសអារាយទទេ 2 ទំនេរ និងផ្ញើទៅហៅ `readTempAndHumidity` នៅលើវត្ថុ `DHT`។ ហៅនេះបំពេញអារាយជាមួយតម្លៃ 2 កំពុង - សំណើមភ្ជាប់នៅរបស់ធាតុកន្លង 0 (ចាំថាអារាយ C++ ចាប់ផ្តើមពីសូន្យ ដូចនេះធាតុខ្សែ 0 គឺធាតុខ្សែ "ដំបូង") ហើយសីតុណ្ហភាពត្រូវបញ្ចូលនៅក្នុងធាតុកន្លង 1។
សីតុណ្ហភាពត្រូវបានអានពីធាតុកន្លង 1 នៃអារាយ ហើយបញ្ចេញទៅច្រកស៊េរី។
> 🇺🇸 សីតុណ្ហភាពត្រូវបានអានជាថ្នាក់សេ្លស្យ យ៉ាងហោចណាស់ សម្រាប់អ្នកអាមេរិក ដើម្បីបម្លែងទៅថ្នាក់ Fahrenheit ចែកតម្លៃ Celsius ដោយ 5, បន្ទាប់មកគុណ 9, បូកបន្ថែម 32។ ឧទាហរណ៍ អានសីតុណ្ហភាព 20°C ក្លាយជា ((20/5)*9) + 32 = 68°F។
1. បង្កើត និងបញ្ចូលកូដទៅកាន់ Wio Terminal។
> ⚠️ អ្នកអាចយោងទៅកាន់ [ការណែនាំសម្រាប់បង្កើតគម្រោង PlatformIO ក្នុងគម្រោងទី 1 មេរៀនទី 1 ប្រសិនបើចាំបាច់](../../../1-getting-started/lessons/1-introduction-to-iot/wio-terminal.md#write-the-hello-world-app)។
1. បន្ទាប់ពីបញ្ចូលបាន អ្នកអាចត្រួតពិនិត្យសីតុណ្ហភាពដោយប្រើម៉ូនីទ័រស៊េរី៖
```output
> 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
```
> 💁 អ្នកអាចរកឃើញកូដនេះនៅក្នុងថត [code-temperature/wio-terminal](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/wio-terminal)។
😀 កម្មវិធីឧបករណ៍វាស់សីតុណ្ហភាពរបស់អ្នកបានជោគជ័យ!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការបដិសេធ**៖
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលដែលយើងខិតខំប្រឹងប្រែងដើម្បីមានភាពត្រឹមត្រូវ សូមយល់ថាការបកប្រែម៉ាស៊ីនអាចមានកំហុសឬការខ្វះភាពត្រឹមត្រូវ។ ឯកសារដើមដែលមានភាសាបណ្តើរមានត្រូវបានពិចារណាថាជាភ្ជាប់ដ៏មានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ សូមផ្ដល់អនុសាសន៍ឲ្យមានការបកប្រែដោយមនុស្សផ្សេងទៀតដែលមានជំនាញ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ចរចា ឬការបកប្រែក្រឡាត់ណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះទេ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->