เบื้องหลังและที่มาของโปรเจกต์ (The Story)
ในช่วงวิกฤตการแพร่ระบาดของ COVID-19 ที่ผ่านมา เป็นจุดเปลี่ยนที่ทำให้ผมและครอบครัวตัดสินใจย้ายไปพำนักที่ต่างจังหวัดเพื่อความปลอดภัย และในระหว่างที่ต้องกักตัวและมีเวลาว่างมากขึ้น ผมจึงมองหากิจกรรมที่สร้างสรรค์และมีประโยชน์ในเชิงวิศวกรรม นั่นคือจุดเริ่มต้นที่ทำให้ผมหันมาสนใจบอร์ด Arduino อย่างจริงจัง โดยผมเริ่มต้นด้วยชุด Environmental Bundle ซึ่งประกอบไปด้วยบอร์ดไมโครคอนโทรลเลอร์ประสิทธิภาพสูงอย่าง Arduino MKR WiFi 1010 และ Arduino MKR ENV Shield เพื่อสร้างระบบตรวจวัดสภาพแวดล้อมอัจฉริยะสำหรับพื้นที่กสิกรรมรอบที่พัก
รายละเอียดอุปกรณ์และฮาร์ดแวร์ (The Hardware)
การเลือกใช้ฮาร์ดแวร์ในตระกูล MKR Series นั้นมีข้อดีอย่างมากในด้านฟอร์มแฟกเตอร์ที่เล็กกะทัดรัดและการใช้พลังงานที่ต่ำ โดยอุปกรณ์ที่คุณต้องเตรียมมีดังนี้:
- Arduino MKR WiFi 1010: หัวใจหลักของระบบ ใช้ชิป SAMD21 Cortex-M0+ 32-bit และโมดูล u-blox NINA-W102 สำหรับการเชื่อมต่อ WiFi และ Bluetooth ซึ่งรองรับการรักษาความปลอดภัยของข้อมูลผ่านชิป ECC508 crypto chip
- Arduino MKR ENV Shield: ชิลด์เสริมที่ติดตั้งเซนเซอร์มาให้ครบครัน ทั้งอุณหภูมิ, ความชื้นสัมพัทธ์, ความดันบรรยากาศ, ความเข้มแสง และค่ารังสี UV (UVA/UVB)
- Soil Moisture Sensor: สำหรับวัดความชื้นในดิน ซึ่งเป็นตัวแปรสำคัญในการดูแลพืชพรรณ
- สาย Grove 4-pin to 4-pin male connector: เพื่อเชื่อมต่อเซนเซอร์ความชื้นเข้ากับระบบ
- Waterproof Box (กล่องกันน้ำ): จำเป็นอย่างยิ่งสำหรับการใช้งานภายนอกอาคารเพื่อป้องกันความชื้นและฝุ่นละอองเข้าสู่แผงวงจร
- Power Supply: แหล่งจ่ายไฟที่เหมาะสมสำหรับระบบ
ขั้นตอนการประกอบและการติดตั้ง (Assembly Guide)
การประกอบระบบ IoT สำหรับใช้งานกลางแจ้งต้องคำนึงถึงความทนทานต่อสภาพอากาศเป็นหลัก โดยสามารถปฏิบัติตามขั้นตอนดังนี้:
เริ่มต้นด้วยการเสียบ Arduino MKR ENV Shield ลงบนบอร์ด MKR WiFi 1010 ตรวจสอบให้แน่ใจว่าขาพินตรงกันทุกตำแหน่ง
เชื่อมต่อเซนเซอร์วัดความชื้นในดินเข้ากับสายสัญญาณ และใช้เทปพันสายไฟหรือท่อหดเพื่อป้องกันจุดเชื่อมต่อไม่ให้สัมผัสกับความชื้นโดยตรง
ทำการเจาะช่องที่กล่องกันน้ำให้มีขนาดพอดีกับสายสัญญาณ เพื่อนำสายเซนเซอร์จากภายนอกเข้าไปเชื่อมต่อกับบอร์ดด้านใน
ใช้เทปกาวคุณภาพสูง (Duct Tape) ปิดทับบริเวณรอยต่อที่สายไฟลอดผ่าน เพื่อเสริมการป้องกันน้ำรั่วซึม
เชื่อมต่อสายจากเซนเซอร์ความชื้นเข้ากับพอร์ต Analog ของ Arduino เพื่อเตรียมการอ่านค่า
เจาะรูระบายอากาศที่ฝาครอบกล่อง เพื่อให้เซนเซอร์บน ENV Shield สามารถวัดค่าอุณหภูมิและความชื้นในอากาศภายนอกได้แม่นยำ โดยรูที่เจาะควรหันลงด้านล่างเพื่อป้องกันเม็ดฝนตกใส่
ภาพรวมของระบบหลังจากประกอบเสร็จสิ้น พร้อมสำหรับการนำไปติดตั้งในหน้างานจริง
เมื่อฮาร์ดแวร์พร้อมแล้ว ขั้นตอนต่อไปคือการติดตั้งในพื้นที่จริง โดยการขุดดินหรือหาตำแหน่งที่ปลอดภัยสำหรับการวางตัวอุปกรณ์:
ขุดหลุมขนาดพอเหมาะกับกล่องกันน้ำ เพื่อลดแรงปะทะจากลมและช่วยรักษาอุณหภูมิภายในกล่องให้คงที่

