0 đánh giá

Lập trình thời gian thực DS1307 với Arduino

Bài hướng dẫn này sẽ hướng dẫn bạn làm sao để đọc và ghi thời gian từ IC thời gian thực DS1307.

Bước 1: Linh kiện cần thiết
khoere_ds1307-1549492613.jpg khoere_ds1307-2-3346999599.jpg khoere_ds1307-2-3346999599.jpg

- Board Aruino UNO

- DS1307

- Dây nối

Bước 2: Nối dây
khoere_wire-3247268581.jpg khoere_i2c-9346317835.png

Module DS1307 giao tiếp qua chuẩn I2C. Với Arduino UNO, cổng I2C tích hợp được hiển thị các chân như hình 2. Module DS1307 có 5 chân, VCC, GND, SDA  (Serial Data), SDL (Serial Clock). Chân DS xuất ra xung tần số 1Hz. Bạn nối mạch như hình 1. Các chân SDA, SDL tương ứng với các chân trên Arduino. 

 

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

Để lập trình đọc ghi với DS1307, bạn cần dùng thư viện riêng cho đỡ tốn công sức (bạn tải về ở file đính kèm vào copy vào thư viện Arduino IDE). Điều tuyệt với nhất ở Arduino là ở chỗ này.

#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> //khoere.com
void setup()
{
  Serial.begin(9600);
  RTC.stop();
  RTC.set(DS1307_SEC, 1); //đặt giây
  RTC.set(DS1307_MIN, 23); //đặt phút
  RTC.set(DS1307_HR, 12); //đặt giờ
  RTC.set(DS1307_DOW, 4);// đặt thứ
  RTC.set(DS1307_DATE, 15); //đặt ngày
  RTC.set(DS1307_MTH, 7); //đặt tháng
  RTC.set(DS1307_YR, 10);// đặt năm
  RTC.start();
}
void loop()
{
  Serial.print(RTC.get(DS1307_HR, true)); //đọc giờ và xuất ra cổng truyền nối tiếp 
  Serial.print(:); 
  Serial.print(RTC.get(DS1307_MIN, false)); //đọc phút và xuất ra cổng truyền nối tiếp 
  Serial.print(:);
  Serial.print(RTC.get(DS1307_SEC, false)); //đọc giây và xuất ra cổng truyền nối tiếp 
  Serial.print( ); 
  Serial.print(RTC.get(DS1307_DATE, false)); //đọc ngày và xuất ra cổng truyền nối tiếp 
  Serial.print(/);
  Serial.print(RTC.get(DS1307_MTH, false)); //đọc tháng và xuất ra cổng truyền nối tiếp 
  Serial.print(/);
  Serial.print(RTC.get(DS1307_YR, false)); //đọc năm và xuất ra cổng truyền nối tiếp 
  Serial.println();
  delay(1000);
}

 

(!) Nếu có bất kỳ thắc mắc nào cần hỏi vui lòng đặt câu hỏi tại HỏiHay.Net, Cộng đồng Hỏi đáp Hỏi Hay sẽ trả lời bạn.
3,492 lượt xem ^tháng ^ngày, ^năm
Lam Nguyen Van 380 điểm

Please log in or register to Comment this Media.