MODULE ARDUINO & THƯ VIỆN

Thư viện Arduino điều khiển thời gian thực module DS1302

Thư viện Arduino điều khiển thời gian thực module DS1302

1. Định nghĩa các ngày trong tuần

Các ngày trong tuần: Sử dụng trong các hàm setDow() và Time.dow

  • Thứ 2: 1
  • Thứ 3: 2
  • Thứ 4: 3
  • Thứ 5: 4
  • Thứ 6: 5
  • Thứ 7: 6
  • Chủ nhật: 7

2. Các hàm

DS1302(CE, IO, SCLK);

Dùng để khởi tạo DS1302. Trong đó:

  • CE: chân CE kết nối DS1302
  • IO: chân IO kết nối DS1302
  • SCLK: chân SCLK kết nối DS1302

Ví dụ: DS1302 rtc(2, 3, 4);

getTime();

Dùng để đọc data từ DS1302 vào trong bộ nhớ Arduino. Giá trị trả về sẽ là thời gian và ngày hiện tại trong bộ đếm của DS1302.

Ví dụ: t = rtc.getTime();

getTimeStr(<format>);

Dùng để đọc giá trị thời gian (giờ phút giây) từ DS1302 về arduino.

Nếu bạn chọn format là 1, bạn sẽ có cả thời gian là giây (hh:mm:ss). Nếu bạn chọn format là 2: bạn sẽ có thời gian chỉ đến phút (hh:mm).

Ví dụ: Serial.print(rtc.getTimeStr()); //Trong trường hợp này sẽ gửi mặc định theo kiểu “hh:mm:ss”

getDateStr(year, e, div);

trong đó:

  • year:

FORMAT_LONG – Năm với 4 chữ số (yyyy). Mặc định

FORMAT_SHORT – Năm với 2 chữ số (yy)

  • e:

FORMAT_LITTLEENDIAN : “dd.mm.yyyy”

FORMAT_BIGNDIAN : “yyyy.mm.dd”

FORMAT_MIDDLEENDIAN : “mm.dd.yyyy”

  • div:

Ký tự đơn để phân cách giữa ngày, tháng, năm. mặc định sẽ là dấu ‘.’

Ví dụ: Serial.print(rtc.getDateStr());

getDOWStr(<format>);

Trả về giá trị chuỗi ngày trong tuần với:

  • format:

FORMAT_LONG : Ngày trong tuần với tên gọi đầy đủ bằng tiếng anh. Mặc định

FORMAT_SHORT : Ngày trong tuần với 3 ký tự viết tắt trong tiếng anh.

Ví dụ: Serial.print(rtc.getDOWStr(FORMAT_SHORT)); // Trả về giá trị chuỗi là ngày trong tuần mặc định

getMonthStr(<format>)

Trả về giá trị chuỗi tên tháng.

  • format:

FORMAT_LONG : tháng với tên gọi đầy đủ bằng tiếng anh. Mặc định

FORMAT_SHORT : tháng với 3 ký tự viết tắt trong tiếng anh.

ví dụ: Serial.print(rtc.getMonthStr(FORMAT_SHORT)); // Trả về giá trị chuỗi là tháng

setTime(hour,min,sec);

Cài đặt giá trị cho DS1302.

trong đó:

  • hour: giá trị giờ được lưu trữ trong DS1302 (0-23)
  • min: giá trị phút được lưu trữ trong DS1302 (0-59)
  • sec: giá trị giây được lưu trữ trong DS1302 (0-59)

Ví dụ: rtc.setTime(23,59,59); // Set thời gian thành 23:59:59

setDate(date, mon, year)

Cài đặt ngày tháng năm cho DS1302

trong đó:

  • date: Ngày trong tháng được lưu trữ trong DS1302 (1-31) * Lưu ý: Chú ý giá trị ngày trong tháng sao cho hợp lý vì nó có thể gây ra trạng thái không xác định.
  • mon: Tháng được lưu trữ trong DS1302 (1-12)
  • year: Năm được lưu trữ trong DS1302 (2000 – 2099)

Ví dụ: rtc.setDate(6,8,2018); // Cài đặt giá trị là ngày 6 tháng 8 năm 2018

setDOW(dow);

Cài đặt ngày trong tuần. giá trị dow được xác định từ 1 – 7 tương ứng với thứ 2 – chủ nhật.

ví dụ: rtc.setDOW(1); // Cài đặt giá trị ngày trong tuần là thứ 2.

3. Link download thư viện arduino

Link download thư viện arduino DS1302 đã bao gồm code mẫu: https://drive.google.com/file/d/1m0WpkpW1k_jYXoOA1W7b1KBhdBe7qELK/view?usp=sharing

Xem thêm các module và thư viện arduino khác tại: https://www.abcarduino.com/category/module-arduino-va-thu-vien/