Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Bạn đã bao giờ ước giờ ăn trưa dài hơn, nhưng không biết tìm những phút thừa đó ở đâu? Chà, ước gì không còn!
Nhờ những tiến bộ vượt bậc trong công nghệ đồng hồ, tôi giới thiệu với bạn chiếc đồng hồ tăng tốc 20% mỗi ngày vào lúc 11:00 và chậm lại 20% mỗi ngày vào lúc 11:48, giúp bạn có thêm mười hai phút ăn trưa để thưởng thức. Mười hai phút có vẻ không nhiều nhưng, nhìn vào khía cạnh, đây là một giờ ăn trưa bổ sung đầy đủ mỗi tuần.
Bước 1: Đi lấy nội dung
Bạn sẽ cần:
(x1) Đồng hồ treo tường tiêu chuẩn (x1) Đồng hồ thời gian thực Adafruit DS1307 (x1) Arduino Uno (chip DIP w / ATMEGA328) (x1) Chip ATMEGA328 bổ sung có cài đặt bộ nạp khởi động Arduino (xem bước cuối cùng) (x2) Bóng bán dẫn BC547 NPN (x2) Bóng bán dẫn BC557 PNP (x1) Ổ cắm 28 chân (x1) Tinh thể 16mhz + (x2) Tụ điện 20pf (x1) Điện trở 1K (x1) Bộ điều chỉnh 7805 (x1) Ổ cắm 4 chân (x1) Pin 9V (x1) Pin 9V
(Xin lưu ý rằng một số liên kết trên trang này chứa các liên kết liên kết của Amazon. Điều này không thay đổi giá của bất kỳ mặt hàng nào được rao bán, nhưng tôi kiếm được một khoản hoa hồng nhỏ nếu bạn nhấp vào bất kỳ liên kết nào trong số đó và mua bất kỳ thứ gì. Tôi tái đầu tư số tiền này vào vật liệu và công cụ cho các dự án trong tương lai. Nếu bạn muốn có gợi ý thay thế cho nhà cung cấp bất kỳ bộ phận nào, vui lòng cho tôi biết.)
Bước 2: Xóa Phong trào
Tháo bộ chuyển động của đồng hồ khỏi thân đồng hồ. Điều này sẽ yêu cầu tháo mặt kính trước ra khỏi đồng hồ cũng như các kim đồng hồ. Hãy nhẹ nhàng để không làm hỏng bất cứ điều gì. Bạn sẽ phải tập hợp lại mọi thứ sau đó.
Bước 3: Hack Phong trào
Bộ chuyển động của đồng hồ có một động cơ bước cuộn dây đơn bên trong. Lý thuyết cơ bản ở đây là chúng ta muốn ngắt cuộn dây ra khỏi mạch điều chỉnh thời gian của đồng hồ rồi gắn dây vào cuộn dây để chúng ta tự điều khiển. Vì vậy, khi biết điều này, hãy mở chuyển động của đồng hồ và ghi nhớ cẩn thận mọi thứ ở đâu (hoặc chụp ảnh). Tháo rời chuyển động cho đến khi bảng mạch tự do. Xác định vị trí các điểm tiếp xúc trên bảng mạch nơi đặt động cơ. Lưu ý rằng hai địa chỉ liên lạc này có dấu vết đi đến chip (ẩn dưới đốm đen). Ý tưởng là sử dụng một lưỡi lam hoặc dao để cào những vết này cho đến khi kết nối với con chip bị đứt. Để có biện pháp tốt, tôi cũng cắt bỏ tinh thể định thời, khiến mạch ít nhiều trở nên vô dụng. Cuối cùng, tôi đã hàn khoảng 6 dây vào mỗi đầu nối của động cơ. Khi việc này hoàn tất, tôi ghép toàn bộ lại với nhau. Không có chỗ nào trong trường hợp mà tôi có thể luồn dây qua một cách thuận tiện và tôi cần nó để quay trở lại đúng cách với nhau, vì vậy tôi đã cắt một lỗ nhỏ để dây dẫn đi qua.
Bước 4: Lắp ráp lại đồng hồ
Một khi chuyển động của bạn tốt và bị tấn công, nhưng đồng hồ quay trở lại với nhau. Quan trọng: Đảm bảo kim giờ, phút và giây đều thẳng hàng lúc 12:00. Tôi đã không làm điều này lần đầu tiên và nhanh chóng phát hiện ra rằng đồng hồ sẽ không hiển thị đúng trừ khi tất cả các kim đều được xếp thẳng hàng.
Bước 5: Bộ RTC
Nếu bạn chưa làm như vậy, nhưng hãy kết hợp Bộ đồng hồ thời gian thực Adafruit DS1307 của bạn. Dưới đây là một số hướng dẫn để hoàn thành công việc. Ngoài ra, trong khi bạn đang ở đó, hãy đặt thời gian trên bảng RTC. Miễn là bạn không lấy pin ra ngoài, bạn chỉ nên làm điều này một lần (ít nhất trong 5 năm tiếp theo hoặc lâu hơn cho đến khi pin chết). Bạn có thể nhận được hướng dẫn chuyên sâu về cài đặt thời gian trên trang của Ladyada.
Bước 6: Xây dựng mạch
Mạch khá đơn giản. Về cơ bản, những gì bọn trẻ ngày nay gọi là "hackduino", một ổ cắm cho bảng RTC và một cầu H thô để điều khiển động cơ.
Bước 7: Lập trình chip
Bạn sẽ cần cài đặt thư viện RTClib để mã của bạn hoạt động. Hướng dẫn để làm điều này có trên trang của Ladyada. Tải xuống trưatime_clock.zip, giải nén nó và sau đó tải mã trưatime_clock.pde lên chip của bạn. Nếu bạn không muốn tải xuống tệp, đây là mã: // Đồng hồ giờ ăn trưa // của Randy Sarafan // // Giảm tốc độ 20% ở mức 11 và tăng tốc 20% lúc 11:48 cho đến khi nó chạm 1. / / Thời gian còn lại đồng hồ chạy ở tốc độ bình thường // // Làm những gì bạn muốn với mã này. Chỉ cần chắc chắn rằng bất cứ điều gì bạn làm, nó đều tuyệt vời. // #include #include "RTClib.h" RTC_DS1307 RTC; int clockpin = 9; int clockpin1 = 10; void setup () {Serial.begin (57600); Wire.begin (); RTC.begin (); } void loop () {DateTime now = RTC.now (); TurnTurnTurn (1000); if (now.hour () == 11) {for (int i = 0; i <1800; i ++) {TurnTurnTurn (800); } for (int i = 0; i <1800; i ++) {TurnTurnTurn (1200); }}} int TurnTurnTurn (int TimeToWait) {analogWrite (clockpin, 0); analogWrite (clockpin1, 124); // đặt giá trị (phạm vi từ 0 đến 255) delay (TimeToWait); analogWrite (clockpin, 124); analogWrite (clockpin1, 0); trì hoãn (TimeToWait); }
Bước 8: Kết hợp tất cả lại với nhau
Sau khi được lập trình, hãy chuyển chip ATMEGA168 của bạn từ Arduino sang bảng mạch của bạn. Cắm bo mạch RTC của bạn vào ổ cắm. Đảm bảo các ghim được xếp đúng hàng trước khi cấp nguồn. Gắn bảng mạch và pin của bạn vào mặt sau của đồng hồ. Theo đúng phong cách DIY vào phút cuối, tôi đã sử dụng keo nóng và băng keo để làm việc này. Velcro tự dính sẽ là lý tưởng.
Bước 9: Đồng bộ hóa đồng hồ
Đặt một chip ATMEGA168 mới vào Arduino. Kết nối Arduino một lần nữa với bảng RTC.
Chạy mã mẫu từ trang của Ladyada. Mở màn hình nối tiếp. Thời gian hiển thị ở đây là thời gian bạn muốn đồng bộ hóa đồng hồ của mình.
Tôi thấy dễ nhất là đặt đồng hồ thứ ba (đồng hồ máy tính của tôi) đồng bộ hoàn hảo với bo mạch RTC. Sau đó, tôi tắt nguồn Arduino, chuyển bảng RTC trở lại mạch của mình và đặt Đồng hồ giờ ăn trưa muộn hơn một phút so với thời gian trên máy tính của tôi. Vào đúng thời điểm, khi phút thay đổi trên máy tính của tôi, tôi bật nguồn cho đồng hồ giờ ăn trưa để đạt được tính đồng bộ.
Đồng hồ giờ ăn trưa hoạt động rất tốt và do đó đã vượt xa sự mong đợi của tôi.
Bạn có thấy điều này hữu ích, vui vẻ hay giải trí không? Theo dõi @madeineuphoria để xem các dự án mới nhất của tôi.