วิธีต่อเซนเซอร์วัดความชื้นในดิน FC-28 กับ Arduino และ LCD

Interfacing FC-28 Soil Moisture Sensor With Arduino Uno R3 and 16x2 I2C LCD Display
ชุดทดลองวัดความชื้นในดินด้วยเซนเซอร์ FC-28 ร่วมกับบอร์ด Arduino Uno R3 และจอแสดงผล 16x2 I2C LCD

สวัสดีเพื่อนๆ ชาว Maker, สายเกษตรอัจฉริยะ (Smart Farming) และคนรักต้นไม้ทุกคนครับ! 🪴🌱 เคยไหมครับที่รดน้ำต้นไม้ตามเวลาเป๊ะๆ แต่ต้นไม้กลับใบเหลืองเฉาตายเพราะดินข้างล่างยังชื้นแฉะอยู่? หรือบางทีลืมรดน้ำจนดินแห้งกรอบเพราะคิดว่าดินยังชื้น? จะดีกว่าไหมถ้าเรามี **ระบบตรวจวัดความชื้นในดินอัจฉริยะ** คอยบอกเราได้ทันทีว่าต้นไม้กำลังหิวระโดกหรือไม่!

วันนี้เราจะมาพาทุกคนทำโปรเจกต์ต่อเซนเซอร์ **FC-28 Soil Moisture Sensor** ร่วมกับบอร์ด **Arduino Uno R3** และหน้าจอ **16×2 I2C LCD** เพื่ออ่านค่าความชื้น แปลงค่าเป็นเปอร์เซ็นต์แบบเรียลไทม์ ซึ่งเป็นพื้นฐานสำคัญสำหรับนำไปทำระบบรดน้ำต้นไม้อัตโนมัติ หรือโรงเรือนอัจฉริยะต่อไปครับ!

หลักการทำงานของเซนเซอร์ความชื้นในดิน FC-28 ⚙️💡

โมดูล FC-28 เป็นเซนเซอร์วัดความชื้นในดินชนิดวัดความต้านทานไฟฟ้า (Resistive Sensor) ประกอบด้วย 2 ส่วนหลัก:

  • ขาโพรบตรวจวัด (Sensing Probe): ขาทรงส้อมที่มีแถบตัวนำไฟฟ้า 2 แถบ เสียบลงไปในดิน เมื่อดินมีความชื้นสูง น้ำในดินจะช่วยนำไฟฟ้าได้ดีขึ้น ทำให้ความต้านทานไฟฟ้าลดลง แต่ถ้าดินแห้ง ความต้านทานไฟฟ้าจะสูงขึ้น
  • โมดูลอินเทอร์เฟซ (Sensor Module): ทำหน้าที่แปลงค่าความต้านทานจากขาโพรบเป็นสัญญาณไฟฟ้า มีชิปเปรียบเทียบแรงดัน **LM393 Comparator**, ตัวต้านทานปรับค่าได้ **10 kΩ Potentiometer** สำหรับปรับระดับการตัดสลับสัญญาณดิจิทัล และไฟ LED แสดงสถานะ Power/Output

ขาพินเชื่อมต่อบนบอร์ดมี 4 ขา คือ **VCC** (จ่ายไฟ 3.3V–5V), **GND**, **AO** (Analog Output สัญญาณแรงดันแปรผันตามความชื้น) และ **DO** (Digital Output สัญญาณ HIGH/LOW ตามค่า Threshold ที่ตั้งไว้)

💡 อยากเริ่มทำระบบรดน้ำต้นไม้อัตโนมัติ หรือสั่งพิมพ์กล่องเคสยึดบอร์ด 3D Print?

ในการทำระบบรดน้ำต้นไม้หรือระบบไอโอทีในสวน การออกแบบและสั่งพิมพ์เคสกันน้ำ หรือแท่นยึดจอแสดงผลด้วย **3D Printing** จะช่วยปกป้องบอร์ด Arduino จากละอองน้ำ ป้องกันสายไฟหลุด และจัดวางอุปกรณ์ได้อย่างสวยงามน่ามองครับ!

