Агуулгын хүснэгт:

DS1307 Arduino -той бодит цагийн цаг RTC: 4 алхам
DS1307 Arduino -той бодит цагийн цаг RTC: 4 алхам

Видео: DS1307 Arduino -той бодит цагийн цаг RTC: 4 алхам

Видео: DS1307 Arduino -той бодит цагийн цаг RTC: 4 алхам
Видео: FLProg7: часы реального времени и температура | ESP32 NodeMCU | Визуальное программирование для 2024, Есдүгээр
Anonim
DS1307 Arduino -той бодит цагийн цаг RTC
DS1307 Arduino -той бодит цагийн цаг RTC

Энэхүү гарын авлагад бид Real Time Clock (RTC) болон Arduino & Real Time Clock IC DS1307 -ийг цаг хугацааны төхөөрөмж болгон хэрхэн нэгтгэсэн талаар сурах болно.

Бодит цагийн цаг (RTC) нь цагийг хянах, хуанли хөтлөхөд ашиглагддаг. RTC -ийг ашиглахын тулд эхлээд тухайн цаг, огноогоор програмчлах хэрэгтэй. Үүнийг хийсний дараа RTC бүртгэлийг цаг, огноог мэдэхийн тулд хүссэн үедээ уншиж болно. DS1307 бол I2C протокол дээр ажилладаг RTC юм. Төрөл бүрийн бүртгэлийн өгөгдлийг I2C холболтыг ашиглан унших хаягаар нь орж унших боломжтой.

Алхам 1: Танд хэрэгтэй зүйл

Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс
Танд хэрэгтэй зүйлс

Эдгээр зааварчилгааны хувьд танд дараахь зүйлс хэрэгтэй болно.

Ардуино нэгдээрэй

Ds1307 rtc модуль

Холбогч утас

3.7в зоосны үүр

Алхам 2: Холболтууд

Холболтууд
Холболтууд
Холболтууд
Холболтууд

Зургийн хэсэгт хавсаргасан schmatics -ийг дагаж, бүгдийг schmatics -ийн дагуу холбоно уу.

Алхам 3: Кодлох хэсэг

Кодлох хэсэг
Кодлох хэсэг

Одоогийн огноо, цагийг RTC -ээр хангах Arduino програмчлах; мөн RTC -ээс авсан огноо, цагийг унших.

Энд бид GitHub -аас Ваттероттын DS1307 номын санг ашиглах болно.

Энэ номын санг эндээс татаж авна уу.:

Номын санг задалж, DS1307 нэртэй хавтсыг Arduino IDE -ийн номын сангийн хавтасны замд нэмнэ үү.

Номын санг Arduino IDE -д нэмсэний дараа IDE -ийг нээж, DS1307 номын сангаас оруулсан Example нэртэй жишээг нээнэ үү.

Анхааруулга: Жишээн дээр тохируулгын гогцоонд rtc.set () функцийг ашигладаг. Энэ функцэд дурдсанчлан одоогийн огноо, цагийн аргументыг дамжуулна уу. Жишээ ноорог дээр энэ мэдэгдлийг тайлбарлах болно. Сэтгэгдлээ бичиж, ноорогоо байршуулна уу. Ноорог байршуулсны дараа мэдэгдлийг дахин тайлбарлаж, ноорогоо байршуулна уу. Хэрэв энэ нь хийгдээгүй бол Arduino UNO -ийн самбарыг дахин асаах эсвэл асаах бүртээ таны тохируулсан огноо, цагийг дахин дахин тохируулж, яг одоо цаг, огноог унших боломжгүй болно.

/* DS1307 RTC (Real-Time-Clock) жишээ

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

#"Wire.h" -ийг оруулна уу

#"DS1307.h" -ийг оруулна уу

DS1307 rtc;

void setup () { /*init Serial port* / Serial.begin (9600); байхад (! Цуваа); /*цуваа порт холбогдохыг хүлээх - зөвхөн Леонардод хэрэгтэй*/

/*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 (); }

void loop () {uint8_t сек, мин, цаг, өдөр, сар; uint16_t жил;

/*RTC -ээс цаг авах*/ rtc.get (& сек, & мин, & цаг, & өдөр, сар, жил);

/*цуваа гаралт*/ Serial.print ("\ nЦаг:"); Цуваа.хэвлэх (цаг, DEC); Serial.print (":"); Цуваа.хэвлэх (мин, DEC); Serial.print (":"); Цуваа.хэвлэх (сек, DEC);

Serial.print ("\ nОгноо:"); Serial.print (өдөр, DEC); Serial.print ("."); Serial.print (сар, DEC); Serial.print ("."); Цуваа.хэвлэх (он, СЕХ);

/*секунд хүлээх*/ саатал (1000); }

Дээрх кодыг хуулж, arduino самбартаа оруулна уу

Алхам 4: Цаг авах

Цаг авах
Цаг авах
Цаг авах
Цаг авах

Бүх зүйлийг хооронд нь холбож, кодыг arduino самбартаа оруулсны дараа arduino ide -дээ цуваа дэлгэцийг нээгээд дараа нь миний цагийг харж байгаа шигээ сериал монитор дээрээ миний огноо, цагийг авах боломжтой болно. Миний сериал дэлгэц дээрх огноог демо хэлбэрээр гаргахын тулд дээрх зургийн гаралтыг үзээд RTC цагийг төсөлдөө нэмж оруулаарай.

Зөвлөмж болгож буй: