โปรเจกต์นี้ถือเป็นเวอร์ชันปรับปรุงแบบ "เทคนิค Pomodoro" จากโปรเจกต์ที่ 8 ในชุดเริ่มต้น (starter kit) นั่นแหละ ทั้งวงจรและโค้ดค่อนข้างตรงไปตรงมา แต่เพราะพี่ยังอยู่ในช่วงทดลองพื้นฐานอยู่ เลยอยากเสนอตัวแปรที่ท้าทายขึ้นมานิดนึงจากของเดิม
ด้านเทคนิค (Technical Implementation)
ระบบนี้ใช้ สวิตช์เอียง (Tilt Switch) ในการตรวจจับเวลาที่เราเอียงนาฬิกาทราย และใช้ LED 6 ดวง เป็นตัวบอกเวลาที่ผ่านไป พอเอียงนาฬิกาทราย LED ก็จะค่อยๆ ติดทีละดวงตามช่วงเวลาที่กำหนด
อุปกรณ์ที่ต้องใช้ (Hardware Infrastructure)
- Arduino Uno: ตัวควบคุมหลักสำหรับตรรกะและเซนเซอร์ของนาฬิกาทราย
- LED 6 ดวง: เป็นตัวบอกเวลาที่ผ่านไปด้วยแสง
- สวิตช์เอียง (Tilt Switch): ใช้ตรวจจับเมื่อนาฬิกาทรายถูกพลิกหรือเอียง
- ตัวต้านทาน 220 โอห์ม (220-ohm Resistors): ใช้ป้องกัน LED และขาออกของ Arduino ส่วนเซนเซอร์เอียงจะต่ออนุกรมกับตัวต้านทาน 10k โอห์มเพื่อบังคับกระแสไปที่ขาที่ 8
- สาย Micro-USB: ใช้ต่อ Arduino กับคอมเพื่อไฟและอัปโหลดโค้ด
- สายจัมเปอร์ (Jumper Wires): ใช้ต่ออุปกรณ์ทั้งหมดเข้าด้วยกัน
การจับเวลาและตรรกะ (Timing and Logic)
ผลลัพธ์จะคล้ายกับโปรเจกต์เริ่มต้น แต่ต่างกันตรงที่ตัวนี้จะนับทั้งนาทีและวินาที (ทีละสิบวินาที) พอครบ 5 นาที จะมีสัญญาณเป็นแสง LED แบบไฟคริสต์มาสวิบวับ แล้วจบด้วยการกระตุ้นเซนเซอร์เอียงเพื่อเริ่มต้นใหม่ (เพื่อให้ทำวิดีโอสั้นๆ ไม่ถึง 5 นาที พี่เลยตั้งค่าในโค้ดให้รอแค่ 1/100 ของเวลาจริง ฮ่าๆ)
โค้ด Arduino ใช้ฟังก์ชันเกี่ยวกับเวลาจัดการลำดับการทำงาน
- เริ่มต้น (Initialize): Arduino ตั้งค่าเซนเซอร์เอียงและกำหนดขาวัดค่าเป็น
INPUT - ตรวจสอบค่า (Polling): Arduino คอยตรวจสอบเซนเซอร์เอียงว่ามีการเปลี่ยนทิศทางหรือไม่
- เปิด LED เป็นลำดับ (Sequential Activation): การเปลี่ยนทิศทางจะกระตุ้นให้ LED ติดทีละดวง
- หน่วงเวลา (Time Delay): แต่ละ LED จะติดในระยะเวลาที่กำหนด เป็นการแสดงภาพเวลาที่ผ่านไป
การทำงานของซอฟต์แวร์ (Software Execution)
โค้ดถูกออกแบบให้อัปเดตสถานะ LED ทุกครั้งที่มีการเอียงหรือเปลี่ยนทิศทาง และให้สอดคล้องกับสถานะรวมของนาฬิกาทรายดิจิทัล ทำให้การตอบสนองดีและผู้ใช้มีส่วนร่วมมากขึ้น
แนวทางการพัฒนาต่อ (Future Expansion)
- ปรับแต่งเวลา: เพิ่มปุ่มกดหรือโพเทนชิโอมิเตอร์เพื่อปรับระยะเวลาของนาฬิกาทรายได้
- เพิ่มเสียง: ใส่บัซเซอร์เพื่อให้สัญญาณเสียงเมื่อครบเวลา
- เพิ่มจอแสดงผล: ใส่จอ OLED ขนาดเล็กเพื่อแสดงเวลาที่เหลืออยู่เป๊ะๆ
- แจ้งเตือนไร้สาย: เพิ่มโมดูล Bluetooth เพื่อส่งการแจ้งเตือนไปที่สมาร์ทโฟนเมื่อนาฬิกาทรายหมดเวลา
Starter Kit - Hourglass (personal mod) เป็นโปรเจกต์ที่เหมาะมากสำหรับคนที่ชอบอิเล็กทรอนิกส์และกำลังมองหาเครื่องมือเรียนรู้แบบมีปฏิสัมพันธ์สนุกๆ อยู่! ไปลองทำกันดู สู้งานนะน้อง!