Mục lục:

Đồng hồ ma trận Arduino: 6 bước
Đồng hồ ma trận Arduino: 6 bước

Video: Đồng hồ ma trận Arduino: 6 bước

Video: Đồng hồ ma trận Arduino: 6 bước
Video: Tự học Arduino bài 4: Điều khiển LED Matrix 2024, Tháng bảy
Anonim
Đồng hồ ma trận Arduino
Đồng hồ ma trận Arduino

Sự miêu tả:

Xây dựng đồng hồ của bạn bằng cách sử dụng Arduino, màn hình ma trận và mô-đun Đồng hồ thời gian thực (RTC). Đây là một dự án thú vị và đơn giản mà tôi cảm thấy rất tuyệt vời cho người mới bắt đầu. Đồng hồ sử dụng mô-đun RTC để theo dõi chính xác thời gian cũng như ngày, tháng và năm. Ngoài ra, mô-đun có một cảm biến nhiệt độ tích hợp. Bạn có thể tìm hiểu thêm về mô-đun DS3231 tại đây cũng như bus giao tiếp I2C được sử dụng cho nó tại đây. Cuối cùng, chúng tôi sẽ sử dụng Màn hình ma trận điểm để hiển thị thời gian, ngày trong tuần, tháng.v.v. Bạn có thể biết thêm về màn hình hiển thị ở đây và trình điều khiển IC MAX7219 trong biểu dữ liệu bên dưới.

Bạn cũng có thể tải xuống phiên bản pdf cho dự án này tại đây. Nó hầu như giống với hướng dẫn này.

[CẬP NHẬT: 22/2/19] Không sử dụng hướng dẫn pdf, tôi đã cập nhật hướng dẫn này nhưng những thay đổi đó chưa được phản ánh trên pdf.

Bước 1: Thu thập các thành phần

Các thành phần bạn sẽ cần cho dự án này:

  • Màn hình ma trận chấm Max7219 [Mua tại đây] [Datasheet]
  • RTC DS3231 [Mua tại đây] [Datasheet]
  • Pin 3V CR3032 (dành cho DS3231)

Ngoài ra, bạn sẽ cần Arduino thuộc bất kỳ loại nào (tốt nhất là Nano để giảm thiểu kích thước của dự án), bảng mạch, dây jumper cũng như Arduino IDE được cài đặt trên PC của bạn.

Bước 2: Thư viện

Thư viện
Thư viện

Tải xuống các thư viện sau và cài đặt tệp.zip vào Arduino IDE bằng cách đi tới Phác thảo> Bao gồm Thư viện> Thêm thư viện. Zip

LƯU Ý: VERSIONS MATTER !!

* Xác minh rằng bạn có các phiên bản chính xác trước khi tải xuống. Tôi khuyên bạn nên tải xuống từng thư viện trong Arduino IDE để an toàn.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Ngoài ra, Trong Arduino IDE, đi tới Sketch> Bao gồm Thư viện> Quản lý Thư viện và trong thanh tìm kiếm, nhập: “MAX72XX” và bạn sẽ thấy như sau (Xem hình ảnh):

Chỉ cài đặt MD_MAX72XX và MD_Parola. MD_MAXPanel là KHÔNG cần thiết.

Bước 3: Kiểm tra các thành phần của bạn

Sau khi Cài đặt các thư viện, hãy kiểm tra từng thành phần của bạn để đảm bảo rằng chúng đang hoạt động bình thường. Vui lòng làm theo các bước sau trước khi kết nối mọi thứ với nhau

Để kiểm tra Mô-đun RTC DS3231, hãy kết nối DS3231 với Arduino (xem phần Nối dây bên dưới). Sau đó, trong Arduino IDE, đi tới Tệp> Ví dụ> DS3231> DS3231_Test và tải lên bản phác thảo. Mở Trình theo dõi nối tiếp và kiểm tra để biết rằng bạn đang nhận được ngày, giờ, ngày chính xác. Vv.

