Мазмұны:

Arduino Nano & DS1307 қолданатын қарапайым сандық сағат: 4 қадам
Arduino Nano & DS1307 қолданатын қарапайым сандық сағат: 4 қадам

Бейне: Arduino Nano & DS1307 қолданатын қарапайым сандық сағат: 4 қадам

Бейне: Arduino Nano & DS1307 қолданатын қарапайым сандық сағат: 4 қадам
Бейне: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Шілде
Anonim
Arduino Nano & DS1307 көмегімен қарапайым сандық сағат
Arduino Nano & DS1307 көмегімен қарапайым сандық сағат

Бұл мақалада мен сізге Arduino көмегімен цифрлық сағатты жасауға арналған оқулықты көрсетемін. Мен қолданатын Arduino тақтасы Arduino Nano V3, DS1307 уақыт деректері провайдері, MAX7219 7 сегменті сағат дисплейі.

оқулыққа кірмес бұрын, мен сізге Arduino құрылғылары мен аксессуарларын қолдануды білуді ұсынамын. Бұл мен көрсеткен оқулықты орындауды жеңілдетеді.

Егер сіз Arduino тақталарын қолдануды білмесеңіз, алаңдамаңыз.

Сіз жылыну үшін осы мақаланы оқи аласыз:

  • Arduino Nano қалай қолдануға болады
  • MAX7219 7 сегменті Arduino көмегімен
  • DS1307 Arduino көмегімен қалай қолдануға болады

1 -қадам: Қажетті компоненттер

Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер

бұл цифрлық сағатты жасау үшін бізге қажет компоненттер:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 сегменті
  • Jumper Wire
  • USB мини
  • Жоба тақтасы

Кітапхана қажет:

  • Сым
  • LedControl
  • RTClib

2 -қадам: барлық компоненттерді жинаңыз

Барлық компоненттерді жинаңыз
Барлық компоненттерді жинаңыз

Егер барлық компоненттер алынған болса, енді жинау уақыты келді.

Төмендегі сипаттаманы қараңыз немесе жоғарыдағы суретті қараңыз:

Arduino RTC DS1307 үшін

GND => GND

+5В => ВКС

A4 => SDA

A5 => SCL

Arduino MAX7219 дейін

+5В => ВКС

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 табылмады»); кезінде (1); } if (! rtc.isrunning ()) {Serial.println («RTC жұмыс істемейді!»); // келесі жол RTC -ті осы эскиз құрастырылған күн мен уақытқа орнатады // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))))); // Бұл жол РТК -ны нақты күн мен уақытпен белгілейді, мысалы, орнату үшін // 21 қаңтар 2014 ж. Таңғы 3 -те: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, жалған); 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, жалған); 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, шын); lc.setDigit (0, 7, now.day ()/10, жалған); 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, (қазір. жыл ()%1000)/10, жалған); lc.setDigit (0, 2, (қазір. жыл ()%1000)/100, жалған); lc.setDigit (0, 3, now.year ()/1000, жалған); }}

4 -қадам: Нәтиже

Барлық қадамдар сәтті аяқталғаннан кейін сіз келесі нәтижені көресіз: (бейнені қараңыз)

әр 31 секундтан 40 секундқа дейін. 7 сегментте күн көрсетіледі. Осы секундтан басқа 7 сегмент сағатты көрсетеді

Ұсынылған: