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/th/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

108 lines
9.5 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9d4d00a47d5d0f3e6ce42c0d1020064a",
"translation_date": "2025-08-27T21:41:25+00:00",
"source_file": "2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md",
"language_code": "th"
}
-->
# วัดความชื้นในดิน - Raspberry Pi
ในส่วนนี้ของบทเรียน คุณจะเพิ่มเซ็นเซอร์วัดความชื้นในดินแบบ capacitive เข้ากับ Raspberry Pi และอ่านค่าจากเซ็นเซอร์นี้
## ฮาร์ดแวร์
Raspberry Pi ต้องการเซ็นเซอร์วัดความชื้นในดินแบบ capacitive
เซ็นเซอร์ที่คุณจะใช้คือ [Capacitive Soil Moisture Sensor](https://www.seeedstudio.com/Grove-Capacitive-Moisture-Sensor-Corrosion-Resistant.html) ซึ่งวัดความชื้นในดินโดยการตรวจจับค่าความจุไฟฟ้าของดิน ซึ่งเป็นคุณสมบัติที่เปลี่ยนแปลงไปตามความชื้นในดิน เมื่อความชื้นในดินเพิ่มขึ้น แรงดันไฟฟ้าจะลดลง
นี่คือเซ็นเซอร์แบบอนาล็อก ดังนั้นจึงใช้ขาอนาล็อกและตัวแปลง ADC แบบ 10 บิตใน Grove Base Hat บน Raspberry Pi เพื่อแปลงแรงดันไฟฟ้าเป็นสัญญาณดิจิทัลที่มีค่าอยู่ในช่วง 1-1,023 จากนั้นส่งผ่าน GPIO pins บน Pi
### เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน
เซ็นเซอร์วัดความชื้นในดินแบบ Grove สามารถเชื่อมต่อกับ Raspberry Pi ได้
#### งาน - เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน
เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน
![เซ็นเซอร์วัดความชื้นในดินแบบ Grove](../../../../../translated_images/grove-capacitive-soil-moisture-sensor.e7f0776cce30e78be5cc5a07839385fd6718857f31b5bf5ad3d0c73c83b2f0ef.th.png)
1. เสียบปลายด้านหนึ่งของสาย Grove เข้ากับช่องเสียบบนเซ็นเซอร์วัดความชื้นในดิน สายจะเสียบได้เพียงด้านเดียวเท่านั้น
1. ปิดการจ่ายไฟให้ Raspberry Pi แล้วเชื่อมต่อปลายอีกด้านของสาย Grove เข้ากับช่องอนาล็อกที่มีเครื่องหมาย **A0** บน Grove Base Hat ที่ติดตั้งอยู่บน Pi ช่องนี้เป็นช่องที่สองจากขวาในแถวของช่องเสียบที่อยู่ติดกับ GPIO pins
![เซ็นเซอร์วัดความชื้นในดินแบบ Grove เชื่อมต่อกับช่อง A0](../../../../../translated_images/pi-soil-moisture-sensor.fdd7eb2393792cf6739cacf1985d9f55beda16d372f30d0b5a51d586f978a870.th.png)
1. เสียบเซ็นเซอร์วัดความชื้นในดินลงในดิน โดยมีเส้นสีขาวที่เรียกว่า 'highest position line' เป็นตัวกำหนดระดับสูงสุด เสียบเซ็นเซอร์จนถึงเส้นนี้แต่ไม่เกินเส้นนี้
![เซ็นเซอร์วัดความชื้นในดินแบบ Grove ในดิน](../../../../../translated_images/soil-moisture-sensor-in-soil.bfad91002bda5e960f8c51ee64b02ee59b32c8c717e3515a2c945f33e614e403.th.png)
## เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน
ตอนนี้ Raspberry Pi สามารถเขียนโปรแกรมเพื่อใช้งานเซ็นเซอร์วัดความชื้นในดินที่เชื่อมต่ออยู่ได้แล้ว
### งาน - เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน
เขียนโปรแกรมสำหรับอุปกรณ์
1. เปิด Raspberry Pi และรอจนกว่าจะบูตเสร็จ
1. เปิด VS Code โดยตรงบน Pi หรือเชื่อมต่อผ่าน Remote SSH extension
> ⚠️ คุณสามารถดู [คำแนะนำในการตั้งค่าและเปิด VS Code ใน nightlight - บทเรียนที่ 1 หากจำเป็น](../../../1-getting-started/lessons/1-introduction-to-iot/pi.md)
1. จาก terminal สร้างโฟลเดอร์ใหม่ในไดเรกทอรี home ของผู้ใช้ `pi` ชื่อ `soil-moisture-sensor` และสร้างไฟล์ในโฟลเดอร์นี้ชื่อ `app.py`
1. เปิดโฟลเดอร์นี้ใน VS Code
1. เพิ่มโค้ดต่อไปนี้ในไฟล์ `app.py` เพื่อ import ไลบรารีที่จำเป็น:
```python
import time
from grove.adc import ADC
```
คำสั่ง `import time` ใช้สำหรับ import โมดูล `time` ซึ่งจะถูกใช้งานในภายหลังในงานนี้
คำสั่ง `from grove.adc import ADC` ใช้สำหรับ import `ADC` จากไลบรารี Python ของ Grove ไลบรารีนี้มีโค้ดสำหรับโต้ตอบกับตัวแปลงอนาล็อกเป็นดิจิทัล (ADC) บน Pi Base Hat และอ่านแรงดันไฟฟ้าจากเซ็นเซอร์อนาล็อก
1. เพิ่มโค้ดต่อไปนี้ด้านล่างเพื่อสร้างอินสแตนซ์ของคลาส `ADC`:
```python
adc = ADC()
```
1. เพิ่มลูปแบบไม่สิ้นสุดที่อ่านค่าจาก ADC บนขา A0 และเขียนผลลัพธ์ไปยังคอนโซล ลูปนี้จะหยุดพัก 10 วินาทีระหว่างการอ่านแต่ละครั้ง
```python
while True:
soil_moisture = adc.read(0)
print("Soil moisture:", soil_moisture)
time.sleep(10)
```
1. รันแอปพลิเคชัน Python คุณจะเห็นค่าความชื้นในดินแสดงบนคอนโซล เติมน้ำลงในดินหรือดึงเซ็นเซอร์ออกจากดิน แล้วสังเกตค่าที่เปลี่ยนแปลง
```output
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py
Soil moisture: 615
Soil moisture: 612
Soil moisture: 498
Soil moisture: 493
Soil moisture: 490
Soil Moisture: 388
```
ในตัวอย่างผลลัพธ์ด้านบน คุณจะเห็นแรงดันไฟฟ้าลดลงเมื่อเติมน้ำ
> 💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ [code/pi](../../../../../2-farm/lessons/2-detect-soil-moisture/code/pi)
😀 โปรแกรมเซ็นเซอร์วัดความชื้นในดินของคุณสำเร็จแล้ว!
---
**ข้อจำกัดความรับผิดชอบ**:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้