ถ้าคุณเคยรดน้ำต้นไม้ด้วยสัญชาตญาณ—เดี๋ยวแฉะ เดี๋ยวแห้ง—แล้วเบื่อจะเดาเองทุกวัน บทความนี้คือคู่มือกึ่งตำรา กึ่งเล่าให้ฟังสบาย ๆ ว่าการเอา NodeMCU (ESP8266) ไปจับคู่กับเซ็นเซอร์ความชื้นดินมันง่ายกว่าหั่นชะอมใส่หม้อแกงเยอะ! เราจะคุยตั้งแต่เลือกฮาร์ดแวร์ การต่อสาย การแฟลชโค้ด ไปจนถึงดึงข้อมูลขึ้นมือถือ และปิดท้ายด้วยไอเดียต่อยอดเป็น “ปั๊มน้ำอัตโนมัติรู้ใจต้นไม้” แบบมือโปร แต่ใช้ภาษาชาวบ้านให้อ่านเพลิน ๆ

1. ทำไมต้องวัดความชื้นดิน?

  • น้ำเกิน รากเน่า—น้ำขาด ต้นเฉา สรุปคือเสียเวลาเสียเงิน

  • ข้อมูลจริง (Real-time) ช่วยตัดสินใจเปิด-ปิดน้ำแม่นกว่าดูสภาพใบ

  • เชื่อม IoT ทีเดียว เก็บค่าประวัติ เอาไปวิเคราะห์แพตเทิร์นฝนหรือคุณภาพดินได้

2. ชุดอุปกรณ์ที่ต้องมี

อุปกรณ์ ราคาประมาณ หมายเหตุ
NodeMCU v3 (ESP8266) 120 – 160 บาท มี Wi-Fi ในตัว
เซ็นเซอร์ความชื้นดินชนิด Capacitive 40 – 60 บาท ทนสนิมกว่ารุ่น Probe โลหะ
สาย Dupont ตัวเมีย-ตัวเมีย 10 บาท ยาว 20 ซม. ก็พอ
แหล่งจ่ายไฟ 5 V (Power Bank เก่า ๆ ก็ได้) 0-200 บาท ถ้าเอาไปไร่ใช้โซลาร์ 5 W ก็ไหว
กล่องกันน้ำ IP65 เล็ก ๆ 60 บาท ป้องกันวงจรอัปปางช่วงฝนสาด

งบไม่ถึง 300 บาท ก็เริ่มเล่นได้แล้ว!

3. ต่อสายยังไงไม่ให้งง

  1. VCC เซ็นเซอร์ → 3V3 ของ NodeMCU

  2. GND → GND

  3. AO → A0 (ขา Analog เดียวของ ESP8266)

  4. เสียบสาย USB-Micro เข้าคอมพร้อมกดแฟลชโค้ด

4. เตรียมซอฟต์แวร์

  1. ติดตั้ง Arduino IDE เวอร์ชันล่าสุด

  2. เพิ่มบอร์ด “ESP8266” ผ่าน Boards Manager

  3. กด Tools → Board → NodeMCU 1.0 (ESP-12E Module)

  4. ก๊อบโค้ดนี้ไปวาง (ย่อเพื่อไม่รกตา):

 

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "TOKENจากApp";
char ssid[] = "ชื่อWiFi";
char pass[] = "รหัสผ่าน";
BlynkTimer timer;

void sendSoil() {
int raw = analogRead(A0); // 0=แห้ง 1023=เปียก
float percent = map(raw, 1023, 0, 0, 100); //กลับทิศเพราะเซ็นเซอร์คว่ำ
Blynk.virtualWrite(V0, percent); // ส่งขึ้นโทรศัพท์
}

void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(30000L, sendSoil); // ส่งทุก 30 วิ
}

void loop() {
Blynk.run();
timer.run();
}

กดอัปโหลด จบ!