ปิดฝากล่องให้สนิทและตรวจสอบการซีลกันน้ำเป็นครั้งสุดท้าย เท่านี้ระบบของคุณก็พร้อมทำงาน
สำหรับการจัดการด้านพลังงาน เนื่องจากในพื้นที่ติดตั้งอาจไม่มีปลั๊กไฟถาวร ผมจึงเลือกใช้แหล่งจ่ายไฟภายนอกแบบพกพามาทดสอบชั่วคราว อย่างไรก็ตาม บอร์ด MKR WiFi 1010 มีวงจรชาร์จแบตเตอรี่ Li-Po ในตัว ซึ่งคุณสามารถอัปเกรดไปใช้แผงโซลาร์เซลล์ขนาดเล็กเพื่อความยั่งยืนได้
(คำเตือนทางเทคนิค: หลีกเลี่ยงการใช้แบตเตอรี่ 9V ทั่วไป เนื่องจากมีความจุต่ำและประสิทธิภาพการแปลงแรงดันไม่เหมาะสมกับงาน IoT ระยะยาว)
การวิเคราะห์ซอฟต์แวร์และโค้ด (The Code)
ในส่วนของซอฟต์แวร์ เราจะใช้ไลบรารีมาตรฐานเพื่อให้การดึงค่าจากเซนเซอร์มีความแม่นยำและเขียนโค้ดได้กระชับที่สุด เริ่มจากการเรียกใช้ไลบรารีสำหรับ MKR ENV Shield:
#include <Arduino_MKRENV.h>
ในฟังก์ชัน setup() นอกเหนือจากการตั้งค่าการเชื่อมต่อ Arduino IoT Cloud แล้ว เราจำเป็นต้องสั่งงาน ENV.begin() เพื่อตรวจสอบความพร้อมของเซนเซอร์บน Shield ทั้งหมด หากการเชื่อมต่อล้มเหลว ระบบจะทำการหยุดการทำงานเพื่อแจ้งเตือนให้ตรวจสอบฮาร์ดแวร์:
if (!ENV.begin()) {
Serial.println("Failed to initialize MKR ENV shield!");
while(1); // หยุดการทำงานหากหา Shield ไม่พบ
}
เพื่อให้ข้อมูลถูกอัปเดตไปยัง Dashboard ของเราแบบ Real-time เราต้องประกาศตัวแปรในส่วนของ Cloud Properties (เช่น humidity, temperature, moisture) ให้เป็นชนิด int หรือ float ตามความเหมาะสม จากนั้นภายใน Loop หลัก เราจะเขียนคำสั่งเพื่ออ่านค่าจากเซนเซอร์และเก็บไว้ในตัวแปรเหล่านั้น ตัวอย่างเช่น:
// ตัวอย่างการอ่านค่าและส่งขึ้น Cloud
temperature = ENV.readTemperature();
humidity = ENV.readHumidity();
moisture = analogRead(A1); // อ่านค่าความชื้นในดินจากขา Analog
เมื่อคุณอัปโหลดโค้ดเสร็จสิ้น บอร์ดจะทำการส่งข้อมูลผ่าน WiFi ไปยังระบบคลาวด์โดยอัตโนมัติ คุณสามารถเข้าถึงข้อมูลเหล่านั้นผ่านทางสมาร์ทโฟนหรือคอมพิวเตอร์ได้จากทุกที่ทั่วโลก
บทสรุปและการต่อยอดเชิงวิศวกรรม
ระบบนี้เป็นเพียงจุดเริ่มต้นของการนำเทคโนโลยี IoT มาประยุกต์ใช้ในการเกษตรแม่นยำ (Precision Agriculture) หากในอนาคตคุณต้องการขยายขอบเขตไปใช้ในพื้นที่ห่างไกลที่ไม่มีสัญญาณ WiFi คุณสามารถเปลี่ยนไปใช้บอร์ด Arduino MKR GSM 1400 เพื่อส่งข้อมูลผ่านเครือข่ายโทรศัพท์เคลื่อนที่ และติดตั้งระบบโซลาร์เซลล์พร้อมแบตเตอรี่ Li-Po เพื่อให้ระบบทำงานได้ด้วยตัวเองแบบ 100% ซึ่งจะเป็นการปฏิวัติการจัดการฟาร์มให้มีประสิทธิภาพสูงสุดอย่างแท้จริง