ชื่อโปรเจกต์: IoT Moisture Sensor
เมื่อต้นปีที่ผ่านมา พ่อแม่ของฉันได้จัดสวนใหม่ เพื่อให้สนามหญ้าสดชื่นและเขียวขจี พ่อของฉันต้องรดน้ำสนามหญ้าทุกวัน แต่ก็ต้องแน่ใจว่าไม่ได้รดน้ำมากเกินไป มิฉะนั้นหญ้าจะตาย เพื่อช่วยพ่อของฉัน ฉันจึงสร้างอุปกรณ์ขนาดเล็กนี้ที่สามารถตรวจจับระดับความชื้นของดินและส่งข้อความผ่าน Arduino IoT Cloud ไปยังคอมพิวเตอร์ของฉัน เพื่อให้เราทราบว่าเมื่อใดควรรดน้ำสนามหญ้า
หมายเหตุ:
- โปรเจกต์นี้ใช้พลังงานจากแบตเตอรี่ ดังนั้นเพื่อให้ Nano 33 IoT ยึดติดแน่น คุณอาจต้องบัดกรี headers หรือ jumper wires เข้ากับ battery clip
- คุณต้องระมัดระวังเมื่อมีน้ำหกใส่ หากคุณวางแผนที่จะใช้ในสภาพแวดล้อมกลางแจ้งเหมือนที่ฉันทำ ตรวจสอบให้แน่ใจว่าได้ใส่ static-proof plastic cover คลุม nano 33 IoT, moisture sensor และ battery ของคุณ เพื่อความปลอดภัยของอุปกรณ์ หากคุณวางแผนที่จะใช้ภายในอาคาร เช่นในภาพหน้าปก คุณไม่จำเป็นต้องมี cover แต่คุณต้องระมัดระวังในการเทน้ำรด moisture sensor เนื่องจากมี components ยึดติดอยู่ รดน้ำให้ห่างจาก moisture sensor และรักษาดินให้อยู่ใต้เส้นสีขาวเพื่อความปลอดภัย มิฉะนั้นคุณอาจเสี่ยงต่อความเสียหายของ sensor และ board ของคุณ
- ลิงก์ไปยังคู่มือเริ่มต้นใช้งานของ Arduino สำหรับ Arduino IoT Cloud หากคุณต้องการ: https://docs.arduino.cc/cloud/iot-cloud/tutorials/iot-cloud-getting-started
ลำดับการประกอบ:
1. เชื่อมต่อ moisture sensor เข้ากับบอร์ด Nano 33 IoT สายสีแดงต่อเข้ากับ 3.3V สายสีดำต่อเข้ากับ GND และสายสีเหลืองต่อเข้ากับ Analog Pin A1 บนบอร์ด คุณสามารถเลือก Analog Pin ใดก็ได้ที่คุณต้องการ อย่างไรก็ตาม ให้แน่ใจว่าคุณเปลี่ยนหมายเลข pin ภายใน code เปลี่ยนตัวเลขภายในฟังก์ชัน analogRead ใน code ส่วนหนึ่งของบรรทัดอยู่ด้านล่าง
//Read data from Analog Pin 1 on Nano 33 IoT and print to Serial Monitor for debugging
soilMoistureLevel = analogRead(1);
Serial.println(soilMoistureLevel);
2. ถัดไป เชื่อมต่อสายเคเบิลเข้ากับบอร์ด Nano 33 IoT ของคุณและสร้าง variables ที่ระบุไว้ด้านล่างภายใน thing ของคุณ
Class Variable
- string message
- int moistureLevel
- CloudPercentage moisturePercent
3. จากนั้น ตั้งค่า Nano 33 IoT ของคุณให้เป็น device สำหรับ thing ของคุณและป้อน network credentials ของคุณในช่องด้านล่าง

4. คัดลอกและวาง code ด้านล่างลงใน sketch tab ของ thing ของคุณและอัปโหลดไปยัง Arduino ของคุณ เมื่ออัปโหลดเสร็จแล้ว ให้เปิด serial monitor เพื่อตรวจสอบว่า moisture sensor ทำงานหรือไม่ หากไม่ ให้ลองแก้ไขปัญหาโดยการรีเซ็ต code กลับสู่สถานะเดิม หรือตรวจสอบ pin ของ moisture sensor หากคุณได้เปลี่ยน pin ของ moisture sensor
5. ถัดไป สร้าง dashboard ที่มี widgets สองสามอัน ด้านล่างนี้คือ dashboard ที่ฉันใช้
นี่คือรายการที่แสดงว่าแต่ละ widget เชื่อมต่อกับ variable ใดบ้าง
- PLANT MOISTURE widget ==> moisturePercent
- MOISTURE VALUE widget ==> moistureValue
- graph ที่อยู่ด้านล่างซ้าย ==> moisturePercent
- MESSENGER widget ==> message

6. โหลด dashboard ซ้ำ หากคุณเห็น data ใน moisture value widget ผันผวนเล็กน้อย แสดงว่าคุณทำโปรเจกต์นี้เสร็จสมบูรณ์แล้ว ขอแสดงความยินดี! หากคุณมีปัญหา คำถาม หรือคำแนะนำ โปรดแสดงความคิดเห็นด้านล่าง และฉันจะตอบกลับคุณโดยเร็วที่สุด
การสาธิตโปรเจกต์อยู่ด้านล่าง
รายละเอียดทางเทคนิคเพิ่มเติม
การตรวจจับแบบ Capacitive เทียบกับ Resistive
sensor นี้ใช้วัดปริมาณน้ำในดิน
- ประเภท Sensor: โปรเจกต์ IoT สมัยใหม่ส่วนใหญ่ใช้ Capacitive Moisture Sensors เนื่องจากป้องกันการกัดกร่อน (ต่างจาก resistive probes) sensor จะส่งออก analog voltage ที่สัมพันธ์กับ dielectric constant ของดิน
- การ Map ที่ปรับเทียบแล้ว: ค่า
analogRead()จะถูก map ใน code จาก "Bone Dry" (เช่น 800) ไปยัง "Submerged" (เช่น 400)
การรวมเข้ากับ IoT
โดยใช้ Arduino MKR WiFi 1010 หรือ ESP8266 จะมีการส่ง data ไปยัง cloud dashboard
- การแจ้งเตือนอัตโนมัติ: cloud logic สามารถเรียกใช้งาน email หรือ push notification หากระดับความชื้นลดลงต่ำกว่าเกณฑ์ที่กำหนด (เช่น 20%) ช่วยให้ผู้ใช้รักษาสุขภาพพืชให้อยู่ในระดับที่เหมาะสมผ่าน remote telemetry