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/wio-terminal-soil-moisture.md

11 KiB

วัดความชื้นในดิน - Wio Terminal

ในส่วนนี้ของบทเรียน คุณจะเพิ่มเซ็นเซอร์วัดความชื้นในดินแบบ capacitive เข้ากับ Wio Terminal และอ่านค่าจากเซ็นเซอร์นี้

ฮาร์ดแวร์

Wio Terminal ต้องการเซ็นเซอร์วัดความชื้นในดินแบบ capacitive

เซ็นเซอร์ที่คุณจะใช้คือ Capacitive Soil Moisture Sensor ซึ่งวัดความชื้นในดินโดยการตรวจจับค่าความจุไฟฟ้าของดิน ซึ่งเป็นคุณสมบัติที่เปลี่ยนแปลงไปตามความชื้นในดิน เมื่อความชื้นในดินเพิ่มขึ้น ค่าแรงดันไฟฟ้าจะลดลง

เซ็นเซอร์นี้เป็นเซ็นเซอร์แบบอนาล็อก ดังนั้นจึงเชื่อมต่อกับขาอนาล็อกบน Wio Terminal โดยใช้ ADC บนบอร์ดเพื่อสร้างค่าตั้งแต่ 0-1,023

เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน

เซ็นเซอร์วัดความชื้นในดินแบบ Grove สามารถเชื่อมต่อกับพอร์ตอนาล็อก/ดิจิทัลที่ปรับแต่งได้ของ Wio Terminal

งาน - เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน

เชื่อมต่อเซ็นเซอร์วัดความชื้นในดิน

เซ็นเซอร์วัดความชื้นในดินแบบ Grove

  1. เสียบปลายด้านหนึ่งของสาย Grove เข้ากับช่องเสียบของเซ็นเซอร์วัดความชื้นในดิน สายจะเสียบได้เพียงด้านเดียว

  2. เมื่อ Wio Terminal ไม่ได้เชื่อมต่อกับคอมพิวเตอร์หรือแหล่งจ่ายไฟอื่น ให้เชื่อมต่อปลายอีกด้านของสาย Grove เข้ากับช่องเสียบ Grove ด้านขวาบน Wio Terminal เมื่อมองที่หน้าจอ ช่องนี้อยู่ไกลจากปุ่มเปิด/ปิดมากที่สุด

เซ็นเซอร์วัดความชื้นในดินแบบ Grove เชื่อมต่อกับช่องเสียบด้านขวา

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

เซ็นเซอร์วัดความชื้นในดินแบบ Grove ในดิน

  1. ตอนนี้คุณสามารถเชื่อมต่อ Wio Terminal กับคอมพิวเตอร์ของคุณได้แล้ว

เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน

ตอนนี้ Wio Terminal สามารถเขียนโปรแกรมเพื่อใช้งานเซ็นเซอร์วัดความชื้นในดินที่เชื่อมต่ออยู่ได้

งาน - เขียนโปรแกรมสำหรับเซ็นเซอร์วัดความชื้นในดิน

เขียนโปรแกรมสำหรับอุปกรณ์

  1. สร้างโปรเจกต์ใหม่สำหรับ Wio Terminal โดยใช้ PlatformIO ตั้งชื่อโปรเจกต์นี้ว่า soil-moisture-sensor เพิ่มโค้ดในฟังก์ชัน setup เพื่อกำหนดค่าพอร์ตอนุกรม

    ⚠️ คุณสามารถดู คำแนะนำในการสร้างโปรเจกต์ PlatformIO ในโปรเจกต์ 1 บทเรียน 1 ได้หากจำเป็น

  2. ไม่มีไลบรารีสำหรับเซ็นเซอร์นี้ แต่คุณสามารถอ่านค่าจากขาอนาล็อกโดยใช้ฟังก์ชัน analogRead ที่มีอยู่ใน Arduino เริ่มต้นด้วยการกำหนดค่าขาอนาล็อกสำหรับการรับค่าเพื่อให้สามารถอ่านค่าแรงดันไฟฟ้าจากขาได้ โดยเพิ่มโค้ดต่อไปนี้ในฟังก์ชัน setup

    pinMode(A0, INPUT);
    

    โค้ดนี้กำหนดให้ขา A0 ซึ่งเป็นขาอนาล็อก/ดิจิทัลรวมกัน เป็นขาสำหรับรับค่าแรงดันไฟฟ้า

  3. เพิ่มโค้ดต่อไปนี้ในฟังก์ชัน loop เพื่ออ่านค่าแรงดันไฟฟ้าจากขานี้:

    int soil_moisture = analogRead(A0);
    
  4. ด้านล่างโค้ดนี้ เพิ่มโค้ดต่อไปนี้เพื่อพิมพ์ค่าที่อ่านได้ไปยังพอร์ตอนุกรม:

    Serial.print("Soil Moisture: ");
    Serial.println(soil_moisture);
    
  5. สุดท้าย เพิ่มคำสั่งหน่วงเวลา 10 วินาทีที่ท้ายโค้ด:

    delay(10000);
    
  6. สร้างและอัปโหลดโค้ดไปยัง Wio Terminal

    ⚠️ คุณสามารถดู คำแนะนำในการสร้างโปรเจกต์ PlatformIO ในโปรเจกต์ 1 บทเรียน 1 ได้หากจำเป็น

  7. เมื่ออัปโหลดเสร็จแล้ว คุณสามารถตรวจสอบค่าความชื้นในดินได้โดยใช้ 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 ---
    Soil Moisture: 526
    Soil Moisture: 529
    Soil Moisture: 521
    Soil Moisture: 494
    Soil Moisture: 454
    Soil Moisture: 456
    Soil Moisture: 395
    Soil Moisture: 388
    Soil Moisture: 394
    Soil Moisture: 391
    

    ในตัวอย่างผลลัพธ์ด้านบน คุณจะเห็นค่าแรงดันไฟฟ้าลดลงเมื่อเติมน้ำ

💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ code/wio-terminal

😀 โปรแกรมเซ็นเซอร์วัดความชื้นในดินของคุณสำเร็จแล้ว!


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้