Mundarija:

DS1307 Arduino bilan real vaqtda soat RTC: 4 qadam
DS1307 Arduino bilan real vaqtda soat RTC: 4 qadam

Video: DS1307 Arduino bilan real vaqtda soat RTC: 4 qadam

Video: DS1307 Arduino bilan real vaqtda soat RTC: 4 qadam
Video: LDmicro 14: ЖК-дисплей I2C и часы реального времени DS3231 (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, Iyun
Anonim
DS1307 Arduino bilan real vaqtda soat RTC
DS1307 Arduino bilan real vaqtda soat RTC

Bu qo'llanmada biz Real Time Clock (RTC) va Arduino & Real Time Clock IC DS1307 vaqt qurilmasi sifatida birlashtirilganligini bilib olamiz.

Real vaqt soati (RTC) vaqtni kuzatish va taqvimni saqlash uchun ishlatiladi. RTCdan foydalanish uchun avval uni joriy sana va vaqt bilan dasturlashimiz kerak. Bu bajarilgandan so'ng, vaqt va sanani bilish uchun RTC registrlarini istalgan vaqtda o'qish mumkin. DS1307 - bu I2C protokoli bo'yicha ishlaydigan RTC. Turli registrlardan ma'lumotlarni I2C aloqasi yordamida o'qish uchun ularning manzillariga kirish orqali o'qish mumkin.

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar

Bu ko'rsatmalar uchun sizga kerak bo'lgan narsalar:

Arduino bilan

Ds1307 rtc moduli

Jumper simlari

3.7V tanga uyasi

2 -qadam: ulanishlar

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

Iltimos, rasm bo'limida biriktirilgan schmatikaga rioya qiling va hamma narsani sxemaga muvofiq ulang.

3 -qadam: kodlash qismi

Kodlash qismi
Kodlash qismi

Arduino -ni RTC -ni joriy sana va vaqt bilan ta'minlash uchun dasturlash; va RTC dan sana va vaqtni o'qish.

Bu erda biz GitHub -dan Watterott tomonidan DS1307 kutubxonasidan foydalanamiz.

Bu kutubxonani bu erdan yuklab oling.:

Kutubxonani chiqarib oling va DS1307 nomli papkani Arduino IDE kutubxonalari papkasiga qo'shing.

Kutubxona Arduino IDE -ga qo'shilgandan so'ng, IDE -ni oching va DS1307 kutubxonasidan qo'shilgan Misol nomli eskizni oching.

Ogohlantirish so'zi: Sketch misolida, o'rnatish tsiklida rtc.set () funktsiyasi ishlatiladi. Bu funktsiyaga aytilganidek, joriy sana va vaqt argumentlarini o'tkazing. Misol eskizida bu bayonot sharhlanadi. Sharh qoldiring va eskizni yuklang. Eskiz yuklangandan so'ng, bayonotga yana izoh qoldiring va eskizni yuklang. Agar bu bajarilmasa, har safar Arduino UNO taxtasi qayta o'rnatilganda yoki quvvat o'chirilgandan so'ng yoqilganda, siz o'rnatgan sana va vaqt qayta -qayta o'rnatiladi va siz aniq joriy vaqt va sanani o'qiy olmaysiz.

/* DS1307 RTC (Real-Time-Clock) misoli

Uno A4 (SDA), A5 (SCL) Mega 20 (SDA), 21 (SCL) Leonardo 2 (SDA), 3 (SCL) */

#"Wire.h" ni qo'shing

#"DS1307.h" ni qo'shing

DS1307 rtc;

void setup () { /*init Serial port* / Serial.begin (9600); while (! Seriyali); /*ketma -ket port ulanishini kuting - faqat Leonardo uchun kerak*/

/*init RTC*/ Serial.println ("RTC -ni ishga tushirish …");

/*faqat sana+vaqtni bir marta belgilang*/ rtc.set (0, 0, 8, 24, 12, 2014); /*08: 00: 00 24.12.2014 // soniya, min, soat, kun, oy, yil*/

/*to'xtatish/to'xtatib turish RTC*/// rtc.stop ();

/*boshlash RTC*/ rtc.start (); }

void loop () {uint8_t sek, min, soat, kun, oy; uint16_t yil;

/*RTC dan vaqt olish*/ rtc.get (& sek, & min, & soat, & kun, & oy, va yil);

/*ketma -ket chiqish*/ Serial.print ("\ nVaqt:"); Serial.print (soat, DEC); Serial.print (":"); Serial.print (min, DEC); Serial.print (":"); Serial.print (sek, DEC);

Serial.print ("\ nSana:"); Serial.print (kun, DEC); Serial.print ("."); Serial.print (oy, DEC); Serial.print ("."); Serial.print (yil, DEC);

/*bir soniya kuting*/ kechikish (1000); }

Yuqoridagi kodni nusxa ko'chiring va uni arduino kartangizga yuklang

4 -qadam: Vaqt olish

Vaqt olish
Vaqt olish
Vaqt olish
Vaqt olish

Hamma narsani bir -biriga ulab, kodni arduino kartangizga yuklaganingizdan so'ng, seriyali monitorni arduino ide -da oching, shunda siz seriyali monitoringizda meniki bo'lgan sana va vaqtni ko'rasiz, men o'z vaqtimni ko'ra olaman. seriyali monitorimda sana, demo chiqishi uchun iltimos, yuqoridagi rasmga qarang va loyihangizga RTC soatini qo'shib zavqlaning.

Tavsiya: