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/pi-temp.md

118 lines
10 KiB

# វាស់សីតុណ្ហភាព - Raspberry Pi
នៅផ្នែកនេះនៃមេរៀន អ្នកនឹងបន្ថែមឧបករណ៍ចាប់សីតុណ្ហភាពទៅកាន់ Raspberry Pi របស់អ្នក។
## ឧបករណ៍រឹង
ឧបករណ៍ចាប់ដែលអ្នកនឹងប្រើគឺ [ឧបករណ៍ចាប់សំណើមនិងសីតុណ្ហភាព DHT11](https://www.seeedstudio.com/Grove-Temperature-Humidity-Sensor-DHT11.html) ដែលបង្កប់ឧបករណ៍ចាប់ពីរសម្រាប់ក្នុងកញ្ចប់មួយ។ វាជាទូទៅពេញនិយម ដោយមានឧបករណ៍ចាប់ជាច្រើនដែលមានលក់ពាណិជ្ជកម្មរួមបញ្ចូលសីតុណ្ហភាព សំណើម និងពេលខ្លះសំពាធបរិយាកាស។ ឧបករណ៍ចាប់សីតុណ្ហភាពគឺជាកម្មន្តិតសីតុណ្ហភាពអវិជ្ជមាន (NTC) thermistor ដែលកម្រិតអង្គុយបន្ថយឲ្យតិចជាមួយនឹងជំឡៅកម្តៅ បង្កើនឡើង។
នេះជាឧបករណ៍ចាប់ឌីជីថល ដូច្នេះវាមាន ADC នៅលើផ្ទៃក្តារដើម្បីបង្កើតសញ្ញាឌីជីថលដែលមានទិន្នន័យសីតុណ្ហភាព និងសំណើមដែលម៉ាយគ្រូខលរម៉ាស់អាចអានបាន។
### ទាក់ទងឧបករណ៍ចាប់សីតុណ្ហភាព
ឧបករណ៍ចាប់សីតុណ្ហភាព Grove អាចត្រូវបានភ្ជាប់ទៅកាន់ Raspberry Pi។
#### ការងារ
ភ្ជាប់ឧបករណ៍ចាប់សីតុណ្ហភាព
![A grove temperature sensor](../../../../../translated_images/km/grove-dht11.07f8eafceee17004.webp)
1. ដាក់ចុងខ្មែរមួយនៃខ្សែ Grove ចូលទៅក្នុងរន្ទះលើឧបករណ៍ចាប់សំណើម និងសីតុណ្ហភាព។ វានឹងចូលត្រឹមផ្នែកមួយប៉ុណ្ណោះ។
1. ពេល Raspberry Pi បិទភ្លើង សូមភ្ជាប់ចុងខ្សែលេខ Grove ផ្សេងទៀតទៅរន្ទះឌីជីថលដែលមានស្លាក **D5** នៅលើ Grove Base hat ដែលភ្ជាប់ទៅ Pi។ រន្ធនេះគឺជារន្ធទីពីរពីខាងឆ្វេង នៅជួររន្ធនៅជាប់ទៅកាន់ពិន GPIO។
![The grove temperature sensor connected to socket A0](../../../../../translated_images/km/pi-temperature-sensor.3ff82fff672c8e56.webp)
## កម្មវិធីឧបករណ៍ចាប់សីតុណ្ហភាព
ឧបករណ៍ឥឡូវនេះអាចត្រូវបានកម្មវិធីដើម្បីប្រើឧបករណ៍ចាប់សីតុណ្ហភាពដែលភ្ជាប់។
### ការងារ
កម្មវិធីឧបករណ៍។
1. បើក Pi ហើយរង់ចាំអោយវាបញ្ចេញកំណត់ត្រាជាដំណើរការ
1. បើក VS Code, អាចត្រូវបានបើកដោយផ្ទាល់លើ Pi រឺភ្ជាប់តាមប្រោង Remote SSH ។
> ⚠️ អ្នកអាចយោងទៅ [សេចក្ដីណែនាំសម្រាប់ដំឡើង និងបើក VS Code ក្នុងមេរៀនទី 1 ប្រសិនបើត្រូវការ](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)។
1. ពីបន្ទាត់បញ្ចូល បង្កើតថតថ្មីមួយនៅក្នុងថតផ្ទះអ្នកប្រើ `pi` មានឈ្មោះ `temperature-sensor`។ បង្កើតឯកសារមួយក្នុងថតនេះឈ្មោះ `app.py`
```sh
mkdir temperature-sensor
cd temperature-sensor
touch app.py
```
1. បើកថតនេះនៅក្នុង VS Code
1. ដើម្បីប្រើឧបករណ៍ចាប់សីតុណ្ហភាព និងសំណើម កម្មវិធី Pip បន្ថែមត្រូវបានដំឡើង។ ពី Terminal នៅក្នុង VS Code អនុវត្តន៍ពាក្យបញ្ជាខាងក្រោមដើម្បីដំឡើងកញ្ចប់ Pip នេះលើ Pi៖
```sh
pip3 install seeed-python-dht
```
1. បន្ថែមកូដខាងក្រោមទៅឯកសារ `app.py` ដើម្បីនាំចូលបណ្ណាល័យដែលត្រូវការ៖
```python
import time
from seeed_dht import DHT
```
សេចក្ដីថ្លែង `from seeed_dht import DHT` នាំចូលថ្នាក់ឧបករណ៍ចាប់ `DHT` ដើម្បីធ្វើប្រតិបត្តិការជាមួយ Grove temperature sensor ពីម៉ូឌុល `seeed_dht`
1. បន្ថែមកូដខាងក្រោមបន្ទាប់ពីកូដខាងលើ ដើម្បីបង្កើតអាំងស្តង់ស្យង់នៃថ្នាក់ដែលគ្រប់គ្រងឧបករណ៍ចាប់សីតុណ្ហភាព៖
```python
sensor = DHT("11", 5)
```
នេះធ្វើការកំណត់អាំងស្តង់ស្យង់ពីថ្នាក់ `DHT` ដែលគ្រប់គ្រងឧបករណ៍ **D**igital **H**umidity និង **T**emperature sensor។ ប៉ារ៉ាម៉ែត្រដំបូងប្រាប់កូដឲ្យដឹងថាឧបករណ៍ចាប់ដែលប្រើគឺសិនស័រ *DHT11* - បណ្ណាល័យដែលអ្នកកំពុងប្រើគាំទ្រសិនស័រផ្សេងទៀត។ ប៉ារ៉ាម៉ែត្រថ្ងៃទីពីរប្រាប់កូដថាឧបករណ៍ភ្ជាប់ទៅព័រឌីជីថល `D5` លើ Grove base hat។
> ✅ ចងចាំថា រន្ធទាំងអស់មានលេខពិនតែមួយរបស់ខ្លួន។ ពិន 0, 2, 4, និង 6 គឺជាពិនអាណាឡូក, ពិន 5, 16, 18, 22, 24 និង 26 គឺជាពិនឌីជីថល។
1. បន្ថែមច្រកវង់ អញ្ញើញក្រោយកូដខាងលើដើម្បីស្ទង់តម្លៃឧបករណ៍ចាប់សីតុណ្ហភាព ហើយបង្ហាញវាលើ console៖
```python
while True:
_, temp = sensor.read()
print(f'Temperature {temp}°C')
```
ការហៅទៅ `sensor.read()` ត្រឡប់តម្លៃជាគូ (tuple) នៃសំណើម និងសីតុណ្ហភាព។ អ្នកត្រូវការតែតម្លៃសីតុណ្ហភាពប៉ុណ្ណោះ ដូចនេះសំណើមត្រូវបានរំលង។ តម្លៃសីតុណ្ហភាពត្រូវបានបោះពុម្ពទៅ console ។
1. បន្ថែមការគេងខ្លីពេលដប់វិនាទីនៅចុង `loop` ពីព្រោះមិនចាំបាច់ត្រូវពិនិត្យកម្រិតសីតុណ្ហភាពជារយៈពេលបន្តបន្ទាប់។ ការគេងបន្ថយកម្រិតការប្រើថាមពលនៃឧបករណ៍។
```python
time.sleep(10)
```
1. ពី Terminal VS Code អនុវត្តន៍ពាក្យបញ្ជាខាងក្រោមដើម្បីរត់កម្មវិធី Python របស់អ្នក៖
```sh
python3 app.py
```
អ្នកគួរតែឃើញតម្លៃសីតុណ្ហភាពបង្ហាញលើ console។ ប្រើរឿងអ្វីមួយដើម្បីកំដៅឧបករណ៍ចាប់ដូចជាចុចម្រាមដៃលើវា ឬប្រើហ្វេនដើម្បីឃើញតម្លៃផ្លាស់ប្ដូរ៖
```output
pi@raspberrypi:~/temperature-sensor $ python3 app.py
Temperature 26°C
Temperature 26°C
Temperature 28°C
Temperature 30°C
Temperature 32°C
```
> 💁 អ្នកអាចស្វែងរកកូដនេះនៅក្នុងថត [code-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/pi)។
😀 កម្មវិធីឧបករណ៍ចាប់សីតុណ្ហភាពរបស់អ្នកបានជោគជ័យ!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**ការសូមប្រយ័ត្ន**៖
ឯកសារនេះបានបកប្រែអាជ្ញាប័ណ្ណដោយប្រើសេវាបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ខណៈពេលយើងខិតខំរក្សានិរូបភាពនៃការបកប្រែ តែក៏សូមប្រុងប្រយ័ត្នថាការបកប្រែដោយស្វ័យប្រវត្តិក្នុងខ្លឹមសារអាចមានកំហុស ឬការខុសឆ្គង។ ឯកសារដើមនៅភាសាដើមគួរត្រូវបានគេចាត់ទុកជាធនធានដែលមានសុពលភាព។ សម្រាប់ព័ត៌មានសំខាន់ៗ ប្រើការបកប្រែដោយមនុស្សជំនាញត្រូវតែបានផ្តល់អនុសាសន៍។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសៗដែលកើតឡើងពីការប្រើប្រាស់បកប្រែនេះឡើយ។
<!-- CO-OP TRANSLATOR DISCLAIMER END -->