หากเพื่อนๆ กำลังมองหา **บอร์ด Arduino Uno R3, เซนเซอร์ FC-28, หน้าจอ I2C LCD, สายจัมเปอร์** หรือต้องการสั่งทำเคสอุปกรณ์ผ่าน บริการรับปริ้นท์ชิ้นส่วน 3D (3D Printing Service) สามารถนำไฟล์ STL มาประเมินราคากับร้าน **Globalbyte Shop** ได้เลยครับ!

ขั้นตอนการต่อวงจรและ Calibrate ค่าความชื้น 🛠️🔌

1. การต่อสายสัญญาณเข้า Arduino Uno R3 และ I2C LCD 🔌

  • โมดูล FC-28 ➔ Arduino Uno: VCC ต่อเข้า 5V / GND ต่อเข้า GND / ขา AO ต่อเข้าพินอนาล็อก A0
  • หน้าจอ 16x2 I2C LCD ➔ Arduino Uno: VCC ต่อเข้า 5V / GND ต่อเข้า GND / SDA ต่อเข้าพิน A4 / SCL ต่อเข้าพิน A5

2. ขั้นตอนการตั้งค่า Calibrate 🎯

  1. นำขาโพรบเสียบลงในดินที่แห้ง สังเกตค่าอนาล็อกที่อ่านได้จาก Arduino (ปกติค่าอนาล็อกขณะดินแห้งสนิทจะอยู่ใกล้เคียง ~1023)
  2. นำขาโพรบเสียบลงในดินที่เปียกชื้นเต็มที่ สังเกตค่าอนาล็อกที่อ่านได้ (ปกติขณะเปียกน้ำเต็มที่จะอยู่ใกล้เคียง ~200-300)
  3. นำค่าต่ำสุดและสูงสุดที่บันทึกได้ ไปใส่ในฟังก์ชัน `map()` ในโค้ด Arduino เพื่อแปลงสเกลเป็นความชื้น 0% ถึง 100% ให้แม่นยำยิ่งขึ้น
  4. หากต้องการใช้พินดิจิทัล DO ให้หมุนตัวต้านทาน 10kΩ Potentiometer เพื่อตั้งจุดตัดสลับไฟ LED สถานะตามความชื้นที่ต้องการได้เลยครับ

⚠️ ข้อควรระวังและการเสื่อมสภาพของขาโพรบ!

เนื่องจาก FC-28 เป็นเซนเซอร์แบบวัดความต้านทานไฟฟ้า (Resistive) การปล่อยให้กระแสไฟฟ้าไหลผ่านขาโพรบที่จุ่มอยู่ในดินเป็นเวลานานจะทำให้เกิดปฏิกิริยาไฟฟ้าเคมีจนขาโพรบเกิดคราบออกไซด์กัดกร่อน (Corrosion) ในการใช้งานจริงระยะยาว แนะนำให้จ่ายไฟเลี้ยง VCC ผ่านพอร์ต GPIO ของ Arduino ให้ทำงานเฉพาะตอนจะอ่านค่าความชื้นเท่านั้นครับ!

🔗 ข้อมูลอ้างอิงและจุดวาร์ปอ่านต่อ:

สำหรับเพื่อนๆ ที่ต้องการศึกษาโค้ดและวงจรเพิ่มเติม สามารถตามลิงก์ไปส่องต่อได้เลยครับ:

*Disclaimer (ข้อจำกัดความรับผิดชอบ): เนื้อหาบทความนี้ถูกเรียบเรียงและสรุปมาจากโปรเจกต์ภาษาอังกฤษ สเปกและการต่อวงจรควรศึกษาเพิ่มเติมจาก คู่มือทางการบน Instructables ก่อนลงมือทำจริงทุกครั้งครับ!

Blog posts