หน้าแรก ดูโปรเจกต์ทั้งหมด
Intermediate

โปรเจกต์ IoT Moisture Sensor

IoT Moisture Sensor ที่ส่งข้อมูลความชื้นจาก Arduino Nano 33 IoT ไปยัง Arduino IoT Cloud

โปรเจกต์ IoT Moisture Sensor

รายการอุปกรณ์และเครื่องมือ

1x Arduino Nano 33 IoT
-
3x Jumper wires (generic)
🛒 สั่งซื้อ
1x 9V battery (generic)
-
1x Gravity: Analog Capacitive Soil Moisture Sensor- Corrosion Resistant
🛒 สั่งซื้อ
}

รายละเอียดและวิธีทำ

เมื่อต้นปีนี้ พ่อแม่ของผมได้ปรับปรุงสนามหญ้าใหม่ เพื่อให้สนามหญ้ายังคงสดชื่นและเขียวขจี พ่อของผมจึงต้องรดน้ำสนามหญ้าทุกวัน แต่ต้องคอยระวังไม่ให้รดน้ำมากเกินไปจนดินแฉะ ไม่อย่างนั้นหญ้าจะตาย เพื่อช่วยคุณพ่อ ผมจึงสร้างอุปกรณ์ขนาดเล็กชิ้นนี้ขึ้นมา ซึ่งสามารถตรวจจับ Moisture Level ของดิน และส่งข้อความผ่าน Arduino IoT Cloud มายังคอมพิวเตอร์ของผม เพื่อให้เราทราบว่าควรจะรดน้ำสนามหญ้าเมื่อไหร่

Notes:

  • โปรเจกต์นี้ใช้พลังงานจากแบตเตอรี่ ดังนั้นเพื่อให้การเชื่อมต่อกับ Nano 33 IoT แน่นหนา คุณอาจจำเป็นต้องบัดกรี Headers หรือสาย Jumper เข้ากับ Battery Clip
  • คุณต้องระมัดระวังเมื่อมีการรดน้ำลงบนอุปกรณ์นี้ หากคุณวางแผนที่จะใช้งานในสภาพแวดล้อมกลางแจ้งเหมือนที่ผมทำ ตรวจสอบให้แน่ใจว่าคุณได้ใส่ฝาครอบพลาสติกกันไฟฟ้าสถิต (Static-proof Plastic Cover) ไว้บน Nano 33 IoT, Moisture Sensor และแบตเตอรี่ เพื่อความปลอดภัยของอุปกรณ์ของคุณ หากคุณวางแผนที่จะใช้งานในร่มเหมือนในรูปหน้าปก คุณไม่จำเป็นต้องมีฝาครอบก็ได้ แต่คุณต้องระวังในขณะที่รดน้ำลงบน Moisture Sensor เนื่องจากมีส่วนประกอบต่างๆ ติดตั้งอยู่บนนั้น ให้รดน้ำให้ห่างจาก Moisture Sensor และให้ระดับดินอยู่ต่ำกว่าเส้นสีขาวเพื่อความปลอดภัย มิฉะนั้นคุณอาจเสี่ยงที่จะทำให้ Sensor และ Board ของคุณเสียหายได้

Building Sequence:

1. เชื่อมต่อ Moisture Sensor เข้ากับ Board Nano 33 IoT โดยสายสีแดงต่อเข้าที่ 3.3V, สายสีดำต่อเข้าที่ GND และสายสีเหลืองต่อเข้าที่ Analog Pin A1 บน Board คุณสามารถเลือก Analog Pin ใดก็ได้ที่คุณชอบ อย่างไรก็ตาม ตรวจสอบให้แน่ใจว่าคุณได้เปลี่ยนหมายเลข Pin ภายใน Code ด้วย โดยเปลี่ยนตัวเลขภายใน Function analogRead ใน Code ตัวอย่างของบรรทัด Code อยู่ด้านล่างนี้

//อ่านข้อมูลจาก Analog Pin 1 บน Nano 33 IoT และแสดงผลที่ Serial Monitor สำหรับการ Debugging
soilMoistureLevel = analogRead(1);
Serial.println(soilMoistureLevel);

2. ต่อไป เชื่อมต่อสายเคเบิลเข้ากับ Board Nano 33 IoT ของคุณ และสร้าง Variable ตามรายการด้านล่างนี้ภายใน Thing ของคุณ

Class Variable

  • string message
  • int moistureLevel
  • CloudPercentage moisturePercent

3. จากนั้น ตั้งค่า Nano 33 IoT ของคุณให้เป็น Device สำหรับ Thing และป้อน Network Credentials ของคุณในช่องด้านล่าง

4. คัดลอกและวาง Code ด้านล่างลงใน Sketch Tab ของ Thing ของคุณ และ Upload ลงใน Arduino เมื่อ Upload เสร็จสิ้น ให้เปิด Serial Monitor เพื่อตรวจสอบว่า Moisture Sensor ทำงานได้ตามปกติหรือไม่ หากไม่ทำงาน ให้ลองแก้ไขปัญหาโดยการ Reset Code กลับไปเป็นสถานะเดิม หรือตรวจสอบ Pin ของ Moisture Sensor หากคุณได้มีการเปลี่ยน Pin ของ Moisture Sensor

5. ต่อไป ให้สร้าง Dashboard พร้อมกับ Widgets สองสามอย่าง ด้านล่างนี้คือ Dashboard ที่ผมใช้

นี่คือรายการที่แสดงว่าแต่ละ Widget เชื่อมต่อกับ Variable ใด

  • PLANT MOISTURE widget ==> moisturePercent
  • MOISTURE VALUE widget ==> moistureValue
  • กราฟที่มุมซ้ายล่าง ==> moisturePercent
  • MESSENGER widget ==> message

6. โหลด Dashboard ใหม่อีกครั้ง หากคุณเห็นข้อมูลใน Moisture Value Widget มีการเปลี่ยนแปลงเล็กน้อย แสดงว่าคุณได้ทำโปรเจกต์นี้สำเร็จแล้ว ยินดีด้วย! หากคุณมีปัญหา คำถาม หรือคำแนะนำ โปรดแสดงความคิดเห็นไว้ที่ด้านล่าง แล้วผมจะตอบกลับโดยเร็วที่สุด

การสาธิตการทำงานของโปรเจกต์อยู่ด้านล่างนี้

ขอบคุณที่อ่านครับ!

การสาธิต (Demonstration)

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: iot-moisture-sensor-7b4cd7
33 บาท
PromptPay QR Code