3 คะแนน โดย GN⁺ 2025-03-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

โปรเจกต์ตัวจับเวลาสำหรับโฟกัสที่ใช้ ESP32

นี่คือโปรเจกต์ตัวจับเวลาสำหรับโฟกัสที่ใช้ ESP32, จอแสดงผล ePaper และปุ่มหมุนแบบหมุนรอบ โค้ดในรีโพซิทอรีนี้มีการนำแอสเซ็ตและฟอนต์บางส่วนออกไป จึงอาจยังไม่พร้อมใช้งานได้ทันที แต่สามารถปรับแก้ตามต้องการได้

รายการชิ้นส่วน

  • ESP32 (ใช้ AZDelivery ESP32 NodeMCU)
  • จอแสดงผล WaveShare 4.26 นิ้ว e-Paper Display HAT, 800x480
  • โรตารีเอนโคเดอร์ KY-040 และปุ่ม
  • LED WS2812 (สามารถแทนด้วย RGB LED แบบง่ายได้)
  • ขั้วต่อ USB-C
  • เคสพิมพ์ 3D
  • ตัวต้านทานและคาปาซิเตอร์ 0.1uF

ที่มาของโปรเจกต์

ผู้พัฒนาชอบทดลองเทคนิคเพิ่มประสิทธิภาพการทำงาน และในแต่ละปีก็จะใช้เวลาทำโปรเจกต์ที่ช่วยเหลือผู้อื่นได้ โดยอาศัยประสบการณ์ในฐานะวิศวกรอิเล็กทรอนิกส์ จึงต้องการสร้างอุปกรณ์ที่จับต้องได้ และได้ทำตัวจับเวลาสำหรับโฟกัสขึ้นมาเพื่อแก้ปัญหาการจัดการเวลาของเพื่อน

เหตุผลที่เลือกชิ้นส่วน

จอแสดงผล ePaper
  • ต้องการจอที่ไม่มีแบ็กไลต์ และเหตุผลที่เลือกจอ 4.26 นิ้วมีดังนี้:
    • ความละเอียดยอดเยี่ยม
    • ขนาดเหมาะสม
    • รองรับ partial refresh
โรตารีเอนโคเดอร์
  • เลือกปุ่มหมุนเป็นอุปกรณ์รับอินพุตที่ใช้งานได้อย่างเป็นธรรมชาติ และเพิ่มคาปาซิเตอร์ 0.1uF เพื่อทำให้สัญญาณนิ่งขึ้น
LED
  • ตอนแรกไม่ได้มีแผนจะใช้ LED แต่เพื่อชดเชยความเรียบง่ายของหน้าจอ จึงใช้ LED WS2812 เพื่อแสดงสถานะต่าง ๆ

การทำเคส

  • เคสประกอบด้วยสองส่วน และระหว่างการพิมพ์มีปัญหาที่ขอบด้านบนโค้งงอเล็กน้อย เพื่อแก้ปัญหานี้จึงเพิ่มขาตั้งยางและน้ำหนักถ่วง

ซอฟต์แวร์

  • เขียนด้วย C++ และใช้ Arduino framework ใช้ไลบรารี GxEPD2 ในการควบคุมจอแสดงผล และโค้ดบางส่วนของโปรเจกต์สร้างขึ้นด้วย AI

วิธีใช้อุปกรณ์

  • เมื่อเริ่มอุปกรณ์ สามารถเข้าสู่โหมดเปลี่ยนการตั้งค่าหรือโหมดเลือกพรีเซ็ตได้ เมื่อเริ่มตัวจับเวลาแล้ว LED จะกะพริบและมีข้อความแสดงบนหน้าจอ สามารถทำงานต่อหรือเริ่มพักได้ และหลังจากทำซ้ำหลายรอบจะมีช่วงพักที่ยาวขึ้น

การพัฒนา

การแมปพิน
โรตารีเอนโคเดอร์ (KY-040)
  • CLK: 32
  • DT: 21
  • SW: 14
จอแสดงผล ePaper (GxEPD2_426_GDEQ0426T82, WaveShare 4.26" b/w)
  • BUSY: 4
  • RST: 16
  • DC: 17
  • CS: 5
  • CLK: 18
  • DIN: 23
LED (WS2812)
  • DIN: 25

1 ความคิดเห็น

 
GN⁺ 2025-03-30
ความคิดเห็นจาก Hacker News
  • ชอบโปรเจกต์นี้มาก UI มีเสน่ห์มากและออกแบบมาอย่างดี น่าจะเหมาะเป็นกิจกรรมทำช่วงสุดสัปดาห์

    • ถ้ากำลังมองหาโปรเจกต์แฮกกาธอน ระบบนิเวศ E-ink ก็พัฒนาไปไกลพอสำหรับการเขียนโปรแกรมแล้ว Claude/AI สามารถใช้ API ได้อย่างง่ายดาย
    • โดยทั่วไปผู้คนชอบวางหน้าจอ E-ink ไว้ในห้องนั่งเล่น เพราะรบกวนน้อยกว่าจอแบบมีแบ็กไลต์
    • ทั้ง E-ink และ pomodoro ต่างก็เป็นความสนใจของฉัน
  • โปรเจกต์ประเภท "อุปกรณ์" น่าสนใจเสมอ แม้เป้าหมายจะเรียบง่ายแต่ก็มักท้าทายที่สุด

    • ชอบการเลือกหน้าจอ และชอบที่คำนึงถึงทั้งวัตถุประสงค์และการใช้งาน
    • มีบันทึกบางอย่างเกี่ยวกับการออกแบบตัววัตถุ
      • ถ้าปุ่มหมุนวางกว้างและแบนอยู่ด้านบนอุปกรณ์ ก็จะสามารถวางหน้าจอไว้ตรงกลางและทำให้อุปกรณ์เล็กลงได้
      • มุมและฟิลเลตช่วยให้ของดูประณีตขึ้น เป็นรายละเอียดเล็ก ๆ แต่สร้างความต่างได้มาก
      • ถ้าในเมนูมีแค่สามตัวเลือกเสมอ ขอเสนอว่าแทนที่จะใช้ปุ่มหมุน อาจใช้ปุ่มสามปุ่มไว้ด้านบนแทน
      • ถ้าใช้ฟิลาเมนต์กึ่งโปร่งแสง ก็สามารถทำชิ้นส่วน "นำแสง" ที่ดูเท่มากได้
    • สงสัยว่าใช้ OpenSCAD ออกแบบปุ่มหมุนหรือเปล่า ลวดลายของปุ่มดูเหมือนสร้างขึ้นแบบโปรแกรมได้ดีมาก
  • การโฟกัสที่กรณีการใช้งานสามแบบที่แตกต่างกันและมีสถิติประกอบเป็นส่วนเสริมที่ดีมาก

    • น่าจะดีถ้ามีการพูดถึงว่า pomodoro ได้ชื่อตามตัวจับเวลาแบบกายภาพที่มีตัวเข้ารหัสแบบหมุน
  • รู้จักคนที่เคยพยายามเริ่มธุรกิจด้วยตัวจับเวลา pomodoro แบบกายภาพ

    • ฟีเจอร์เสริมที่มีประโยชน์สำหรับคนใช้ในออฟฟิศคือมี LED อยู่ด้านบนอุปกรณ์ เพื่อให้รู้สถานะได้โดยไม่ต้องมองหน้าจอ
  • เป็นโปรเจกต์ที่เท่มาก แนะนำให้ลองดูไลบรารี LVGL เป็นไลบรารีกราฟิกสำหรับระบบฝังตัวที่มีประโยชน์ในการทำ UI

  • แนวคิดทั้งหมดของ pomodoro มีต้นกำเนิดจากตัวจับเวลาในครัว UX ที่ดีที่สุดหาได้จากตัวจับเวลาในครัวแบบกายภาพ

  • กำลังคิดอยู่ว่าจะสร้างตัวจับเวลา pomodoro แบบกายภาพอย่างไร ฉันชอบที่มองไม่เห็นเวลาที่เหลืออยู่ ตอนนี้ใช้แอป Visual Timer อยู่

  • รักโปรเจกต์นี้มาก มันทำให้นึกอยากพอร์ตเครื่องมือเพิ่มประสิทธิภาพการทำงานของตัวเองไปเป็นอุปกรณ์จริง

  • ทุกครั้งที่เห็นอะไรที่เกี่ยวกับตัวจับเวลา pomodoro ก็จะนึกถึงบทสัมภาษณ์กับผู้ก่อตั้ง YC บริษัทนั้นเจ๊งภายในหนึ่งปี และหลังจากนั้นก็ไม่อาจเคารพเทคนิคนี้ได้อีก