5. เช็กค่าบนมือถือ

  • โหลดแอป Blynk IoT > สร้างวิดเจ็ต Gauge บน V0

  • จะเห็นกราฟความชื้นวิ่งตามจริง แปลงหน่วย % แล้วดูง่ายสุด

  • ตั้ง “Eventor” ให้ส่งแจ้งเตือน LINE เมื่อค่าต่ำกว่า 25 %

6. ขยับขั้นเป็นระบบรดน้ำอัตโนมัติ

  • ต่อรีเลย์ 5 V ที่ขา D1 ของ NodeMCU

  • รีเลย์สั่งปั๊มน้ำ DC หรือโซลินอยด์วาล์วได้สบาย ๆ

  • เพิ่มเงื่อนไขในโค้ด: ถ้าค่าความชื้นต่ำ → เปิดปั๊ม 2 นาที

  • อย่าลืมขนานไดโอดกับโหลดแบบดูดกลับ (flyback diode) กันสปาร์ก

7. เทคนิคกันพังกลางคัน

  • เคสกันน้ำ: ใช้กล่องอาหารพลาสติกหนา ๆ เจาะรูปลายสายก็ได้

  • เคลือบขั้วเซ็นเซอร์: ใช้กาวร้อนหรือซิลิโคนใสเคลือบท้ายบอร์ด

  • ปลอกหดกัน UV: ถ้าปักในสวนยาว ๆ แดดแรงมากช่วยยืดอายุสาย

8. คาลิเบรตให้แม่น

  1. นำเซ็นเซอร์จุ่มถ้วยน้ำ – จดค่าบนซีเรียลมอนิเตอร์ = 100 %

  2. เป่าลมแห้งสนิท – จดค่า = 0 %

  3. เอาค่ามาปรับ map() ในโค้ด กลายเป็นเลขเที่ยงตรงเฉพาะสวนเรา

9. ประเมินต้นทุน-กำไร

รายการ ค่าใช้จ่ายครั้งแรก ประหยัดรายเดือน
ชุดเซ็นเซอร์ + NodeMCU 300 บาท 0
ปั๊มน้ำ DC 12 V + วาล์ว 450 บาท 0
ค่าน้ำลดลง ~20 % 0 ≈ 80 บาท/เดือน

ไม่ถึง 10 เดือนก็คืนทุน แล้วยังได้ต้นไม้โตสม่ำเสมออีกต่างหาก

10. ต่อยอดระดับฟาร์ม

  • เปลี่ยนการส่งข้อมูลเป็น MQTT → Broker เดียว รับเซ็นเซอร์หลายจุด

  • ใช้ LoRa 32u4 ถ้าระยะไกลกว่า Wi-Fi

  • ปักเซ็นเซอร์หลายชั้นความลึก เห็นชั้นดินจริงจัง

  • ต่อ แผงโซลาร์ 10 W + แบต 18650 ชาร์จเอง ตัดปัญหาสายไฟ

11. คำถามยอดฮิต

Q A
เซ็นเซอร์เปื่อยไหม? ชนิด Capacitive อยู่ได้ 1-2 ปี ถ้าไม่จุ่มน้ำทั้งแท่ง
ดินเค็มอ่านคลาดเคลื่อน? ใช้กราฟเทียบแข็งแรง ใส่ตัวต้านแบ่งแรงดันช่วยกรองสัญญาณ
Wi-Fi ไกลบ้าน? ตั้ง Repeater หรือใช้เสาอากาศเชื่อมต่อระยะ 100 ม. ก็รอด

12. สรุปสั้นก่อนลงมือ

“NodeMCU + เซ็นเซอร์วัดความชื้นดิน” คือจุดเริ่มต้นเล็ก ๆ ของ Smart Farm ที่ไม่จำเป็นต้องง้อบอร์ดราคาแพงหรือโค้ดซับซ้อนเลย แค่เข้าใจหลักการ วางแผนสายไฟ และหมั่นคาลิเบรต เท่านี้คุณก็เช็กค่าดินผ่านมือถือ นอนตีพุงให้ระบบรดน้ำทำงานเองได้แล้ว ลุยเลย!