Mục lục:

Đồng hồ kỹ thuật số đơn giản sử dụng Arduino Nano & DS1307: 4 bước
Đồng hồ kỹ thuật số đơn giản sử dụng Arduino Nano & DS1307: 4 bước

Video: Đồng hồ kỹ thuật số đơn giản sử dụng Arduino Nano & DS1307: 4 bước

Video: Đồng hồ kỹ thuật số đơn giản sử dụng Arduino Nano & DS1307: 4 bước
Video: 🔴 Arduino #28 | Đồng Hồ Thời Gian Thực DS1302 | DS1302 Real Time Clock 2024, Tháng bảy
Anonim
Đồng hồ kỹ thuật số đơn giản sử dụng Arduino Nano & DS1307
Đồng hồ kỹ thuật số đơn giản sử dụng Arduino Nano & DS1307

Trong bài này mình sẽ hướng dẫn các bạn làm đồng hồ kỹ thuật số bằng Arduino.. Bo mạch Arduino mà mình sử dụng là Arduino Nano V3, DS1307 làm cung cấp dữ liệu thời gian, MAX7219 7 Segment làm màn hình đồng hồ.

trước khi vào phần hướng dẫn, tôi khuyên bạn nên làm quen với việc sử dụng các thiết bị và phụ kiện Arduino. Điều này sẽ giúp bạn làm theo hướng dẫn mà tôi đã chỉ ra dễ dàng hơn.

Nếu bạn không quen với việc sử dụng bảng Arduino, đừng lo lắng.

Bạn có thể đọc bài viết này để hâm nóng:

  • Cách sử dụng Arduino Nano
  • MAX7219 7-Segment sử dụng Arduino
  • Cách sử dụng DS1307 bằng Arduino

Bước 1: Các thành phần bắt buộc

Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc
Các thành phần bắt buộc

đây là những thành phần chúng ta cần để tạo ra một đồng hồ kỹ thuật số:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 Segment
  • Dây nhảy
  • USBmini
  • Bảng dự án

Thư viện Yêu cầu:

  • Dây điện
  • LedControl
  • RTClib

Bước 2: Lắp ráp tất cả các thành phần

Lắp ráp tất cả các thành phần
Lắp ráp tất cả các thành phần

Nếu tất cả các thành phần đã được lấy, Bây giờ là lúc để lắp ráp.

Xem mô tả bên dưới hoặc xem hình trên:

Arduino sang RTC DS1307

GND => GND

+ 5V => VCC

A4 => SDA

A5 => SCL

Arduino đến MAX7219

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Sau khi tất cả các thành phần được cài đặt, hãy tiếp tục đến phần lập trình.

Bước 3: Lập trình

sao chép và dán bản phác thảo này vào bản phác thảo mà bạn đã thực hiện. Sau đó tải chương trình lên bảng arduno

#include #include "LedControl.h" #include "RTClib.h"

RTC_DS1307 rtc;

LedControl lc = LedControl (12, 11, 10, 1);

void setup () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Không tìm thấy RTC"); trong khi (1); } if (! rtc.isrunning ()) {Serial.println ("RTC KHÔNG chạy!"); // dòng sau đặt RTC thành ngày & giờ mà bản phác thảo này được biên dịch // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Dòng này đặt RTC với ngày và giờ rõ ràng, ví dụ: đặt // ngày 21 tháng 1 năm 2014 lúc 3 giờ sáng mà bạn sẽ gọi: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime now = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()% 10, false); lc.setDigit (0, 1, now.second () / 10, false); lc.setChar (0, 2, '-', false); lc.setDigit (0, 3, now.minute ()% 10, false); lc.setDigit (0, 4, now.minute () / 10, false); lc.setChar (0, 5, '-', false); lc.setDigit (0, 6, now.hour ()% 10, false); lc.setDigit (0, 7, now.hour () / 10, false); }

if (now.second () == 30 || now.second () == 40)

{lc.clearDisplay (0); }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()% 10, true); lc.setDigit (0, 7, now.day () / 10, false); lc.setDigit (0, 4, now.month ()% 10, true); lc.setDigit (0, 5, now.month () / 10, false); lc.setDigit (0, 0, (now.year ()% 1000)% 10, false); lc.setDigit (0, 1, (now.year ()% 1000) / 10, false); lc.setDigit (0, 2, (now.year ()% 1000) / 100, false); lc.setDigit (0, 3, now.year () / 1000, false); }}

Bước 4: Kết quả

Sau khi tất cả các bước thành công, đây là kết quả mà bạn sẽ thấy: (xem video)

cứ sau giây thứ 31 đến giây thứ 40. 7 Phân đoạn sẽ hiển thị ngày. Ngoại trừ giây đó, 7 đoạn sẽ hiển thị đồng hồ

Đề xuất: