Мазмуну:

Жөнөкөй санариптик саат Arduino Nano & DS1307 колдонуу: 4 кадам
Жөнөкөй санариптик саат Arduino Nano & DS1307 колдонуу: 4 кадам

Video: Жөнөкөй санариптик саат Arduino Nano & DS1307 колдонуу: 4 кадам

Video: Жөнөкөй санариптик саат Arduino Nano & DS1307 колдонуу: 4 кадам
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Июль
Anonim
Arduino Nano & DS1307 колдонуу менен жөнөкөй санариптик саат
Arduino Nano & DS1307 колдонуу менен жөнөкөй санариптик саат

Бул макалада мен сизге Arduino менен санариптик саат жасоо боюнча үйрөткүчтү көрсөтөм.. Мен колдонгон Arduino тактасы Arduino Nano V3, DS1307 убакыт маалымат провайдери катары, MAX7219 7 Segment саат дисплейи.

үйрөткүчкө кирерден мурун, Arduino түзмөктөрүн жана аксессуарларын колдонуу менен таанышууңузду сунуштайм. Бул мен көрсөткөн окуу куралын аткарууну жеңилдетет.

Эгерде сиз Arduino такталарын колдонуу менен тааныш болбосоңуз, кабатыр болбоңуз.

Бул макаланы жылытуу үчүн окуй аласыз:

  • Arduino Nano кантип колдонсо болот
  • MAX7219 7-сегмент Arduino колдонуу
  • DS1307ди кантип колдонуу керек Arduino колдонуу

1 -кадам: Керектүү компоненттер

Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер

бул санариптик саат жасоо үчүн керек болгон компоненттер:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 Сегмент
  • Jumper Wire
  • USBmini
  • Project Board

Китепкана талап кылынат:

  • Зым
  • LedControl
  • RTClib

2 -кадам: Бардык компоненттерди чогултуу

Бардык компоненттерди чогултуу
Бардык компоненттерди чогултуу

Эгерде бардык компоненттер алынган болсо, анда чогултуу убактысы келди.

Төмөндөгү сүрөттөмөнү караңыз же жогорудагы сүрөттү караңыз:

Arduino RTC DS1307ге

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

MAX7219 чейин Arduino

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Бардык компоненттер орнотулгандан кийин программалоо бөлүмүнө өтүңүз.

3 -кадам: Программалоо

бул эскизди көчүрүп, өзүңүз жасаган эскизге чаптаңыз. Андан кийин программаны arduno тактасына жүктөңүз

#кошуу #кошуу "LedControl.h" #кошуу "RTClib.h"

RTC_DS1307 rtc;

LedControl lc = LedControl (12, 11, 10, 1);

жараксыз орнотуу () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("RTC табылган жок"); while (1); } if (! rtc.isrunning ()) {Serial.println ("RTC иштебейт!"); // кийинки сызык бул эскиз түзүлгөн датаны жана убакытты РТКга коёт // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Бул линия РТТны так датасы жана убактысы менен белгилейт, мисалы: коюу үчүн // 21 -январь, 2014 -ж., Түнкү саат 3: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime now = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, now.second ()/10, false); lc.setChar (0, 2, '-', жалган); lc.setDigit (0, 3, now.minute ()%10, жалган); lc.setDigit (0, 4, now.minute ()/10, false); lc.setChar (0, 5, '-', жалган); lc.setDigit (0, 6, now.hour ()%10, false); lc.setDigit (0, 7, now.hour ()/10, false); }

if (now.second () == 30 || now.econd () == 40)

{lc.clearDisplay (0); }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, true); lc.setDigit (0, 7, now.day ()/10, false); lc.setDigit (0, 4, now.month ()%10, туура); lc.setDigit (0, 5, now.month ()/10, false); lc.setDigit (0, 0, (азыр.жыл) (%1000)%10, жалган); lc.setDigit (0, 1, (now.year ()%1000)/10, false); lc.setDigit (0, 2, (now.year ()%1000)/100, жалган); lc.setDigit (0, 3, now.year ()/1000, false); }}

4 -кадам: Жыйынтык

Бардык кадамдар ийгиликтүү болгондон кийин, сиз көрө турган жыйынтык: (видеону көрүү)

ар бир 31 -секундадан 40 -секундага чейин. 7 Сегменттер датаны көрсөтөт. Ошол секунддан башка 7 сегмент саатты көрсөтөт

Сунушталууда: