Official Approved Reseller of Raspberry Pi

เซ็นเซอร์วัดความชื้นดิน 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

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

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

รหัสสินค้า: NF73844+SSNF01116
บาร์โค้ด: NF73844+SSNF01116

10 ในสต็อก

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

      คำอธิบาย

      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 ซึ่งวัดความชื้นโดยอาศัยหลักการของค่าประจุไฟฟ้าและไม่มีส่วนของโลหะที่สัมผัสดินโดยตรง ทำให้ทนทานและไม่ขึ้นสนิม

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

        • PayPal

        เข้าสู่ระบบ

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

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