Professional Documents
Culture Documents
Real Time Clock DS1307 VN
Real Time Clock DS1307 VN
Trong bản phác thảo này, chúng ta sẽ tạo một đồng hồ kỹ thuật số để hiển thị thời
gian thực (DS1307) và nhiệt độ (LM35) trong màn hình Nối tiếp.
Lý thuyết
Mô-đun RTC DS1307
DS1307 có thể theo dõi giây, phút, giờ, ngày, ngày, tháng và năm. Nó có thể hoạt
động ở định dạng 12 giờ hoặc 24 giờ và có chỉ báo AM/PM. Đối với những tháng có
ít hơn 31 ngày, nó sẽ tự động điều chỉnh ngày vào cuối tháng, bao gồm cả chỉnh sửa
năm nhuận (có hiệu lực đến năm 2100).
LM35
LM35 tạo ra điện áp tỷ lệ tuyến tính với nhiệt độ C. Hệ số tỷ lệ đầu ra của LM35 là 10
mV/°C. Điều đó có nghĩa là nhiệt độ được tính bằng cách chia điện áp (mV) ở chân
đầu ra cho 10.
Liên kết: adafruit/RTClib: Một nhánh của thư viện RTC Arduino tuyệt vời của Jeelab
(github.com)
Arduino DS1307
Arduino LM35
5V VCC
5V VCC
GND GND
A0 NGOÀI
A4 SDA
GND GND
A5 SCL
Mã số
// Hàm ngày và giờ sử dụng DS1307 RTC được kết nối qua I2C và Wire lib
#include <RTClib.h>
nhiệt độ nổi C;
RTC_DS1307 rtc;
char ngàyOfTheWeek[7][12] = {
"Chủ nhật",
"Thứ hai",
"Thứ ba",
"Thứ Tư",
"Thứ năm",
"Thứ sáu",
"Thứ bảy"
};
// đặt RTC thành ngày và giờ trên PC, bản phác thảo này đã được biên
dịch
rtc.just(DateTime(F(__DATE__), F(__TIME__)));
printTime(bây giờ);
}
void printTime(DateTime time) {
Serial.print("THỜI GIAN: ");
Serial.print(time.year(), DEC);
Serial.print('/');
Serial.print(time.month(), DEC);
Serial.print('/');
Serial.print(time.day(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[time.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(time.hour(), DEC);
Serial.print(':');
Serial.print(time. Minute(), DEC);
Serial.print(':');
Serial.println(time.second(), DEC);
Biểu tình
Sau khi tải Arduino lên, hãy mở màn hình nối tiếp để xem kết quả.
Nếu màn hình serial in “Không thể tìm thấy RTC”, hãy kiểm tra xem chân SDL
và chân SCL có được kết nối đúng vị trí hay không?