HN แชร์: ตัวจับเวลา Pomodoro แบบกายภาพที่ใช้ ESP32 และหน้าจอ e-paper
(github.com/Rukenshia)โปรเจกต์ตัวจับเวลาสำหรับโฟกัสที่ใช้ 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ชอบโปรเจกต์นี้มาก UI มีเสน่ห์มากและออกแบบมาอย่างดี น่าจะเหมาะเป็นกิจกรรมทำช่วงสุดสัปดาห์
โปรเจกต์ประเภท "อุปกรณ์" น่าสนใจเสมอ แม้เป้าหมายจะเรียบง่ายแต่ก็มักท้าทายที่สุด
การโฟกัสที่กรณีการใช้งานสามแบบที่แตกต่างกันและมีสถิติประกอบเป็นส่วนเสริมที่ดีมาก
รู้จักคนที่เคยพยายามเริ่มธุรกิจด้วยตัวจับเวลา pomodoro แบบกายภาพ
เป็นโปรเจกต์ที่เท่มาก แนะนำให้ลองดูไลบรารี LVGL เป็นไลบรารีกราฟิกสำหรับระบบฝังตัวที่มีประโยชน์ในการทำ UI
แนวคิดทั้งหมดของ pomodoro มีต้นกำเนิดจากตัวจับเวลาในครัว UX ที่ดีที่สุดหาได้จากตัวจับเวลาในครัวแบบกายภาพ
กำลังคิดอยู่ว่าจะสร้างตัวจับเวลา pomodoro แบบกายภาพอย่างไร ฉันชอบที่มองไม่เห็นเวลาที่เหลืออยู่ ตอนนี้ใช้แอป Visual Timer อยู่
รักโปรเจกต์นี้มาก มันทำให้นึกอยากพอร์ตเครื่องมือเพิ่มประสิทธิภาพการทำงานของตัวเองไปเป็นอุปกรณ์จริง
ทุกครั้งที่เห็นอะไรที่เกี่ยวกับตัวจับเวลา pomodoro ก็จะนึกถึงบทสัมภาษณ์กับผู้ก่อตั้ง YC บริษัทนั้นเจ๊งภายในหนึ่งปี และหลังจากนั้นก็ไม่อาจเคารพเทคนิคนี้ได้อีก