โปรเจกต์นี้ใช้บอร์ด NANO ESP32 ควบคุมสเต็ปเปอร์มอเตอร์ 4 ตัว เพื่อแสดงเวลาจากอินเทอร์เน็ตที่ดึงมาจากเซิร์ฟเวอร์ NTP
ภาพรวมโปรเจกต์
"Chrono-Slide" คือประติมากรรมจลนศาสตร์แนวคิดสูง ที่เชื่อมโยงความแม่นยำแบบดิจิทัลเข้ากับความรู้สึกสัมผัสแบบกลไก แทนที่นาฬิกาทั่วไปจะใช้เข็มหรือไฟ LED แบบนิ่ง เจ้านี่ใช้ Arduino Nano ESP32 ในการจัดเรียงแผ่นสไลด์ให้กลายเป็นตัวเลขจริงๆ ด้วยการดึงเวลาอะตอมผ่าน Wi-Fi แล้วแปลงเป็นขั้น (step) ที่แม่นยำของมอเตอร์ นาฬิกานี้สร้างสุนทรียะแบบ "กลไกเคลื่อนไหว" สไตล์อุตสาหกรรม ที่ทั้งเที่ยงตรงและน่าตื่นตาตื่นใจ
ลึกลงไปในเทคนิค
- ESP32-S3 และการเชื่อมต่อ NTP:
- ความแม่นยำระดับมิลลิวินาที: Nano ESP32 เชื่อมต่อไปยังกลุ่มเซิร์ฟเวอร์ NTP (Network Time Protocol) ทั่วโลก มันส่งแพ็กเก็ต UDP ไปพอร์ต 123 และรับข้อมูลประทับเวลา 64 บิตกลับมา เฟิร์มแวร์จะปรับค่านี้ให้เป็นโซนเวลาและเวลาออมแสงท้องถิ่น ทำให้หน้าปัดกลไกไม่ต้องตั้งค่าเองเลย
- การประมวลผลแบบอะซิงโครนัส: ใช้ประโยชน์จาก Xtensa® LX7 สองคอร์ โดยจัดการสแต็ก Wi-Fi ในคอร์หนึ่ง และควบคุมจังหวะพัลส์ให้สเต็ปเปอร์มอเตอร์ทำงานนิ่งๆ ในอีกคอร์หนึ่ง
- เมคคาทรอนิกส์ของสเต็ปเปอร์มอเตอร์ (28BYJ-48):
- การวางตำแหน่งแบบไม่ต่อเนื่อง: นาฬิกาใช้สเต็ปเปอร์มอเตอร์ 4 ตัว แต่ละตัวควบคุมเลขหนึ่งหลัก ด้วยอัตราทดเกียร์ 64:1 มอเตอร์เหล่านี้ให้แรงบิดสูงเพียงพอที่จะเลื่อนแผ่นพลาสติกได้ลื่นไหล
- ฟอเรนซิกส์แบบลูปเปิด: เพื่อรักษาการซิงค์โดยไม่ต้องใช้ออปติคัลเอ็นโคเดอร์ ซอฟต์แวร์จะรัน "ลำดับการกลับบ้าน (Homing Sequence)" ตอนเริ่มระบบ โดยขับแผ่นไปชนจุดหยุดทางกายภาพ เพื่อกำหนดตำแหน่งศูนย์สัมบูรณ์ของแต่ละหลัก
- การแปลงทางจลนศาสตร์:
- จากการหมุนสู่การเลื่อนเชิงเส้น: โครงสร้างที่พิมพ์จาก 3D พริ้นเตอร์ใช้กลไกแบบแร็คแอนด์พินเนียนหรือแคม Arduino จะคำนวณจำนวนขั้นที่ต้องการ (ประมาณ 2048 ขั้นต่อ 1 รอบ) เพื่อเลื่อนแผ่นจากสถานะซ่อนไปสู่สถานะที่มองเห็น สร้างภาพลวงตาเหมือนหน้าจอ 7-Segment ที่ทำจากพลาสติกจริงๆ
วิศวกรรมและการนำไปใช้
- อาร์เรย์ไดรเวอร์ ULN2003:
- สเต็ปเปอร์มอเตอร์เป็นโหลดแบบอินดักทีฟที่กินกระแสสูง อาร์เรย์ดาร์ลิงตัน ULN2003 ทำหน้าที่เป็นสเตจกำลัง ช่วยให้สัญญาณลอจิก 3.3V จาก ESP32 สามารถสวิตช์เรลไฟ 5V ที่มอเตอร์ต้องการได้ พร้อมปกป้อง MCU จากสไปก์ของแรงดันย้อนกลับ (back-EMF) ดูได้จากวงจรด้านบน
- จังหวะเวลาและความกระตุกในซอฟต์แวร์:
- เฟิร์มแวร์ใช้วิธีที่ไม่บล็อก เช่น
millis()หรือการขัดจังหวะจากไทเมอร์ ในการขับมอเตอร์เป็นขั้นๆ สิ่งนี้ทำให้ทั้งสี่หลักสามารถ "สไลด์" พร้อมกันได้ สร้างแอนิเมชันที่ลื่นไหลและซิงค์กันในทุกนาทีที่เปลี่ยน
- เฟิร์มแวร์ใช้วิธีที่ไม่บล็อก เช่น
- การแยกเรลไฟ:
- การขับสเต็ปเปอร์ 4 ตัวพร้อมกันอาจกินกระแสเกิน 1A โปรเจกต์นี้เน้นการใช้เรลไฟ 5V แยกสำหรับมอเตอร์ โดยมีกราวด์ร่วมกัน เพื่อให้แน่ใจว่า วิทยุ Wi-Fi ของ ESP32 ยังคงเสถียรและไม่โดนแรงดันตกจากมอเตอร์
สรุป
Chrono-Slide แปลงเวลาให้เป็นการแสดงทางกายภาพ มันเป็นตัวอย่างชั้นยอดของการจับคู่การเชื่อมต่อ IoT (NTP) เข้ากับเมคคาทรอนิกส์คลาสสิก เพื่อสร้างเครื่องบอกเวลาที่เป็นทั้งเครื่องมือสมัยใหม่และชิ้นงานศิลปะสำหรับพูดคุย
เวลาในความเคลื่อนไหว: การซิงโครไนซ์โลกกายภาพกับนาฬิกาอะตอม