สารบัญ:

DS1307 นาฬิกาแบบเรียลไทม์ RTC พร้อม Arduino: 4 ขั้นตอน
DS1307 นาฬิกาแบบเรียลไทม์ RTC พร้อม Arduino: 4 ขั้นตอน

วีดีโอ: DS1307 นาฬิกาแบบเรียลไทม์ RTC พร้อม Arduino: 4 ขั้นตอน

วีดีโอ: DS1307 นาฬิกาแบบเรียลไทม์ RTC พร้อม Arduino: 4 ขั้นตอน
วีดีโอ: ArduinoEP11 สร้างนาฬิกาด้วย DS1307 Real Time Colck (RTC) 2024, พฤศจิกายน
Anonim
DS1307 นาฬิกาแบบเรียลไทม์ RTC พร้อม Arduino
DS1307 นาฬิกาแบบเรียลไทม์ RTC พร้อม Arduino

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับนาฬิกาแบบเรียลไทม์ (RTC) และวิธีที่ Arduino & Real Time Clock IC DS1307 ถูกนำมารวมกันเป็นอุปกรณ์จับเวลา

Real Time Clock (RTC) ใช้สำหรับตรวจสอบเวลาและบำรุงรักษาปฏิทิน ในการใช้ RTC เราจำเป็นต้องตั้งโปรแกรมกับวันที่และเวลาปัจจุบันก่อน เมื่อดำเนินการเสร็จแล้ว คุณสามารถอ่านการลงทะเบียน RTC ได้ตลอดเวลาเพื่อทราบเวลาและวันที่ DS1307 เป็น RTC ที่ทำงานบนโปรโตคอล I2C ข้อมูลจากรีจิสเตอร์ต่างๆ สามารถอ่านได้โดยเข้าถึงที่อยู่เพื่ออ่านโดยใช้การสื่อสาร I2C

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

นี่คือสิ่งที่คุณต้องการสำหรับคำแนะนำนี้:

Arduino uno

โมดูล Ds1307 rtc

สายจัมเปอร์

เซลล์เหรียญ 3.7v

ขั้นตอนที่ 2: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

โปรดปฏิบัติตาม schmatics ที่แนบมาในส่วนรูปภาพและเชื่อมต่อทุกอย่างตาม schmatics

ขั้นตอนที่ 3: ส่วนการเข้ารหัส

ส่วนการเข้ารหัส
ส่วนการเข้ารหัส

การเขียนโปรแกรม Arduino เพื่อป้อน RTC พร้อมวันที่และเวลาปัจจุบัน และการอ่านวันที่และเวลาจาก กทช.

เราจะใช้ไลบรารี DS1307 โดย Watterott จาก GitHub

ดาวน์โหลดห้องสมุดนี้ได้จากที่นี่:

แตกไลบรารีและเพิ่มโฟลเดอร์ชื่อ DS1307 ไปยังเส้นทางโฟลเดอร์ไลบรารีของ Arduino IDE

เมื่อเพิ่มไลบรารีลงใน Arduino IDE แล้ว ให้เปิด IDE และเปิดตัวอย่างแบบร่างที่ชื่อ Example จากไลบรารี DS1307 ที่เพิ่มเข้ามา

ข้อควรระวัง: ในตัวอย่างแบบร่าง จะใช้ฟังก์ชัน rtc.set() ในลูปการตั้งค่า ส่งผ่านอาร์กิวเมนต์วันที่และเวลาปัจจุบันตามที่กล่าวถึงในฟังก์ชันนี้ ในภาพตัวอย่าง คำสั่งนี้จะถูกแสดงความคิดเห็น ยกเลิกความคิดเห็นและอัปโหลดภาพร่าง เมื่ออัปโหลดแบบร่างแล้ว ให้ยกเลิกการใส่ความคิดเห็นในคำสั่งอีกครั้งแล้วอัปโหลดแบบร่าง หากยังไม่เสร็จสิ้น ทุกครั้งที่บอร์ด Arduino UNO รีเซ็ตหรือเปิดเครื่องหลังจากปิดเครื่อง วันที่และเวลาที่คุณตั้งไว้จะถูกตั้งค่าซ้ำแล้วซ้ำอีก และคุณจะไม่สามารถอ่านเวลาและวันที่ปัจจุบันที่แน่นอนได้

/* ตัวอย่าง DS1307 RTC (นาฬิกาเรียลไทม์)

Uno A4 (SDA), A5 (SCL) เมกะ 20 (SDA), 21 (SCL) Leonardo 2 (SDA), 3 (SCL) */

#รวม "Wire.h"

#รวม "DS1307.h"

DS1307 rtc;

การตั้งค่าเป็นโมฆะ () { /*init พอร์ตอนุกรม*/ Serial.begin(9600); ในขณะที่(!ซีเรียล); /*รอให้พอร์ตอนุกรมเชื่อมต่อ - จำเป็นสำหรับ Leonardo เท่านั้น*/

/*init RTC*/ Serial.println("เริ่มต้น RTC…");

/*ตั้งวันที่+เวลาเพียงครั้งเดียว*/ rtc.set(0, 0, 8, 24, 12, 2014); /*08:00:00 24.12.2014 //วินาที นาที ชั่วโมง วัน เดือน ปี*/

/*หยุด/หยุดชั่วคราว RTC*/ // rtc.stop();

/*เริ่ม RTC*/ rtc.start(); }

วงเป็นโมฆะ () { uint8_t วินาที, นาที, ชั่วโมง, วัน, เดือน; uint16_t ปี;

/*รับเวลาจาก RTC*/ rtc.get(&sec, &min, &hour, &day, &month, &year);

/*ซีเรียลเอาท์พุต*/ Serial.print("\nเวลา: "); Serial.print(ชั่วโมง ธ.ค.); Serial.print(":"); Serial.print (นาที ธ.ค.); Serial.print(":"); Serial.print (วินาที ธ.ค.);

Serial.print("\nวันที่: "); Serial.print (วัน ธ.ค.); Serial.print("."); Serial.print (เดือน ธ.ค.); Serial.print("."); Serial.print (ปี ธ.ค.);

/*รอสักครู่*/ ล่าช้า(1000); }

คัดลอกโค้ดด้านบนและอัปโหลดไปยังบอร์ด Arduino ของคุณ

ขั้นตอนที่ 4: รับเวลา

ได้รับเวลา
ได้รับเวลา
ได้รับเวลา
ได้รับเวลา

หลังจากเชื่อมต่อทุกอย่างเข้าด้วยกันและอัปโหลดโค้ดไปยังบอร์ด Arduino ของคุณแล้ว ให้เปิดมอนิเตอร์แบบอนุกรมใน Arduino ide ของคุณ จากนั้นคุณจะสามารถรับวันที่ & เวลาเป็นของฉันในมอนิเตอร์แบบอนุกรมของคุณได้ตามที่คุณเห็นว่าฉันสามารถดูเวลา & วันที่ในมอนิเตอร์แบบอนุกรมของฉัน สำหรับเอาต์พุตการสาธิต โปรดดูเอาต์พุตรูปภาพด้านบนและสนุกกับการเพิ่มนาฬิกา RTC ในโครงการของคุณ

แนะนำ: