Đồng hồ analog kiểu retro với 3 đồng hồ voltmeter

Đồng hồ sử dụng 3 đồng hồ voltmeter analog để hiển thị giờ, phút và giây.

👁️
1.4K
Lượt Xem
❤️
64
Lượt Thích
📥
99
Lượt Tải
Cập Nhật Dec 03, 2025
Chi tiết
Tải xuống
Bình luận
Showcase
Remixes

Mô tả

Hãy tạo một chiếc đồng hồ sử dụng 3 đồng hồ đo điện áp analog để hiển thị giờ, phút và giây. Phong cách cổ điển!

Ghi chú: Nó không siêu chính xác. Mặc dù phép tính cho vị trí có thể chính xác nhất có thể, nhưng không có phản hồi từ đồng hồ đo và các đồng hồ đo điện áp giá rẻ từ Trung Quốc có thể không phải là những cái chính xác nhất bạn có thể có.

Vẫn còn một số vấn đề nhỏ mà tôi cần giải quyết và tôi vẫn đang làm việc trên đó.> > Các bản cập nhật sẽ được theo dõi> > Để xem lịch sử phiên bản và các vấn đề đã biết, xem ở dưới cùng

Cách hoạt động

Phần cứng

Các đồng hồ đo điện áp được điều khiển bằng PWM bởi một Arduino nano vì PWM chuyển đổi thành giá trị analog do quán tính của các đồng hồ đo analog. Để giữ thời gian chính xác, chúng ta cũng cần một Đồng hồ Thực (RTC) là một IC chuyên dụng để giữ thời gian chính xác, ngay cả khi nguồn điện bị tắt bằng cách sử dụng một pin nhỏ.

Để đặt thời gian, 2 công tắc tạm thời được sử dụng.

Phần mềm

Ghi chú: hiện tại phần mềm chỉ hỗ trợ chế độ 24 giờ mặc dù tôi đã bao gồm thang đo 12 giờ trong mẫu pdf

Arduino đồng bộ với RTC mỗi 120 giây. Các giá trị giờ, phút và giây sau đó được truyền đến một hàm tính toán giá trị analog cho các đồng hồ đo (0-255) tùy thuộc vào số cần hiển thị và phạm vi mà đồng hồ đo có thể hiển thị.

Cài đặt/Hằng số

Có một số cài đặt mà bạn có thể muốn thay đổi. Ngoài ra, bạn không cần thay đổi gì cả.

const int stepdelay = 3;//xác định tốc độ của chỉ báo, đặc biệt là khi quay trở lại 0, 0= rất nhanh, 5= trung bình, 10= chậm

Thay đổi tốc độ của đồng hồ đo khi nó phải thực hiện các bước nhảy lớn (quy trình khởi động, khi quay trở lại 0, v.v.)

int settingtime = 200;//xác định thời gian mà nút phải được giữ để kích hoạt chế độ cài đặt

giá trị càng cao của settingtime, nút càng phải được giữ lâu hơn để kích hoạt chế độ cài đặt và xác nhận các giá trị đã đặt. Tôi thấy 200 là một giá trị tốt nhưng bạn có thể thay đổi nếu bạn muốn.

const bool h12mode = false;//đặt thành true để sử dụng chế độ 12h

Cài đặt để kích hoạt chế độ 12 giờ, nhưng chỉ được triển khai một phần. Sẽ không hoạt động!

Thủ tục khởi động

Khi khởi động, tất cả 3 đồng hồ đo được di chuyển đến mức tối đa và quay lại để cho phép bạn kiểm tra xem chúng có thể di chuyển tự do hay không. Sau vài giây, các đồng hồ đo nhảy đến thời gian hiện tại.

Cài đặt thời gian

Một chức năng khác trong chương trình kiểm tra các nút và nếu Nút 1 được nhấn đủ lâu, đồng hồ sẽ vào chế độ cài đặt được chỉ định bằng cách tất cả 3 đồng hồ đo được đặt ở khoảng giữa.

Giữ Nút 1 một lần nữa và bạn có thể đặt giờ bằng Nút 2. Giữ Nút 1 để xác nhận. Tiếp theo, đặt Phút bằng Nút 2 và xác nhận bằng Nút 1. Giây luôn được đặt là 0. Đồng hồ thực hiện thủ tục khởi động và sau đó hiển thị thời gian mới được đặt.

Hiệu chuẩn

Thông qua chế độ hiệu chuẩn, bạn có thể tính đến sự khác biệt trong điện áp đầu ra của arduino của bạn và cũng như độ dung sai trong các đồng hồ đo điện rẻ tiền. Nó hoạt động bằng cách xác định giá trị tối đa mà sau đó sẽ là điểm tham chiếu cho các phép tính.

Chế độ Hiệu chuẩn hoạt động tương tự như cài đặt thời gian, nhưng giữ cả hai nút để vào chế độ hiệu chuẩn. Kim sẽ nhảy đến khoảng ¼ giá trị để chỉ ra chế độ hiệu chuẩn.

Giữ Nút 1 một lần nữa và bạn có thể đặt hiệu chuẩn đồng hồ đo giờ (đưa kim đến giá trị cao nhất trên thang đo của bạn (ví dụ: 24)) bằng Nút 2. Giữ Nút 1 để xác nhận. Tiến hành theo cách tương tự với đồng hồ đo phút và giây.

Các giá trị này sẽ được lưu trữ trong EEPROM của Arduino của bạn và sẽ được giữ ngay cả khi mất điện.

Gợi ý: nếu các đồng hồ đo của bạn không di chuyển sau khi nhấp nháy lần đầu tiên, hãy thử bắt đầu chế độ hiệu chuẩn, vì các giá trị hiệu chuẩn có thể là 0 ban đầu trong EEPROM

Giờ tiết kiệm ánh sáng ban ngày

Đồng hồ không tự động điều chỉnh vì điều đó sẽ yêu cầu thiết lập ngày và năm, điều này không dễ dàng với các đồng hồ đo. Nếu vị trí của bạn chuyển sang DST và quay lại, bạn cần đặt lại thời gian hai lần một năm. Nó chỉ mất một phút nên không quá phiền phức.

Làm

Tôi sẽ cố gắng giải thích càng rõ càng tốt. Nếu có gì không rõ, đừng ngần ngại để lại một bình luận.

Vật liệu cần thiết:

  • 3x Đồng hồ đo 5V, DH-52 (Đảm bảo chọn biến thể 5V) (Aliexpress)
  • 1x Mạch Arduino nano clone (Aliexpress)
  • 1x Mở rộng Arduino nano (đầu nối vít) (tùy chọn nhưng được khuyến nghị) (Aliexpress)
  • 1x Mô-đun Đồng hồ Thực DS3231 (không sử dụng DS1307, quá không chính xác) (Aliexpress)
  • 2x Công tắc tạm thời, Đường kính 12mm (Aliexpress Nhựa hoặc Kim loại)
  • Một ít dây
  • 13x 3x10-12mm vít (tốt nhất là vít dành riêng cho nhựa nhưng tôi đoán bất kỳ vít nào cũng được vì không có nhiều lực tác động lên chúng)
  • 4x đệm cao su hoặc đệm xốp làm chân cho vỏ

Công cụ

  • Máy in 3D, Prusa mini hoặc lớn hơn
  • Dao sắc
  • Súng hàn
  • Kéo dây, kìm, nhíp, v.v. (các công cụ hàn cơ bản)
  • Máy tính với Arduino IDE và các thư viện phù hợp
  • Cáp USB cho Arduino
In ấn

Tất cả các phần của vỏ có thể được in bằng vật liệu bạn chọn mà không cần hỗ trợ. Xoay các phần theo 45 độ để vừa với giường Prusa Mini. Đảm bảo đặt Z-Seam ở bên mà hướng xuống sau khi lắp ráp

> Tôi đã gặp một số biến dạng khá tồi tệ trên vỏ và có Z-Seam ở phía trên nhưng tôi quyết định sử dụng nó cho việc xây dựng ban đầu và sau đó in một cái thay thế vào một ngày sau (hoặc có lẽ không bao giờ) ;-)

#### Đồng hồ đo/Voltmeters

In 100% tỷ lệ, in các thang đo cho đồng hồ volt, sử dụng giấy thường hoặc nhãn dán.

Tháo rời

Để tháo rời đồng hồ volt, hãy tháo 2 ốc vít ở hai bên và cẩn thận gỡ bỏ phần phía trước của vỏ. Lưu ý không bẻ cong kim.

Tháo 2 ốc vít giữ thang đo và cẩn thận gỡ bỏ nó.

Lật ngược tấm bạn vừa tháo ra vì nếu không, thang đo gốc có thể sáng xuyên qua giấy.

Dán thang đo mới lên tấm (càng ngang và chính giữa càng tốt) và cẩn thận cắt xung quanh nó bằng dao. Lỗ tròn ở dưới cùng đặc biệt quan trọng vì kim đi qua khá gần và không nên bị kẹt vào giấy dán qua mép. Mép ngoài không quan trọng lắm vì nó sẽ được che bởi vòng nhựa sau này.

Lắp thang đo vào đồng hồ volt và kiểm tra xem kim có thể di chuyển tự do không. Sau đó, lắp lại đồng hồ volt.

Kết nối

Phân bổ chân trên Arduino

Trên là sơ đồ chân của Arduino nano tiêu chuẩn.

D9 → chân dương đồng hồ giờ D10 → chân dương đồng hồ phút D11 → chân dương đồng hồ giây

Chân âm của cả ba đồng hồ → kết nối với GND

A4 → chân SDA của mô-đun DS3231 A5 → chân SCL của mô-đun DS3231

VCC và GND của mô-đun DS3231 → Kết nối với 5V (VCC) và GND

D7 → Nút 1 D8 → Nút 2

các bên còn lại của cả hai nút được kết nối với GND

Nguồn điện

Toàn bộ thiết bị được cấp điện qua cáp USB mà chúng tôi cũng sử dụng để lập trình Arduino. Ở nắp sau có một rãnh cho cáp.

Ngoài ra, bạn có thể kết nối nguồn 5V với 5V và GND hoặc nếu bạn có nguồn điện lên đến 12V, bạn có thể kết nối nó với chân VIN trên Arduino. Có một bộ điều chỉnh điện áp nội bộ nhưng nó sẽ nóng khá nhiều với 12V và có thể rút ngắn tuổi thọ của arduino.

Tôi khuyên bạn nên sử dụng nguồn USB (cho phép lập trình lại dễ dàng như một phần thưởng) hoặc một nguồn 5V thích hợp.

Lịch sử và Vấn đề

Tôi vẫn đang làm việc trên một số thứ và sẽ cập nhật các tệp và mô tả sau.

Các vấn đề đã biết
  1. Phần mềm hiện chỉ hỗ trợ chế độ 24h
    • Giải pháp: Triển khai chế độ 12h cho các thang 12h
    • chưa giải quyết, đã triển khai một phần trong Phần mềm V2 nhưng vẫn chưa sẵn sàng

Các vấn đề đã giải quyết

  1. Đồng hồ không đạt đến vị trí cao nhất, tùy thuộc vào nguồn điện (có thể)
    • Giải pháp: Làm cho các thang hẹp hơn một chút và triển khai hiệu chuẩn bù trên và dưới để làm cho phép tính chính xác nhất có thể và cho phép kim đạt đến đỉnh ngay cả với nguồn điện hơi thấp. Lưu giá trị bù vào EEPROM
    • Đã giải quyết: triển khai các thang hẹp hơn (V2) và chế độ hiệu chuẩn trong Phần mềm V2
  2. Trong chế độ Cài đặt Phút, đôi khi kim giờ sẽ nhảy
    • Đã giải quyết giá trị sai trong một dòng mã
  3. Lỗ trên nắp sau quá nhỏ cho cáp usb
    • Đã giải quyết: Đã thay đổi lỗ thành một khe (4mm) cho phép cáp trượt vào từ dưới
  4. Kim đập vào điểm dừng khi đặt lại về 0
    • Đã giải quyết: Triển khai chức năng ramp để điều khiển các kim đến vị trí mục tiêu một cách có kiểm soát
Lịch sử
  1. 26 tháng 6 năm 2023 phát hành ban đầu
  2. 5 tháng 7 năm 2023 tải lên Scales_V2 PDF với thang hẹp hơn để cho phép nhiều dung sai hơn trong các đồng hồ volt và điện áp. Cập nhật phần mềm sẽ theo sau.
  3. 11 tháng 7 năm 2023 tải lên Phần mềm V2 bao gồm chế độ hiệu chuẩn và giải quyết một vấn đề với phép tính vị trí không chính xác do kiểu dữ liệu sai

Khác

Hỗ trợ

Nếu bạn thích bản in này và muốn hỗ trợ các dự án trong tương lai, bạn có thể đóng góp cho cuộn filament tiếp theo của tôi trên Ko-Fi. https://ko-fi.com/smallthings_ch

Liên kết

*Liên kết có thể chứa liên kết liên kết mà cho tôi một khoản hoa hồng nhỏ khi bạn mua

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International

Attribution-NonCommercial-ShareAlike

Yêu cầu ghi công
Văn hóa Remix Được phép
Sử dụng thương mại Không được phép
Tác phẩm phái sinh Được phép
Được phép chia sẻ

Model files

ALL MODEL FILES (5 files)
Loading files, please wait...
Vui lòng đăng nhập để khoe bản in của bạn.

Remixes (0)