Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

ชุดรดน้ำอัตโนมัติด้วย Arduino เป็นต้นแบบให้น้องได้ศึกษาระบบ Smart Farm พื้นฐาน นำไปพัฒนาต่อในอนาคต โดยใช้ Arduino Uno R3 สามารถนำไปพัฒนาใน งาน IOT หรือจะพัฒนาใน แอพพลิเคชั่น Blynk ได้อีกด้วย. (งบประมาณไม่เกิน 400 บาท)

อุปกรณ์ที่ต้องใช้มีดังต่อไปนี้

  • Arduino Uno R3 พร้อมสาย USB
  • Module รีเลย์ relay 1 Chanel 250V/10A Active HIGH
  • Soil Moisture Sensor Module วัดความชื่นในดิน
  • ปั๊มน้ำ DC ขนาดเล็ก
  • สายยางปั้มน้ำ 6mm. ยาว 1เมตร
  • รางถ่าน AA 4 ก้อน
  • สายแพร Jumper ตัวผู้-ตัวเมีย ยาว 20CM

ในส่วนของวงจรการต่อสายมีดังนี้

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd
view raw

const int analogInPin = A0; // กำหนดขา input เซ็นเซอร์ const int Relay = 2; // กำหนดขา input รีเลย์ int sensorValue = 0; // ตัวแปรค่า Analog int outputValue = 0; // ตัวแปรสำหรับ Map เพื่อคิด % void setup() { Serial.begin(9600);pinMode(Relay, OUTPUT); // กำหนด รีเลย์เป็น Output}void loop() { sensorValue = analogRead(analogInPin); outputValue = map(sensorValue, 0, 1023, 100, 0); Serial.print(outputValue); Serial.println(" %");if (outputValue <= 40) { //ตั้งค่า % ที่ต้องการจะรดน้ำต้นไม้ digitalWrite(Relay, HIGH); // เมื่อความชื้นน้อยกว่า 40% ให้เปิดปั๊มน้ำ}else {digitalWrite(Relay, LOW); // เมื่อความชื้นมากกว่า 40% ปิดปั๊ม}delay(500); }

เสนอแน่ะ

ยังสามารถนำไปประยุกต์ใช้งานได้อีกนะครับ เช่นเพิ่มจำนวน Input เช่นเพิ่มเซ็นเซอร์ วัดอุณภูมิบนอากาศหรือติดตั้งเซ็นเซอร์ วัดความชื้นในดินเพิ่มก็สามารถทำได้ และยังสั่งส่ง Output ได้อีกเยอะเช่นสั่ง ปั๊มน้ำทีละ 5 - 10 ตัว ก็สามารถทำได้ง่าย ๆ เลยนะครับ ทั่วไปโดยปกติแล้ว พืชจะต้องการความชื้นในดินอยู่ที่ประมาณ 25-30% (แล้วแต่พืชในแต่ละชนิดด้วยน่ะครับ) Sensor วัดความชื้นในดินจะทำการวัดค่าความชื้นในดิน โดยสัญญาณที่ได้ออกมาจะเป็นแบบ Analog ป้อนไปยัง Arduino เพื่อประมวลผล เมื่อ Arduino ได้ทำการวัดตรงตามเงือนไข ก็จะทำการส่ง Logic ไปยัง Relay เพื่อทำการเปิดปั้มน้ำไปรดน้ำต้นไม้ แค่นี้ก็จะได้ โปรเจครดน้ำต้นไม้แบบง่ายๆ ในราคางบไม่เกิน 400บาทแล้วนะครับ

โดยปกติแล้ว พืชจะต้องการความชื้นในดินอยู่ที่ประมาณ 40% (แล้วแต่พิชในแต่ละชนิดด้วยน่ะครับ) Sensor วัดความชื้นในดินจะทำการวัดค่าความชื้นในดิน โดยสัญญาณที่ได้ออกมาจะเป็นแบบ Analog ป้อนไปยัง Arduino เพื่อประมวลผล เมื่อ Arduino ได้ทำการวัดตรงตามเงือนไข ก็จะทำการส่ง Logic ไปยัง Relay เพื่อทำการเปิดปั้มน้ำไปรดน้ำต้นไม้ แค่นี้ก็จะได้ โปรเจครดน้ำต้นไม้แบบง่ายๆ

