Mündəricat:

Arduino Nano və DS1307 istifadə edərək sadə rəqəmsal saat: 4 addım
Arduino Nano və DS1307 istifadə edərək sadə rəqəmsal saat: 4 addım

Video: Arduino Nano və DS1307 istifadə edərək sadə rəqəmsal saat: 4 addım

Video: Arduino Nano və DS1307 istifadə edərək sadə rəqəmsal saat: 4 addım
Video: 7 projects Build LED LCD Alarm Clock using DS1307 with Arduino | Lesson 105 2024, Noyabr
Anonim
Arduino Nano və DS1307 istifadə edərək sadə rəqəmsal saat
Arduino Nano və DS1307 istifadə edərək sadə rəqəmsal saat

Bu yazıda sizə Arduino istifadə edərək rəqəmsal saat düzəltmək üçün bir dərslik göstərəcəyəm.. İstifadə etdiyim Arduino lövhəsi, zaman göstəricisi olaraq Arduino Nano V3, DS1307, saat ekranı olaraq MAX7219 7 Segmentidir.

Dərsliyə girməzdən əvvəl Arduino cihazlarından və aksesuarlarından istifadə ilə tanış olmağı məsləhət görürəm. Bu göstərdiyim təlimatı izləməyi asanlaşdıracaq.

Arduino lövhələrindən istifadə ilə tanış deyilsinizsə, narahat olmayın.

İstiləşmək üçün bu məqaləni oxuya bilərsiniz:

  • Arduino Nano'dan necə istifadə olunur
  • MAX7219 Arduino istifadə edərək 7 seqment
  • DS1307 Arduino istifadə edərək necə istifadə olunur

Addım 1: Tələb olunan komponentlər

Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər
Tələb olunan komponentlər

rəqəmsal saat etmək üçün lazım olan komponentlər bunlardır:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7Segment
  • Jumper Tel
  • USB mini
  • Layihə lövhəsi

Kitabxana tələb olunur:

  • Tel
  • LedControl
  • RTClib

Addım 2: Bütün komponentləri yığın

Bütün komponentləri yığın
Bütün komponentləri yığın

Bütün komponentlər əldə edilmişdirsə, indi yığmağın vaxtı gəldi.

Aşağıdakı təsvirə baxın və ya yuxarıdakı şəklə baxın:

Arduino -dan RTC DS1307 -ə

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino -dan MAX7219 -a qədər

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Bütün komponentlər quraşdırıldıqdan sonra proqramlaşdırma bölməsinə keçin.

Addım 3: Proqramlaşdırma

kopyalayın və bu eskizi hazırladığınız eskizə yapışdırın. Bundan sonra proqramı arduno lövhəsinə yükləyin

#include #include "LedControl.h" #include "RTClib.h"

RTC_DS1307 rtc;

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

boş quraşdırma () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("RTC tapıla bilmədi"); isə (1); } if (! rtc.isrunning ()) {Serial.println ("RTC işləmir!"); // aşağıdakı xətt RTC -ni bu eskizin tərtib edildiyi tarix və saata təyin edir // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Bu xətt RTC -ni açıq bir tarix və vaxtla təyin edir, məsələn, 21 Yanvar 2014 -ü saat 3 -də zəng edərdiniz: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, yanlış); lc.setIntensity (0, 8); lc.clearDisplay (0); }

boşluq döngəsi () {

DateTime indi = 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, '-', yalan); lc.setDigit (0, 3, now.minute ()%10, yalan); lc.setDigit (0, 4, now.minute ()/10, false); lc.setChar (0, 5, '-', yalan); lc.setDigit (0, 6, indi.hour ()%10, yalan); lc.setDigit (0, 7, indi.hour ()/10, false); }

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

{lc.clearDisplay (0); }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, doğru); lc.setDigit (0, 7, now.day ()/10, yalan); lc.setDigit (0, 4, now.month ()%10, doğru); lc.setDigit (0, 5, now.month ()/10, false); lc.setDigit (0, 0, (indi.yıl ()%1000)%10, yalan); lc.setDigit (0, 1, (indi.yıl ()%1000)/10, yalan); lc.setDigit (0, 2, (indi.yıl ()%1000)/100, yalan); lc.setDigit (0, 3, indi.yıl ()/1000, yalan); }}

Addım 4: Nəticə

Bütün addımlar uğurla başa çatdıqdan sonra görəcəyiniz nəticə budur: (videoya baxın)

hər 31 saniyədən 40 saniyəyə qədər. 7 Segmentlər tarixi göstərəcək. Bu saniyə istisna olmaqla, 7 seqment saatı göstərəcək

Tövsiyə: