กลับไปหน้ารวมไฟล์
starter-kit-hourglass-personal-mod-03f25b.md

โปรเจกต์นี้ถือเป็นเวอร์ชันปรับปรุงแบบ "เทคนิค 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): ใช้ต่ออุปกรณ์ทั้งหมดเข้าด้วยกัน
ออกแบบบน Tinkercad

การจับเวลาและตรรกะ (Timing and Logic)

ผลลัพธ์จะคล้ายกับโปรเจกต์เริ่มต้น แต่ต่างกันตรงที่ตัวนี้จะนับทั้งนาทีและวินาที (ทีละสิบวินาที) พอครบ 5 นาที จะมีสัญญาณเป็นแสง LED แบบไฟคริสต์มาสวิบวับ แล้วจบด้วยการกระตุ้นเซนเซอร์เอียงเพื่อเริ่มต้นใหม่ (เพื่อให้ทำวิดีโอสั้นๆ ไม่ถึง 5 นาที พี่เลยตั้งค่าในโค้ดให้รอแค่ 1/100 ของเวลาจริง ฮ่าๆ)

โค้ด Arduino ใช้ฟังก์ชันเกี่ยวกับเวลาจัดการลำดับการทำงาน

  1. เริ่มต้น (Initialize): Arduino ตั้งค่าเซนเซอร์เอียงและกำหนดขาวัดค่าเป็น INPUT
  2. ตรวจสอบค่า (Polling): Arduino คอยตรวจสอบเซนเซอร์เอียงว่ามีการเปลี่ยนทิศทางหรือไม่
  3. เปิด LED เป็นลำดับ (Sequential Activation): การเปลี่ยนทิศทางจะกระตุ้นให้ LED ติดทีละดวง
  4. หน่วงเวลา (Time Delay): แต่ละ LED จะติดในระยะเวลาที่กำหนด เป็นการแสดงภาพเวลาที่ผ่านไป

การทำงานของซอฟต์แวร์ (Software Execution)

โค้ดถูกออกแบบให้อัปเดตสถานะ LED ทุกครั้งที่มีการเอียงหรือเปลี่ยนทิศทาง และให้สอดคล้องกับสถานะรวมของนาฬิกาทรายดิจิทัล ทำให้การตอบสนองดีและผู้ใช้มีส่วนร่วมมากขึ้น

แนวทางการพัฒนาต่อ (Future Expansion)

  • ปรับแต่งเวลา: เพิ่มปุ่มกดหรือโพเทนชิโอมิเตอร์เพื่อปรับระยะเวลาของนาฬิกาทรายได้
  • เพิ่มเสียง: ใส่บัซเซอร์เพื่อให้สัญญาณเสียงเมื่อครบเวลา
  • เพิ่มจอแสดงผล: ใส่จอ OLED ขนาดเล็กเพื่อแสดงเวลาที่เหลืออยู่เป๊ะๆ
  • แจ้งเตือนไร้สาย: เพิ่มโมดูล Bluetooth เพื่อส่งการแจ้งเตือนไปที่สมาร์ทโฟนเมื่อนาฬิกาทรายหมดเวลา

Starter Kit - Hourglass (personal mod) เป็นโปรเจกต์ที่เหมาะมากสำหรับคนที่ชอบอิเล็กทรอนิกส์และกำลังมองหาเครื่องมือเรียนรู้แบบมีปฏิสัมพันธ์สนุกๆ อยู่! ไปลองทำกันดู สู้งานนะน้อง!

ข้อมูล Frontmatter ดั้งเดิม

title: "ชุดเริ่มต้น - นาฬิกาทรายเทพ (เวอร์ชั่นอัพเกรดจัดเต็ม)"
description: "อัพเกรดจากโปรเจกต์ที่ 8 ในชุดเริ่มต้น จากตัวนับ 5 นาทีธรรมดา ให้แสดงผลไฟแยกชัดๆ ระหว่างวินาทีกับนาที งานง่ายแต่หล่อ!"
author: "pnuts93"
category: ""
tags:
  - "starterkit"
  - "clocks"
views: 1071
likes: 0
price: 1499
difficulty: "Easy"
components:
  - "5x 5 mm LED: Red"
  - "5x 5 mm LED: Green"
  - "10x Resistor 220 ohm"
  - "1x Resistor 10k ohm"
  - "1x Tilt Switch, SPST"
  - "1x Arduino UNO"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/pnuts93/arduino_hourglass"
  - "https://github.com/pnuts93/arduino_hourglass"
documentationLinks: []
passwordHash: "b9f9657af9e1b0289e7c528e5091b23a0f7b7597d3d94adf056521f80d9edde2"
encryptedPayload: "U2FsdGVkX1/MSdPTHRgKT1EprYdozdAylItVNXNAox+ZmwEn0JXDjyA2URtqWe5Ufxq8INkyoWcWThZkRV1Jyf0rzIAaOapELBJ28YuJedY="
seoDescription: "A custom mod of Starter Kit project 8 featuring a 5-minute counter with separate lights for seconds and minutes."
videoLinks:
  - "https://www.youtube.com/embed/dUTxZdzroL8"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/starter-kit-hourglass-personal-mod-03f25b_cover.jpg"
lang: "en"