อัพเดดเพิ่มเติม

เนื่องด้วยในช่วงที่อุปกรณ์ เซมิคอนดักเตอร์ (Semiconductor) คือ สารกึ่งตัวนำ ทำให้บอร์ด Arduino Uno มีราคาแพงขึ้นทางร้านเลยอยากจะ แนะนำอุปกรณ์ใหม่ที่เหมือน Arduino หน้าตาเหมือน Arduino แต่ราคาถูกกว่า คือ Wemos D1 Uno การต่อใช้งานสามารถต่อได้เหมือนกันกับ Arduino และยังสามารถพัฒนาบอร์ดให้สามารถใช้งานในงาน IOT ได้อีกด้วย สามารถใช้งานร่วมกับ App Blynk เพื่อใช้งานทางด้าน โปรเจค IOT เปิดปิดปั้มน้ำผ่าน App หรือจะดูความชื้นในดินได้อย่าง Real Time และสั่งรดน้ำได้อย่าง Real Time อีกด้วย ส่วนของโปรแกรมสามารถ ขอ Admin ทางร้านได้ฟรีเหมือนเดิม ครับ

อุปกรณ์ที่ต้องใช้ใน บทความ สอนใช้งาน โปรเจค Arduino ชุดรดน้ำอัตโนมัติวัดอุณหภูมิและความชื้นในดิน ในอากาศ

  • โปรเจค Arduino ชุดรดน้ำอัตโนมัติวัดอุณหภูมิและความชื้นในดิน ในอากาศ

วิธีการต่ออุปกรณ์ สอนใช้งาน Arduino โปรเจค Arduino ชุดรดน้ำอัตโนมัติวัดอุณหภูมิและความชื้นในดิน ในอากาศ

1.เชื่อมต่ออุปกรณ์ตามด้านล่าง

อะแดปเตอร์ 9V 2A -> Arduino UNO R3

Arduino UNO R3 -> L298N Motor Drive Module • 5V -> +5V • GND -> GND • Vin -> VCC • 3 -> IN4

L298N Motor Drive Module -> ปั้มน้ำ 3V – 5V DC • OUT3 -> สายสีดำ • OUT4 -> สายสีแดง

Arduino UNO R3 -> จอแสดงผล LCD • 5V -> VCC • GND -> GND • A4 -> SDA • A5 -> SCL

Arduino UNO R3 -> DHT11 • 5V -> ( + ) • GND -> ( - ) • 4 -> out

Arduino UNO R3 -> Buzzer • 5V -> VCC • GND -> GND • 2 -> I/O

Arduino UNO R3 -> เซ็นเซอร์วัดความชื้นในดิน • 5V -> VCC • GND -> GND • A0 -> AO

*** GND ต่อร่วมกันทั้งหมด ***

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

2. เมื่อเชื่อมต่ออุปกรณ์เรียบร้อยแล้ว ให้ทำการดาวน์โหลด Library จากลิ้งค์ข้างล่าง

ดาวน์โหลด Library

  • https://www.mediafire.com/file/dnw7mjunpmcakf6/PJ026+Lib.rar/file

วิธีลง Library ให้ดูตัวอย่างในบทความนี้

  • สอนใช้งาน Arduino ติดตั้ง Library ในโปรแกรม Arduino IDE เชื่อมต่อกับ Sensor ต่างๆ
    Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

3. ทำการแยก ไฟล์ออกมาและให้ Copy โฟลเดอร์ไปไว้ในโฟลเดอร์ libraries ของโปรแกรม Arduino IDE ตัวอย่าง Location : This PC > Document > Arduino > libralies *** สำหรับการแยกไฟล์นั้นจำเป็นที่จะต้องมีโปรแกรม WinRAR หรือ WinZip ติดตั้งอยู่ในเครื่องเสียก่อน ***

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

4. เปิดโปรแกรม Arduino IDE ขึ้นมา

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

