1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Code Full Giao Tiếp Real Time Clock Và Board Mạch arduino uno r3

32 1,6K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 28,97 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đây là code full giao tiếp giữa realTimeClock: ic thời gian thực DS1307 hoăc BQ32000 với board mạch nhúng Arduino Uno R3. Đầy đủ chức năng như hẹn giờ lưu vào eeprom, setting thời gian, ngày giờ. Có nút display để hiển thị thông tin: time, date, hoặc các cảm biến khác nếu muốn sử dụng các chức năng khác.

Trang 1

Lập Trình Giao Tiếp Board Mạch Nhúng Arduino Uno R3 Và Module Thời Gian

Thực DS1307 Hay BQ32000Ứng Dụng Vào Điều Khiển Tự Động Bằng Thời Gian Thực

Trang 2

//KHAI BAO BIEN TOAN CUC:

//==============================

//bien luu gia tri eeprom:

int addr = 0; //bat dau tai vi tri o nho thu 0:

//mang luu gia tri set bao thuc:

//BIEN Define Cho Button:

const int mode_button = 12;

const int tang_button = 11;

const int giam_button = 10;

const int display_button = 3;

const int bao_thuc = 13; //co the thay doi pin tuy y:

//==============================

//Bien Luu Hieu Chinh Thoi Gian:

int sogio=0, sophut=0;

Trang 3

//==============================

//Bien Luu Hieu Chinh Date:

int setday=00, setmonth=00, setyear=00;

//==============================

//BIEN Thoi gian: Set Lai Time, Bien Time:

int SetTime = 0;//Set this variable to 1 to set the time without a button

float timezone = -5;//Give your timezone here for double checking against GMT.byte Set_Second = 0;

byte secondRTC, minuteRTC, hourRTC, dayOfWeekRTC, dayOfMonthRTC,

monthRTC, yearRTC; //Bien cac gia tri Time va Date:

//

===================================================================

==================================================

Trang 5

//CHUONG TRINH CHUYEN DOI DE CO THE HIEN THI RA LCD TU DATA

// Convert binary coded decimal to normal decimal numbers

byte bcdToDec(byte val){

//CHUONG TRINH HIEN THI RA SO:

//VI DU Hour = 1 thi se hien thi ra 01:

void HienThi_Digits(byte digits){

if(digits < 10) lcd.print('0');

Trang 7

//CHUONG TRINH LAY THOI GIAN: GIO, PHUT, GIAY TU MEMORY DS1307:

// Gets the date and time from the ds1307

void getTime(byte *second, byte *minute, byte *hour, byte *dayOfWeek, byte

*dayOfMonth, byte *month, byte *year){

// Reset the register pointer

Wire.beginTransmission(DS1307_I2C_ADDRESS);

Wire.write((byte)0);

Wire.endTransmission();

Wire.requestFrom(DS1307_I2C_ADDRESS, 7);

// A few of these need masks because certain bits are control bits

*second = bcdToDec(Wire.read() & 0x7f);

Trang 8

//CHUONG TRINH THAY DOI CAI DAT TIME:

void setTime(byte hour, byte minute, byte second, byte dayofweek, byte

dayofmonth, byte month, byte year){

Trang 9

//CHUONG TRINH HIEN THI THOI GIAN: HOUR, MINUTES, SECOND:

void HienThi_Time(int hour, int minute, int second){

Trang 16

//Chuong trinh code menu phim nhan cho setting Time:

//1.Thay Doi Hour;

Trang 30

getTime(&secondRTC, &minuteRTC, &hourRTC, &dayOfWeekRTC,

&dayOfMonthRTC, &monthRTC, &yearRTC);

Trang 31

HienThi_Time(hourRTC, minuteRTC, secondRTC);//HIEN THI TIME: HOUR,

//CHUONG TRINH HEN GIO BAO THUC:

if((sogio == hourRTC) && (sophut == minuteRTC)){

Trang 32

===================================================================

==================================================

Ngày đăng: 01/11/2015, 20:58

TỪ KHÓA LIÊN QUAN

w