Mục lục:
- Quân nhu
- Bước 1: Kết nối các thành phần
- Bước 2: Các bộ phận in 3D
- Bước 3: Mã
- Bước 4: Hoạt động và cài đặt
Video: Đồng hồ nghỉ hưu / Đồng hồ đếm ngược / Dn: 4 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Tôi có một vài màn hình ma trận điểm LED 8x8 này trong ngăn kéo và đang suy nghĩ về việc phải làm gì với chúng. Lấy cảm hứng từ các tài liệu hướng dẫn khác, tôi có ý tưởng xây dựng một màn hình đếm ngược / lên để đếm ngược đến một ngày / giờ trong tương lai và nếu thời gian mục tiêu trôi qua, hãy đếm ngược từ đó. Tôi đã làm điều này bây giờ đồng hồ nghỉ hưu của tôi đang ở trên giá.
Ý tưởng đặt nó vào một cái chai là một sự tình cờ khi nghĩ về một cái vỏ. Những người khác đóng tàu vào một cái chai, tại sao không phải là một chiếc đồng hồ?
Tôi cũng muốn làm cho đồng hồ tuân theo thời gian tiết kiệm ánh sáng ban ngày và tất nhiên nhớ các cài đặt và thời gian khi được rút phích cắm. Tôi đang cấp nguồn cho đồng hồ qua USB, giúp nó có thể lập trình lại nếu bạn muốn làm điều gì đó khác biệt hoặc chỉ thêm các tính năng vào mã. Mã này khá đơn giản và cũng có thể sử dụng nhiều cách tối ưu hóa. Tôi đã không quan tâm tốt đến việc tiêu thụ RAM, tôi phải thừa nhận. Nếu tôi có thời gian và động lực, tôi sẽ quay lại với nó.
Quân nhu
1. Arduino Nano
2. RTC (Tôi đã sử dụng DS3231 phổ biến cũng có EEPROM)
3. Mô-đun ma trận điểm 12x 8x8. (Tôi đã có các mô-đun quad dễ xếp hàng hơn)
4. LDR để điều chỉnh độ sáng màn hình
5. Điện trở 10 kOhm
6. Tụ điện 5x 100 uF triệt tiêu xung đột từ màn hình
7. Để tăng độ tương phản của các mô-đun 8x8, tôi đã sử dụng "Window Film" màu tối. Màn hình hiển thị các đèn LED dưới dạng các chấm trắng nếu không sáng. Phim cách nhiệt biến nó thành một màu đen sáng bóng.
Bước 1: Kết nối các thành phần
Tôi đã sử dụng ba trong số các màn hình quad để lắp ráp màn hình. Để hiển thị ngày có dấu gạch chéo và thời gian có dấu hai chấm, chúng ta cần khoảng trống cho 8 ký tự. Sử dụng phông chữ 5x7 điển hình, chúng tôi cần sáu khối 8x8 mỗi hàng. Tôi cắt đôi một trong bốn khối và sắp xếp chúng thành hai hàng với sáu khối như được hiển thị trong sơ đồ breadboard.
Bước 2: Các bộ phận in 3D
Để giữ hai hàng của màn hình và đặt chúng vào trong chai, tôi đã in các vòng khoảng cách tròn cho khung hiển thị. Tôi đã thêm các tệp tôi đã sử dụng bên dưới. Để có thể in chúng mà không cần hỗ trợ, chúng được chia thành nhiều phần. Ảnh chụp màn hình hiển thị hai vòng được dán vào khung hiển thị. Nắp cổ chai có ba nút để chuyển đổi giữa các chế độ hiển thị và cài đặt thời gian hiện tại và thời gian mục tiêu. Nắp cổ chai tôi in TPU cho phép trượt cáp USB vào nắp mà không cần cắt các đầu nối và buộc nó xuống bằng một vài cuộn dây. Tôi quên đề cập rằng tôi đã sử dụng một chai rượu 1,5 L mà tôi đã cắt ở dưới cùng. Tất cả các bộ phận cần in đều vừa vặn trên khay máy in 20x20 cm (8x8 in).
Bước 3: Mã
Mã Arduino đang sử dụng một vài thư viện thường được sử dụng.
MD_MAX72xx
SPI
Dây điện
RTClib
Múi giờ
TimeLib
Có một số dòng trong tệp INO có thể cần thay đổi:
Dòng 38: #define HARDWARE_TYPE MD_MAX72XX:: FC16_HW <- phụ thuộc vào mô-đun 8x8 và hướng của nó
thay vì FC16_HW nó có thể là một trong:
- MD_MAX72XX:: PAROLA_HW
- MD_MAX72XX:: GENERIC_HW
- MD_MAX72XX:: ICSTATION_HW
- MD_MAX72XX:: FC16_HW
Mã đang sử dụng cài đặt cho giờ Trung tâm Hoa Kỳ và cần điều chỉnh cho các múi giờ khác:
Dòng 53/54:
TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // Giờ ban ngày UTC-5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Giờ chuẩn UTC -6
Điều này rất dễ điều chỉnh. Tên CST / CDT chỉ là để tham khảo. Tôi không hiển thị ba chữ cái viết tắt, vì vậy nó không quan trọng. Các thông số tiếp theo đề cập đến việc chuyển đổi đang diễn ra vào ngày nào trong tháng. Việc điều chỉnh diễn ra trong vài phút, vì vậy các vị trí sử dụng điều chỉnh +/- 30 phút cũng sẽ hoạt động.
RTC đang chạy nội bộ trên UTC-Time cho phép thư viện múi giờ hoạt động như dự kiến. Bạn có thể thắc mắc tại sao mã lại tham chiếu đến chip DS1307 cũ hơn trái với chip đồng hồ mà tôi đã sử dụng, nhưng điều này không thành vấn đề. Thư viện đang hoạt động tốt với một trong hai chip. DS1307 có xu hướng trôi dạt hơn DS3132. DS3132 là đồng hồ được ưa thích. Đối với những người muốn thêm thời gian sử dụng Internet, ESP8266 sẽ thực hiện công việc khá dễ dàng. Điều này có thể làm cho RTC trở nên lỗi thời. Nếu bạn đang thực hiện những thay đổi này, hãy sử dụng Arduino EEPROM để lưu trữ thời gian đích, tôi đã sử dụng RTC EEPROM để làm như vậy.
Bước 4: Hoạt động và cài đặt
Có ba nút
1. Menu / cài đặt
2. Lên
3. Xuống
Nút menu cho phép quay vòng qua ba kiểu đánh máy hiển thị: Giờ hiện tại, Giờ mục tiêu, Giờ Delta. Giờ Delta hiển thị số ngày, HH / MM / SS giữa thời gian hiện tại và thời gian mục tiêu. Nó sẽ hiển thị t- và đếm ngược nếu mục tiêu là trong tương lai hoặc t + và đếm ngược nếu mục tiêu là trong quá khứ.
Để điều chỉnh thời gian hiện tại hoặc thời gian đích, hãy chọn hiển thị thời gian hiện tại hoặc thời gian đích. Để thay đổi thời gian, hãy giữ nút menu trong 2 giây và nhả ra để đưa bạn vào chế độ cài đặt. "/" Hoặc ":" lân cận sẽ chuyển thành "" để cho biết bạn đang điều chỉnh chữ số nào. Sử dụng các nút lên / xuống để điều chỉnh từng hh / mm / ss và mm / dd / yy. Tôi đã không thêm cài đặt để chuyển đổi giữa mm / dd / yy và dd / mm / yy, điều này cần thay đổi trong mã hoặc có thể ai đó sẵn sàng thêm tính năng này.
Bạn sẽ nhận thấy rằng nếu bạn bước phút trên 59 hoặc dưới 00, màn hình hiển thị giờ cũng sẽ điều chỉnh. điều này cũng đúng đối với giây, giờ và ngày thay đổi giá trị cao hơn tiếp theo nếu vượt dưới 0 hoặc cao hơn giá trị tối đa cho chữ số này. Tôi đã làm điều này để tránh lập trình các giới hạn khác nhau của các tháng riêng lẻ và nếu tháng Hai thì cần 29 ngày trong một năm nhuận. Điều chỉnh thời gian thực sự được thực hiện theo kỷ nguyên, giây kể từ tháng 1-1970.
Tôi đã thêm một video đơn giản để hiển thị số đếm. Tôi muốn biến những thứ này giống như một màn hình bánh xe quay. Nếu bạn muốn điều chỉnh thời lượng thay đổi, dòng 69 trong INO cung cấp cho bạn một số tùy chọn để tăng tốc hoặc làm chậm thay đổi. 120ms sẽ làm cho các chữ số cuộn đủ chậm vì nó sẽ là một bánh xe chạy liên tục.
Tôi hy vọng bạn thích hướng dẫn này.
Patrick Geschwindner
Đề xuất:
Arduino Đếm ngược W / Nút Nghỉ ngơi: 4 bước
Arduino Đếm ngược W / Nút Nghỉ ngơi: Có thể hướng dẫn này sẽ hướng dẫn bạn cách tạo đồng hồ đếm ngược bằng Màn hình 4 chữ số 7 phân đoạn có thể đặt lại bằng một nút. Tôi có ý tưởng làm điều này vì trong khi tạo màn hình 7 đoạn 1 chữ số trong lớp, tôi muốn tạo ra thứ gì đó
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Vòng đệm hữu ích: 5 bước (có hình ảnh)
Rất tiếc hữu ích: Tuyên bố vấn đề: Học sinh đang trải qua mức độ căng thẳng cao trong tuần cuối cùng và nhóm của chúng tôi muốn khắc phục điều này. Các học sinh tập trung liên tục bị căng thẳng và căng thẳng này thường tăng lên vào cuối học kỳ và trong suốt thời gian cuối
Hẹn giờ đếm ngược sử dụng tấm chắn GLCD: 8 bước (có hình ảnh)
Đồng hồ đếm ngược sử dụng tấm chắn GLCD: Trong dự án này, tôi vẽ đồng hồ đếm ngược trên tấm chắn GLCD 1sheeld, người dùng của dự án này có thể Xác định khoảng thời gian của bộ đếm thời gian bằng cách sử dụng nút được vẽ trên GLCD, khi bộ đếm thời gian về 0 sẽ có âm thanh còi và rung
Làm cho máy ảnh của bạn thành "chế độ chụp đêm quân sự", thêm hiệu ứng ban đêm hoặc tạo chế độ chụp ảnh ban đêm trên bất kỳ máy ảnh nào !!!: 3 bước
Đặt Máy ảnh của bạn thành "Chế độ chụp đêm quân sự", Thêm Hiệu ứng Ban đêm hoặc Tạo Chế độ Cảnh báo Ban đêm trên Bất kỳ Máy ảnh nào !!!: *** Điều này đã được đưa vào CUỘC THI KỸ THUẬT SỐ DAYS PHOTO , Hãy bình chọn cho tôi ** * Nếu bạn cần bất kỳ trợ giúp nào, vui lòng gửi email: [email protected] Tôi nói tiếng Anh, Pháp, Nhật, Tây Ban Nha và tôi biết các ngôn ngữ khác nếu bạn