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.
108 lines
9.5 KiB
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 ได้
|
|
|
|
#### งาน - เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน
|
|
|
|
เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน
|
|
|
|

|
|
|
|
1. เสียบปลายด้านหนึ่งของสาย Grove เข้ากับช่องเสียบบนเซ็นเซอร์วัดความชื้นในดิน สายจะเสียบได้เพียงด้านเดียวเท่านั้น
|
|
|
|
1. ปิดการจ่ายไฟให้ Raspberry Pi แล้วเชื่อมต่อปลายอีกด้านของสาย Grove เข้ากับช่องอนาล็อกที่มีเครื่องหมาย **A0** บน Grove Base Hat ที่ติดตั้งอยู่บน Pi ช่องนี้เป็นช่องที่สองจากขวาในแถวของช่องเสียบที่อยู่ติดกับ GPIO pins
|
|
|
|

|
|
|
|
1. เสียบเซ็นเซอร์วัดความชื้นในดินลงในดิน โดยมีเส้นสีขาวที่เรียกว่า 'highest position line' เป็นตัวกำหนดระดับสูงสุด เสียบเซ็นเซอร์จนถึงเส้นนี้แต่ไม่เกินเส้นนี้
|
|
|
|

|
|
|
|
## เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน
|
|
|
|
ตอนนี้ 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) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้ |