Để kiểm tra màn hình ma trận, trước tiên hãy kết nối nó với Arduino (xem phần Đấu dây bên dưới). Tiếp theo, trong Arduino IDE, đi tới Tệp> Ví dụ> MD_Parola> Parola_HelloWorld và tải lên bản phác thảo. Bạn sẽ thấy HELLO được in trên màn hình và nó có thể được in ngược hoặc không. Nếu văn bản bị ngược thì bạn phải thay đổi dòng sau:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Đến

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Tải lên bản phác thảo một lần nữa và vấn đề sẽ được giải quyết.

Bây giờ chúng tôi đã kiểm tra các thành phần của mình, chúng tôi đã sẵn sàng kết nối mọi thứ lại với nhau!

Bước 4: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây

Tham khảo sơ đồ hoặc sơ đồ hoặc bảng

Bước 5: MÃ

Nhận mã tại đây

Lưu ý: Tôi đã sử dụng mã ban đầu của Dự án điện tử nhưng đã sửa đổi mã này để hỗ trợ các thư viện hiện tại (tại thời điểm hoàn thành).

Tính năng đồng hồ:

Đồng hồ được tự động cài đặt để báo thời gian ở định dạng 24 giờ nhưng có thể dễ dàng thay đổi thành 12 giờ. Đồng hồ cũng sẽ hiển thị nhiệt độ (cả độ C và độ F). Tôi cũng đã bao gồm một tính năng được gọi là 'Chế độ ngủ' được đặt thành "TẮT" (Xem Chế độ ngủ bên dưới để biết chi tiết).

Định dạng 12hr: Để đặt đồng hồ cho biết thời gian ở định dạng 12hr, bạn sẽ phải nhận xét dòng 88

giờ = Clock.gethour (h12, PM); // Định dạng 24hr

Và bỏ ghi chú các dòng từ 93 đến 100

if (Clock.getHour (h12, PM)> = 13 || Clock.getHour (h12, PM) == 0)

{h = Clock.getHour (12, CH) - 12; } else {h = Clock.getHour (h12, PM); }

Chế độ ngủ:

Đây là một tính năng giúp giảm độ sáng của đồng hồ, đặc biệt là vào những giờ mà chúng ta đang ngủ. Tôi không nghĩ rằng bạn muốn thức dậy vào nửa đêm và bị mù bởi chiếc đồng hồ này. Nó rất sáng ngay cả khi nó ở cài đặt thấp nhất. Để bật chế độ ngủ, bỏ ghi chú dòng 177 đến 184

if (h == 12 || h <8) // Khoảng thời gian (trong trường hợp này là từ 12 giờ sáng đến 8 giờ sáng) {P.setIntensity (0); // Đặt độ sáng màn hình thành cài đặt thấp nhất} else {P.setIntensity (6); // Đặt độ sáng màn hình thành 6 (15 là sáng nhất)}

Lưu ý: Tôi đã gặp sự cố khi sử dụng chế độ ngủ trong khi đồng hồ được đặt ở chế độ 12hr. Bạn sẽ nhận thấy rằng nó sẽ chạy hai lần một ngày vì 8 giờ sáng và 8 giờ tối được hiểu là cả 8. Vì vậy, nếu bạn đặt Chế độ ngủ hoạt động từ 9 giờ tối đến 7 giờ sáng, thì nó cũng sẽ hoạt động từ 9 giờ sáng đến 7 giờ tối. TUY NHIÊN, vấn đề này không xảy ra nếu đồng hồ được đặt ở chế độ 24 giờ.

Bước 6: Kết luận

Chúc mừng!!! Bạn có một chiếc đồng hồ làm việc. Đây là cách tôi bật ra [Thư viện đồng hồ]. Tôi hy vọng rằng bạn không chỉ học được thêm một chút về các thành phần và mã hóa, mà còn bạn rất thích cuộc hành trình đến đó. Vui lòng chia sẻ với tôi suy nghĩ của bạn về hướng dẫn này tại [email protected]. Trên thực tế, đây là hướng dẫn dự án đầu tiên của tôi và hy vọng nó phục vụ tốt cho bạn. Tôi hy vọng sẽ tạo ra nhiều hướng dẫn hơn. Ngoài ra, nếu bạn có bất kỳ câu hỏi, đề xuất và / hoặc cải tiến nào về dự án, vui lòng nhắn tin cho tôi.

Đề xuất: