3 điểm bởi GN⁺ 2025-03-30 | 1 bình luận | Chia sẻ qua WhatsApp

Dự án bộ hẹn giờ tập trung dựa trên ESP32

Đây là dự án bộ hẹn giờ tập trung sử dụng ESP32, màn hình ePaper và núm xoay. Mã trong kho lưu trữ này đã bị loại bỏ một số tài nguyên và phông chữ nên khó dùng ngay lập tức, nhưng có thể chỉnh sửa theo nhu cầu.

Danh sách linh kiện

  • ESP32 (sử dụng AZDelivery ESP32 NodeMCU)
  • Màn hình WaveShare 4.26 inch e-Paper HAT, 800x480
  • Bộ mã hóa xoay KY-040 và nút bấm
  • LED WS2812 (có thể thay bằng LED RGB đơn giản)
  • Đầu nối USB-C
  • Vỏ in 3D
  • Điện trở và tụ điện 0.1uF

Nguồn gốc dự án

Tác giả thích thử các kỹ thuật nâng cao năng suất và mỗi năm đều dành thời gian cho một dự án có thể giúp ích cho người khác. Với kinh nghiệm là kỹ sư điện tử, tác giả muốn tạo ra một thiết bị vật lý và đã làm bộ hẹn giờ tập trung để giải quyết vấn đề quản lý thời gian của một người bạn.

Lý do chọn linh kiện

Màn hình ePaper
  • Tác giả muốn một màn hình không có đèn nền, và chọn màn hình 4.26 inch vì các lý do sau:
    • Độ phân giải rất tốt
    • Kích thước phù hợp
    • Hỗ trợ làm mới từng phần
Bộ mã hóa xoay
  • Tác giả chọn núm xoay làm thiết bị nhập trực quan và thêm tụ 0.1uF để làm mượt tín hiệu.
LED
  • Ban đầu không có kế hoạch dùng LED, nhưng để bổ sung cho sự tinh tế của màn hình, tác giả đã dùng LED WS2812 để hiển thị nhiều trạng thái khác nhau.

Chế tạo vỏ

  • Vỏ gồm hai phần, và khi in có vấn đề mép trên bị cong nhẹ. Để khắc phục, tác giả đã thêm chân cao su và trọng lượng.

Phần mềm

  • Được viết bằng C++ và sử dụng framework Arduino. Dự án dùng thư viện GxEPD2 để điều khiển màn hình, và một phần mã của dự án được tạo bằng AI.

Cách sử dụng thiết bị

  • Khi khởi động thiết bị, có thể vào chế độ thay đổi cài đặt hoặc chọn preset. Khi bộ hẹn giờ bắt đầu, LED sẽ nhấp nháy và thông báo sẽ hiện trên màn hình. Có thể tiếp tục làm việc hoặc bắt đầu nghỉ, và sau vài vòng lặp sẽ có thời gian nghỉ dài hơn.

Phát triển

Ánh xạ chân
Bộ mã hóa xoay (KY-040)
  • CLK: 32
  • DT: 21
  • SW: 14
Màn hình ePaper (GxEPD2_426_GDEQ0426T82, WaveShare 4.26" đen trắng)
  • BUSY: 4
  • RST: 16
  • DC: 17
  • CS: 5
  • CLK: 18
  • DIN: 23
LED (WS2812)
  • DIN: 25

1 bình luận

 
GN⁺ 2025-03-30
Ý kiến Hacker News
  • Rất thích dự án này. UI rất cuốn hút và được thiết kế rất tốt. Có vẻ là một hoạt động cuối tuần rất phù hợp

    • Nếu đang tìm một dự án hackathon, hệ sinh thái E-ink đã phát triển đủ tốt để lập trình. Claude/AI có thể dễ dàng sử dụng API
    • Mọi người thường thích đặt màn hình E-ink trong phòng khách hơn, vì nó ít gây xao nhãng hơn màn hình có đèn nền
    • E-ink và pomodoro đều là những mối quan tâm riêng của tôi
  • Các dự án kiểu "thiết bị" lúc nào cũng thú vị. Dù mục tiêu có đơn giản thì chúng thường vẫn là những trường hợp nhiều thách thức nhất

    • Tôi thích lựa chọn màn hình và đánh giá cao việc đã cân nhắc mục đích lẫn tính khả dụng
    • Một vài ghi chú về thiết kế vật thể
      • Nếu núm vặn nằm rộng và phẳng trên đỉnh thiết bị, có thể đặt màn hình ở giữa và làm thiết bị nhỏ hơn
      • Các góc và bo tròn làm đồ vật trông tinh tế hơn. Là chi tiết nhỏ nhưng tạo khác biệt lớn
      • Nếu menu lúc nào cũng có ba tùy chọn, tôi muốn gợi ý thử đặt ba nút ở phía trên thay vì dùng núm vặn
      • Dùng sợi nhựa bán trong suốt có thể tạo ra các bộ phận "dẫn sáng" rất đẹp
    • Tôi tò mò không biết có dùng OpenSCAD để thiết kế núm vặn không. Hoa văn trên núm có vẻ được tạo ra bằng lập trình rất tốt
  • Việc tập trung vào ba trường hợp sử dụng khác nhau và cung cấp thống kê là một điểm cộng rất hay

    • Có lẽ nên nhắc rằng pomodoro lấy tên từ bộ hẹn giờ vật lý có núm xoay
  • Tôi biết có người từng định khởi nghiệp với bộ hẹn giờ pomodoro vật lý

    • Một tính năng bổ sung hữu ích cho người dùng trong văn phòng là đặt LED ở phía trên thiết bị để có thể biết trạng thái mà không cần nhìn vào màn hình
  • Dự án rất hay. Tôi khuyên nên xem thử thư viện LVGL. Đây là thư viện đồ họa nhúng hữu ích để làm UI

  • Toàn bộ ý tưởng pomodoro bắt nguồn từ bộ hẹn giờ nhà bếp. UX tốt nhất có thể tìm thấy ở các bộ hẹn giờ nhà bếp vật lý

  • Tôi đang nghĩ cách làm một bộ hẹn giờ pomodoro vật lý. Việc không nhìn thấy thời gian còn lại lại là điều hay. Tôi đang dùng ứng dụng Visual Timer

  • Tôi rất thích dự án này. Nó khiến tôi nghĩ đến việc chuyển công cụ tăng năng suất của riêng mình sang một thiết bị thực tế

  • Mỗi khi thấy thứ gì liên quan đến bộ hẹn giờ pomodoro, tôi lại nhớ đến cuộc phỏng vấn với một nhà sáng lập YC. Công ty đó đã sụp đổ trong vòng một năm, và từ đó tôi không còn tôn trọng kỹ thuật này nữa