สิ่งที่ต้องเตรียม
บอร์ด Arduino Uno (ดาวโหลดโปรแกรม Arduino IDE)
เซ็นเซอร์วัดระดับน้ำ Water Sensor (SL067)
Servo Motor Module
สาย Jumper (ผู้-เมีย 3 เส้น , ผู้-ผู้ 3 เส้น)
วิธีทำ
ต่อวงจร ตามภาพด้านล่างนี้
เปิดโปรแกรม Arduino IDE แล้วคัดลอกโค้ดด้านล่าง เพื่อนำส่งเข้าสู่บอร์ด Arduino
ตรวจสอบ //เงื่อนไขในการควบคุม Servo Motor หรือ ระดับน้ำ ให้ตรงกับกิจกรรมที่กำหนดด้านล่าง
สามารถนำไปประยุกต์ใช้และพัฒนาต่อในชีวิตประจำวันได้หลากหลายมาก เช่น
นี่คือการประยุกต์ใช้ที่ง่ายและเป็นประโยชน์ที่สุด โดยใช้เซ็นเซอร์ SL067 ตรวจจับความชื้นของดินในกระถาง หากความชื้นต่ำกว่าเกณฑ์ Servo motor จะทำหน้าที่หมุนเพื่อเปิดวาล์วน้ำให้ต้นไม้ได้รับน้ำ และเมื่อความชื้นถึงระดับที่กำหนด Servo motor ก็จะหมุนกลับเพื่อปิดวาล์ว
การพัฒนาต่อยอด:
ควบคุมหลายกระถาง: เพิ่มเซ็นเซอร์วัดความชื้นหลายตัว และเพิ่ม Servo motor หลายตัว เพื่อควบคุมการรดน้ำต้นไม้หลายกระถางในเวลาเดียวกัน
กำหนดตารางเวลา: เพิ่มโมดูล RTC (Real Time Clock) เพื่อตั้งเวลาการรดน้ำอัตโนมัติ หรือเพิ่มโมดูล Wi-Fi เพื่อควบคุมผ่านสมาร์ทโฟน
ใช้เซ็นเซอร์ SL067 จุ่มลงในตู้ปลาเพื่อวัดระดับน้ำ เมื่อระดับน้ำลดต่ำลงถึงเกณฑ์ที่กำหนด Servo motor จะสั่งการให้ปั๊มน้ำทำงานเพื่อเติมน้ำเข้าตู้ปลา และจะหยุดทำงานเมื่อระดับน้ำกลับมาปกติ
การพัฒนาต่อยอด:
ระบบให้อาหารปลาอัตโนมัติ: เพิ่ม Servo motor ตัวที่สองเพื่อควบคุมการเปิด-ปิดช่องให้อาหารปลาตามเวลาที่กำหนด
ติดตั้งเซ็นเซอร์ SL067 ในบริเวณที่เสี่ยงต่อน้ำท่วม เช่น ในห้องน้ำ ใต้ซิงค์ล้างจาน หรือในห้องใต้ดิน หากตรวจพบว่ามีน้ำท่วมหรือน้ำล้นถึงระดับที่กำหนด Servo motor จะทำงานเพื่อส่งสัญญาณเตือน (เช่น เปิดไฟ หรือหมุนกระดิ่ง)
การพัฒนาต่อยอด:
ระบบแจ้งเตือนผ่านมือถือ: เพิ่มโมดูล Wi-Fi หรือ SIM Card เพื่อส่งการแจ้งเตือนไปยังสมาร์ทโฟนหรืออีเมล เมื่อตรวจพบระดับน้ำผิดปกติ
ประยุกต์ใช้กับงานเกษตรกรรม โดยติดตั้งเซ็นเซอร์ในแปลงนาเพื่อวัดระดับน้ำ หากระดับน้ำลดต่ำลงจากเกณฑ์ที่กำหนด Servo motor จะควบคุมการเปิด-ปิดประตูระบายน้ำในคลองส่งน้ำ
การพัฒนาต่อยอด:
การวิเคราะห์ข้อมูล: บันทึกข้อมูลระดับน้ำอย่างต่อเนื่องเพื่อนำไปวิเคราะห์ความต้องการใช้น้ำของพืชในแต่ละช่วงการเจริญเติบโต และปรับปรุงการจัดการน้ำให้มีประสิทธิภาพสูงสุด
เชื่อมต่อกับระบบพลังงานแสงอาทิตย์: ใช้พลังงานแสงอาทิตย์เพื่อจ่ายไฟให้ระบบ ทำให้สามารถนำไปติดตั้งในพื้นที่ห่างไกลได้
การนำไปประยุกต์ใช้ในชีวิตประจำวันขึ้นอยู่กับความคิดสร้างสรรค์ของนักเรียน การเรียนรู้การควบคุมอุปกรณ์แบบพื้นฐานนี้จะช่วยให้นักเรียนสามารถสร้างระบบที่ซับซ้อนขึ้นได้ในอนาคต
#include <Servo.h>
Servo myservo; // สร้างออบเจกต์ Servo
int waterSensorPin = A0; // กำหนดขาอนาล็อกสำหรับเซ็นเซอร์วัดระดับน้ำ
int threshold = 300; // กำหนดค่าเกณฑ์ (ปรับเปลี่ยนตามความเหมาะสม)
void setup() {
myservo.attach(9); // กำหนดขา D9 สำหรับควบคุม Servo
Serial.begin(9600); // เริ่มต้นการสื่อสารแบบอนุกรมเพื่อดูค่าบน Serial Monitor
}
void loop() {
int sensorValue = analogRead(waterSensorPin); // อ่านค่าจากเซ็นเซอร์ (0-1023)
Serial.print("Sensor Value: ");
Serial.println(sensorValue);
// เงื่อนไข: ถ้าค่าที่อ่านได้ต่ำกว่าเกณฑ์ (น้ำน้อย)
if (sensorValue < threshold) {
myservo.write(90); // สั่งให้ Servo หมุนไปที่ 90 องศา (สมมติว่าเป็นการเปิดวาล์ว)
Serial.println("Water level is low. Opening valve.");
} else {
// ถ้าค่าที่อ่านได้สูงกว่าเกณฑ์ (น้ำเพียงพอ)
myservo.write(0); // สั่งให้ Servo หมุนกลับไปที่ 0 องศา (สมมติว่าเป็นการปิดวาล์ว)
Serial.println("Water level is sufficient. Closing valve.");
}
delay(1000); // หน่วงเวลา 1 วินาที
}
#include <Servo.h>: เป็นไลบรารีที่จำเป็นสำหรับการควบคุม Servo Motor
Servo myservo;: สร้างตัวแปร myservo เพื่อเป็นตัวแทนของ Servo Motor
int waterSensorPin = A0;: กำหนดให้ waterSensorPin เป็นขา A0
int threshold = 300;: กำหนดค่าเกณฑ์ (threshold) ซึ่งเป็นค่าที่เราใช้ตัดสินใจว่าน้ำน้อยหรือมาก ค่านี้อาจต้องปรับเปลี่ยนไปตามสภาพแวดล้อมจริง
myservo.attach(9);: ในฟังก์ชัน setup() เราจะกำหนดว่าเซอร์โวมอเตอร์ถูกเชื่อมต่อกับขา Digital Pin 9 ของ Arduino
analogRead(waterSensorPin);: ใช้คำสั่งนี้เพื่ออ่านค่าจากเซ็นเซอร์วัดระดับน้ำซึ่งจะให้ค่าตั้งแต่ 0 ถึง 1023
if (sensorValue < threshold): ถ้าค่าที่อ่านได้น้อยกว่าค่า threshold แสดงว่าระดับน้ำต่ำ
myservo.write(90);: สั่งให้เซอร์โวหมุนไปที่ 90 องศา (ปรับองศาการหมุนตามต้องการ โดยไม่เกิน 180องศา)
myservo.write(0);: สั่งให้เซอร์โวหมุนกลับไปที่ 0 องศา
หลังจากอัปโหลดโค้ดลงใน Arduino แล้ว ให้เปิด Serial Monitor เพื่อดูค่าที่อ่านได้จากเซ็นเซอร์และสถานะการทำงานของเซอร์โวมอเตอร์
สนใจสั่งซื้อ
1.บอร์ด Arduino Uno https://s.shopee.co.th/AA70eKn5JR
2.เซ็นเซอร์วัดระดับน้ำ Water Sensor (SL067) https://s.shopee.co.th/40WUU2i71d
3.Servo Motor Module https://s.shopee.co.th/7V6FTeZQs0
4.สาย Jumper ผู้-เมีย 3 เส้น https://s.shopee.co.th/8fICs89zq1
5.สาย Jumper ผู้-ผู้ 3 เส้น https://s.shopee.co.th/8fICs89zq1