เซ็นเซอร์วัดความชื้นดิน Soil Moisture Module Arduino

คำอธิบาย

Soil Moisture Sensor คืออะไร? วิธีใช้งานกับ Arduino

เซ็นเซอร์วัดความชื้นในดิน (Soil Moisture Sensor) เป็นอุปกรณ์อิเล็กทรอนิกส์ที่นิยมใช้ในโปรเจกต์ Smart Farm, ระบบรดน้ำต้นไม้อัตโนมัติ, และงานอดิเรกด้านพืชสวน เพราะสามารถทำงานร่วมกับ Arduino ได้ง่าย, ราคาถูก, และเป็นจุดเริ่มต้นที่ดีในการเรียนรู้ระบบควบคุมอัตโนมัติ

หลักการทำงาน

เซนเซอร์ประเภทนี้ทำงานโดยอาศัยหลักการวัด **ค่าความต้านทานไฟฟ้าของดิน** ซึ่งแปรผันตามปริมาณน้ำ:

  • ดินแห้ง: มีความต้านทานสูง (นำไฟฟ้าได้ไม่ดี)
  • ดินชื้น: มีความต้านทานต่ำ (นำไฟฟ้าได้ดีขึ้น)

โมดูลจะแปลงค่าความต้านทานนี้เป็นระดับแรงดันไฟฟ้า แล้วส่งออกมาเป็นสัญญาณ 2 รูปแบบ คือ Analog (ค่าต่อเนื่อง) และ Digital (มี/ไม่มี)

สเปคของ Soil Moisture Sensor

แรงดันไฟเลี้ยง 3.3V – 5V
กระแสที่ใช้ ประมาณ 10-20 mA
สัญญาณเอาต์พุต Analog (A0) และ Digital (D0)
โครงสร้าง Probe 2 ขาสำหรับเสียบลงดิน และบอร์ดแปลงสัญญาณ
การปรับค่า มี Potentiometer (VR) สำหรับปรับจุดตัด (Threshold) ของสัญญาณ Digital

การใช้งานกับ Arduino

1. การต่อสาย

ขาบนโมดูลเซนเซอร์ ต่อกับขาบน Arduino
VCC 5V
GND GND
A0 (Analog Output) A0 (หรือขา Analog อื่นๆ)
D0 (Digital Output) ขา Digital ใดก็ได้ (เช่น D2)

2. การอ่านค่าแบบ Analog (แนะนำวิธีนี้)

การอ่านค่าแบบ Analog ให้ข้อมูลที่ละเอียดกว่า ทำให้เราสามารถกำหนดระดับความชื้นได้หลายระดับ


const int sensorPin = A0; // กำหนดขา A0 สำหรับอ่านค่าจากเซนเซอร์

void setup() {
  Serial.begin(9600); // เริ่มการสื่อสารแบบ Serial
}

void loop() {
  int moistureValue = analogRead(sensorPin); // อ่านค่าอนาล็อก (0-1023)

  Serial.print("Soil Moisture Value: ");
  Serial.println(moistureValue);
  
  delay(1000); // รอ 1 วินาที ก่อนอ่านค่าครั้งต่อไป
}
การแปลผลค่า Analog:
  • ค่าสูง (เช่น 800-1023): หมายถึงดินมีความต้านทานสูง = ดินแห้ง
  • ค่าต่ำ (เช่น 100-300): หมายถึงดินมีความต้านทานต่ำ = ดินชื้น/เปียก

เราสามารถนำค่านี้ไปใช้ตั้งเงื่อนไขในโปรเจกต์รดน้ำต้นไม้อัตโนมัติได้ เช่น `if (moistureValue > 700) { // สั่งรดน้ำ }`

3. การอ่านค่าแบบ Digital

การอ่านค่าแบบ Digital จะให้ผลลัพธ์แค่ 2 สถานะ คือ "ชื้น" หรือ "แห้ง" ซึ่งเราสามารถปรับจุดตัดได้ที่ตัว Potentiometer บนโมดูล


const int sensorDigitalPin = 2; // กำหนดขา D2 สำหรับอ่านค่า Digital

void setup() {
  pinMode(sensorDigitalPin, INPUT); // กำหนดขาเป็น Input
  Serial.begin(9600);
}

void loop() {
  int digitalValue = digitalRead(sensorDigitalPin);

  // โดยทั่วไป โมดูลจะส่ง LOW เมื่อดินชื้น และ HIGH เมื่อดินแห้ง
  if (digitalValue == LOW) {
    Serial.println("สถานะ: ดินชื้น");
  } else {
    Serial.println("สถานะ: ดินแห้ง");
  }
  
  delay(1000);
}

เคล็ดลับเพิ่มเติม (Pro Tips)

  • การกัดกร่อน: เซนเซอร์แบบนี้ไม่ควรเสียบแช่ในดินและจ่ายไฟตลอดเวลา เพราะจะทำให้ผิวของ Probe เกิดการกัดกร่อน (สนิม) ได้เร็ว ควรเขียนโค้ดให้จ่ายไฟเฉพาะตอนที่ต้องการวัดเท่านั้น (โดยใช้ขา Digital อีกขามาควบคุมไฟเลี้ยง)
  • การนำไปใช้งาน: สามารถใช้ค่าที่อ่านได้ไปสั่งงาน โมดูลรีเลย์ (Relay Module) เพื่อควบคุมปั๊มน้ำหรือวาล์วไฟฟ้าสำหรับระบบรดน้ำอัตโนมัติ
  • เซนเซอร์ทางเลือก: หากต้องการความแม่นยำและทนทานที่สูงกว่า แนะนำให้ลองใช้ Capacitive Soil Moisture Sensor ซึ่งวัดความชื้นโดยอาศัยหลักการของค่าประจุไฟฟ้าและไม่มีส่วนของโลหะที่สัมผัสดินโดยตรง ทำให้ทนทานและไม่ขึ้นสนิม

เซ็นเซอร์วัดความชื้นดิน Soil Moisture Module Arduino

รูปแบบสินค้า

รหัสสินค้า: NF73844+SSNF01116

