เป็นนักเรียนมัธยมปลายที่กำลังเตรียมตัวสอบเข้ามหาวิทยาลัย เนื่องจากเป็นปีสุดท้ายแล้ว ก็เลยตั้งใจเตรียมตัวกันสุดๆ เลยคิดโปรเจคช่วยลดเวลาทำงานบ้านประจำวันขึ้นมา จะได้มีเวลาโฟกัสกับการอ่านหนังสือมากขึ้น นั่นก็คือเครื่องให้อาหารปลาอัตโนมัติไงล่ะ
ผมสร้างเครื่องให้อาหารปลาอัตโนมัติแบบง่ายๆ จากเซอร์โวที่เหลืออยู่ที่บ้าน กับถังอาหารที่ทำจากแผ่นพลาสติกลูกฟูก หาง่าย แถมกันความชื้นและน้ำได้ดี ติดตั้งที่ตู้ปลาก็ง่ายด้วย ถ้าอยากเก็บอาหารได้มากขึ้น ก็แค่ทำถังให้ใหญ่ขึ้นได้เลย
เครื่องให้อาหารปลาอัตโนมัติแบบง่ายๆ นี้ใช้ได้กับอาหารปลาทุกชนิด จัดการง่ายโค้ดที่เขียนไว้ตรงนี้เหมาะกับจำนวนปลาที่ผมเลี้ยงอยู่ พวกน้องๆ สามารถปรับความเร็วและมุมของเซอร์โวได้ตามชอบใจเลย โค้ดนี้จะตั้งให้ให้อาหารอัตโนมัติทุกๆ 8 ชั่วโมง - เช้า กลางวัน และเย็น
นาฬิกาพลังปรมาณู (DS3231)
นาฬิกาภายในของ Arduino Nano นั้นมันเดินเพี้ยนได้นะ ผ่านไปสัปดาห์นึงอาจจะคลาดไปตั้ง 15 นาที! การให้อาหารสัตว์เนี่ย เวลาต้องเป๊ะ ดังนั้นต้องใช้ โมดูลนาฬิกาจริง DS3231 I2C เท่านั้น ชิปนี้มีออสซิลเลเตอร์คริสตัลภายในที่ชดเชยการเปลี่ยนแปลงของอุณหภูมิได้ รับประกันความแม่นยำระดับปรมาณูไปได้หลายปี!
เราเขียนโค้ด C++ โดยใช้โครงสร้าง TimeAlarms
Alarm.alarmRepeat(8, 30, 0, MorningFeeding); // 8:30:00 AM every single day
Alarm.alarmRepeat(17, 0, 0, DinnerFeeding); // 5:00:00 PM every single day
ภายในฟังก์ชัน loop() พี่แค่เรียก Alarm.delay(10); ซึ่งจะบังคับให้ Arduino คอยตรวจสอบนาฬิกาพลังปรมาณูนี้ตลอดเวลา ว่าถึงเวลาป้อนอาหารหรือยัง!
สกรูอาร์คิมิดีส (Servo PWM)
เครื่องให้อาหารแบบประตูกลมาตรฐาน มันจะอุดตันทันทีถ้าอาหารปลาชื้น ดีไซน์ที่เทพที่สุด คือการใช้สกรูอาร์คิมิดีสที่พิมพ์จากเครื่อง 3D พริ้นเตอร์ (เป็นสกรูเกลียวภายในท่อ เหมือนในไซโลเก็บเมล็ดพืชในอุตสาหกรรมเลย!)
เราใช้ เซอร์โวแบบหมุนต่อเนื่อง (FS90R) ยึดติดกับด้านหลังของสกรู เซอร์โวประเภทนี้ไม่หมุนแค่ 180 องศาแล้วหยุดนะ มันหมุนได้ไม่สิ้นสุดเหมือนมอเตอร์ แต่ควบคุมได้อย่างแม่นยำผ่าน PWM พอถึงเวลาที่ตั้งไว้ ฟังก์ชันให้อาหารจะทำงาน: เซอร์โว FS90R จะหมุนตามจำนวนรอบที่ตั้งไว้อย่างแม่นยำ ปล่อยอาหารปลาออกมาในปริมาณที่พอเหมาะลงไปในตู้ปลาด้านล่าง จากนั้นก็จะล็อกตัวเองอยู่ในตำแหน่งอย่างแข็งขัน
ตั้งค่าออโตเมชันสายน้ำ
- Arduino Nano (ฟอร์มแฟคเตอร์เล็กจิ๋วเหมาะเจาะ)
- โมดูลนาฬิกาจริง DS3231 I2C
- เซอร์โวแบบหมุนต่อเนื่อง FS90R (ห้ามซื้อเซอร์โวมาตรฐาน SG90 180 องศามาใช้เด็ดขาด มันจะทำลายสกรูแตกพังแน่นอน!)
- เครื่องพิมพ์ 3 มิติ สำหรับพิมพ์สกรูและกรวยถังอาหารที่กันน้ำได้แบบคัสตอม
สู้งานนะน้องเจอกันโปรเจคหน้า