5. จากนั้นทำการ copy โค๊ดด้านล่างไปใส่ไว้ในโปรแกรม Arduino IDE

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

6. เลือก port ที่ต้องการ upload โดยไปที่แถบเมนูด้านบนแล้วเลือก Tools -> Port แล้วเลือก Port ที่เชื่อมต่อกับบอร์ด

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

7. เลือกประเภทของบอร์ด โดยไปที่แถบเมนูด้านบนแล้วเลือก Tools -> Board แล้วเลือกประเภทของบอร์ดที่ใช้งาน

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

8. อัพโหลดโค๊ดลงบอร์ดโดยเลือกเมนู Upload ที่อยู่ในแถบเมนู Sketch

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

9. เมื่อทำการกด Upload แล้ว โปรแกรมจะปรากฏหน้าต่างสำหรับบันทึกโค๊ดขึ้นมาให้ผู้ใช้งานทำการบันทึกโค๊ด หากผู้ใช้งานไม่ต้องบันทึกโค๊ดก็ให้ปิดหน้าต่างนี้ไปได้เลย

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

10. รอจนกว่าโปรแกรมจะทำการอัพโหลดโค๊ดจนเสร็จ

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

11. เมื่อโปรแกรมทำการอัพโหลดโค๊ดเสร็จแล้วก็จะปรากฏข้อความ Done Uploading ขึ้นมา

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

12. เปิดหน้าจอ Serial Monitor ขึ้นมา

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

13. เมื่อเปิดหน้าจอ Serial Monitor ขึ้นมาแล้ว ให้ผู้ใช้งานเปลี่ยนการอ่านข้อมูล baud เป็น 9600 baud

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

14. เมื่อทำการเปลี่ยนค่าการอ่านข้อมูลแล้ว จะเห็นได้ว่าที่หน้าจอ Serial Monitor แสดงค่าอุณหภูมิ ความชื้นและค่าสถานะ val ขึ้นมา และหน้าจอ LCD จะแสดงค่าอุณหภูมิ ความชื้นขึ้นมาด้วย

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

15. ต่อมาให้ผู้ใช้งานนำแก้วมา 4 ใบโดยเป็น แก้วเปล่า 1 ใบ, แก้วบรรจุน้ำ 1 ใบ, แก้วบรรจุทรายแห้ง 1 ใบ, แก้วบรรจุทรายเปียก 1 ใบ

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

16. จากนั้นให้ผู้ใช้งานนำตัวเซ็นเซอร์วัดความชื้นในดินใส่ลงไปในดินเปียก ซึ่งจะเห็นได้ว่าค่า val ที่ปรากฏขึ้นมาจะมีค่าต่ำกว่า 600 ซึ่งเป็นค่าที่ได้ถูกกำหนดไว้ในโค๊ด ส่งผลให้ Buzzer และปั้มน้ำยังไม่ทำงาน

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

17. จากนั้นให้ผู้ใช้งานนำตัวเซ็นเซอร์วัดความชื้นในดินใส่ลงไปในดินแห้ง ซึ่งจะเห็นได้ว่าค่า val ที่ปรากฏขึ้นมาจะมีค่ามากกว่า 600 ซึ่งเป็นค่าที่ได้ถูกกำหนดไว้ในโค๊ด ส่งผลให้ Buzzer และปั้มน้ำทำงาน ทำให้ปั้มน้ำดูดน้ำจากแก้วที่มีน้ำไปยังแก้วเปล่าพร้อมทั้งมีเสียง Buzzer ดังขึ้นเป็นจังหวะ

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

Arduino ว ดอ ณหภ ม รดน ำต นไม lcd

18. ต่อมาให้ผู้ใช้งานนำตัวเซ็นเซอร์วัดความชื้นในดินใส่ลงไปในดินเปียก ซึ่งจะเห็นได้ว่าค่า val ที่ปรากฏขึ้นมาจะมีค่าต่ำกว่า 600 ซึ่งเป็นค่าที่ได้ถูกกำหนดไว้ในโค๊ด ส่งผลให้ Buzzer และปั้มน้ำจะหยุดทำงาน