35.00 ฿ 15.00 ฿ ไม่รวมภาษีมูลค่าเพิ่ม

  •  Ships in 2-4 weeks

    คำอธิบาย

    Soil Moisture Sensor คืออะไร? วิธีใช้งานกับ Arduino

    เซ็นเซอร์วัดความชื้นในดิน (Soil Moisture Sensor) เป็นอุปกรณ์อิเล็กทรอนิกส์ที่นิยมใช้ในโปรเจกต์ Smart Farm, ระบบรดน้ำต้นไม้อัตโนมัติ, และงานอดิเรกด้านพืชสวน เพราะสามารถทำงานร่วมกับ Arduino ได้ง่าย, ราคาถูก, และเป็นจุดเริ่มต้นที่ดีในการเรียนรู้ระบบควบคุมอัตโนมัติ

    หลักการทำงาน

    เซนเซอร์ประเภทนี้ทำงานโดยอาศัยหลักการวัด **ค่าความต้านทานไฟฟ้าของดิน** ซึ่งแปรผันตามปริมาณน้ำ:

    • ดินแห้ง: มีความต้านทานสูง (นำไฟฟ้าได้ไม่ดี)
    • ดินชื้น: มีความต้านทานต่ำ (นำไฟฟ้าได้ดีขึ้น)

    โมดูลจะแปลงค่าความต้านทานนี้เป็นระดับแรงดันไฟฟ้า แล้วส่งออกมาเป็นสัญญาณ 2 รูปแบบ คือ Analog (ค่าต่อเนื่อง) และ Digital (มี/ไม่มี)

    สเปคของ Soil Moisture Sensor

    แรงดันไฟเลี้ยง 3.3V – 5V
    กระแสที่ใช้ ประมาณ 10-20 mA
    สัญญาณเอาต์พุต Analog (A0) และ Digital (D0)
    โครงสร้าง Probe 2 ขาสำหรับเสียบลงดิน และบอร์ดแปลงสัญญาณ
    การปรับค่า มี Potentiometer (VR) สำหรับปรับจุดตัด (Threshold) ของสัญญาณ Digital

    การใช้งานกับ Arduino

    1. การต่อสาย

    ขาบนโมดูลเซนเซอร์ ต่อกับขาบน Arduino
    VCC 5V
    GND GND
    A0 (Analog Output) A0 (หรือขา Analog อื่นๆ)
    D0 (Digital Output) ขา Digital ใดก็ได้ (เช่น D2)

    2. การอ่านค่าแบบ Analog (แนะนำวิธีนี้)

    การอ่านค่าแบบ Analog ให้ข้อมูลที่ละเอียดกว่า ทำให้เราสามารถกำหนดระดับความชื้นได้หลายระดับ

    
    const int sensorPin = A0; // กำหนดขา A0 สำหรับอ่านค่าจากเซนเซอร์
    
    void setup() {
      Serial.begin(9600); // เริ่มการสื่อสารแบบ Serial
    }
    
    void loop() {
      int moistureValue = analogRead(sensorPin); // อ่านค่าอนาล็อก (0-1023)
    
      Serial.print("Soil Moisture Value: ");
      Serial.println(moistureValue);
      
      delay(1000); // รอ 1 วินาที ก่อนอ่านค่าครั้งต่อไป
    }
    
    การแปลผลค่า Analog:
    • ค่าสูง (เช่น 800-1023): หมายถึงดินมีความต้านทานสูง = ดินแห้ง
    • ค่าต่ำ (เช่น 100-300): หมายถึงดินมีความต้านทานต่ำ = ดินชื้น/เปียก

    เราสามารถนำค่านี้ไปใช้ตั้งเงื่อนไขในโปรเจกต์รดน้ำต้นไม้อัตโนมัติได้ เช่น `if (moistureValue > 700) { // สั่งรดน้ำ }`

    3. การอ่านค่าแบบ Digital

    การอ่านค่าแบบ Digital จะให้ผลลัพธ์แค่ 2 สถานะ คือ "ชื้น" หรือ "แห้ง" ซึ่งเราสามารถปรับจุดตัดได้ที่ตัว Potentiometer บนโมดูล

    
    const int sensorDigitalPin = 2; // กำหนดขา D2 สำหรับอ่านค่า Digital
    
    void setup() {
      pinMode(sensorDigitalPin, INPUT); // กำหนดขาเป็น Input
      Serial.begin(9600);
    }
    
    void loop() {
      int digitalValue = digitalRead(sensorDigitalPin);
    
      // โดยทั่วไป โมดูลจะส่ง LOW เมื่อดินชื้น และ HIGH เมื่อดินแห้ง
      if (digitalValue == LOW) {
        Serial.println("สถานะ: ดินชื้น");
      } else {
        Serial.println("สถานะ: ดินแห้ง");
      }
      
      delay(1000);
    }
    

    เคล็ดลับเพิ่มเติม (Pro Tips)

    • การกัดกร่อน: เซนเซอร์แบบนี้ไม่ควรเสียบแช่ในดินและจ่ายไฟตลอดเวลา เพราะจะทำให้ผิวของ Probe เกิดการกัดกร่อน (สนิม) ได้เร็ว ควรเขียนโค้ดให้จ่ายไฟเฉพาะตอนที่ต้องการวัดเท่านั้น (โดยใช้ขา Digital อีกขามาควบคุมไฟเลี้ยง)
    • การนำไปใช้งาน: สามารถใช้ค่าที่อ่านได้ไปสั่งงาน โมดูลรีเลย์ (Relay Module) เพื่อควบคุมปั๊มน้ำหรือวาล์วไฟฟ้าสำหรับระบบรดน้ำอัตโนมัติ
    • เซนเซอร์ทางเลือก: หากต้องการความแม่นยำและทนทานที่สูงกว่า แนะนำให้ลองใช้ Capacitive Soil Moisture Sensor ซึ่งวัดความชื้นโดยอาศัยหลักการของค่าประจุไฟฟ้าและไม่มีส่วนของโลหะที่สัมผัสดินโดยตรง ทำให้ทนทานและไม่ขึ้นสนิม

    Recently viewed products

    © 2025 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี