Turinys:

Paprastas skaitmeninis laikrodis naudojant „Arduino Nano“ir DS1307: 4 žingsniai
Paprastas skaitmeninis laikrodis naudojant „Arduino Nano“ir DS1307: 4 žingsniai

Video: Paprastas skaitmeninis laikrodis naudojant „Arduino Nano“ir DS1307: 4 žingsniai

Video: Paprastas skaitmeninis laikrodis naudojant „Arduino Nano“ir DS1307: 4 žingsniai
Video: Утилизация светодиодных экранов DVD-плееров — несвязанные действия 2024, Lapkritis
Anonim
Paprastas skaitmeninis laikrodis naudojant „Arduino Nano“ir DS1307
Paprastas skaitmeninis laikrodis naudojant „Arduino Nano“ir DS1307

Šiame straipsnyje aš jums parodysiu, kaip sukurti skaitmeninį laikrodį naudojant „Arduino“. „Arduino“plokštė, kurią naudoju, yra „Arduino Nano V3“, DS1307 kaip laiko duomenų teikėjas, MAX7219 7 segmentas - laikrodžio ekranas.

prieš įeinant į mokymo programą, rekomenduoju susipažinti su „Arduino“įrenginių ir priedų naudojimu. Taip jums bus lengviau sekti mano parodytą pamoką.

Jei nesate susipažinę su „Arduino“plokščių naudojimu, nesijaudinkite.

Norėdami sušilti, galite perskaityti šį straipsnį:

  • Kaip naudotis „Arduino Nano“
  • MAX7219 7 segmentų naudojant „Arduino“
  • Kaip naudotis DS1307 naudojant „Arduino“

1 žingsnis: reikalingi komponentai

Būtini komponentai
Būtini komponentai
Būtini komponentai
Būtini komponentai
Būtini komponentai
Būtini komponentai

šiems komponentams mums reikia skaitmeninio laikrodžio:

  • „Arduino Nano V3“
  • RTC DS1307
  • MAX7210 7Segmentas
  • Jumper Wire
  • USB mini
  • Projekto valdyba

Reikalinga biblioteka:

  • Viela
  • „LedControl“
  • RTClib

2 žingsnis: Surinkite visus komponentus

Surinkite visus komponentus
Surinkite visus komponentus

Jei visi komponentai buvo gauti, dabar laikas surinkti.

Žiūrėkite žemiau esantį aprašymą arba paveikslėlį aukščiau:

„Arduino“į RTC DS1307

GND => GND

+5 V => VCC

A4 => SDA

A5 => SCL

Nuo Arduino iki MAX7219

+5 V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Įdiegę visus komponentus, pereikite prie programavimo skyriaus.

3 žingsnis: programavimas

nukopijuokite ir įklijuokite šį eskizą į jūsų sukurtą eskizą. Po to įkelkite programą į arduno lentą

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

RTC_DS1307 rtc;

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

void setup () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Nepavyko rasti RTC"); tuo tarpu (1); } if (! rtc.isrunning ()) {Serial.println ("RTC neveikia!"); // kita eilutė nustato RTC datą ir laiką, kai šis eskizas buvo sudarytas // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Ši eilutė nustato RTC su konkrečia data ir laiku, pavyzdžiui, nustatyti // 2014 m. Sausio 21 d., 3 val., Kurį galėtumėte skambinti: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime dabar = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, dabar.sekundė ()/10, klaidinga); lc.setChar (0, 2, '-', klaidinga); lc.setDigit (0, 3, dabar.minute ()%10, false); lc.setDigit (0, 4, dabar.minute ()/10, false); lc.setChar (0, 5, '-', klaidinga); lc.setDigit (0, 6, now.hour ()%10, false); lc.setDigit (0, 7, dabar. valanda ()/10, klaidinga); }

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

{lc.clearDisplay (0); }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, true); lc.setDigit (0, 7, dabar.diena ()/10, klaidinga); lc.setDigit (0, 4, dabar. mėnuo ()%10, tiesa); lc.setDigit (0, 5, dabar. mėnuo ()/10, klaidinga); lc.setDigit (0, 0, (dabar.metai ()%1000)%10, klaidinga); lc.setDigit (0, 1, (dabar.metai ()%1000)/10, klaidinga); lc.setDigit (0, 2, (dabar.metai ()%1000)/100, klaidinga); lc.setDigit (0, 3, dabar.metai ()/1000, klaidinga); }}

4 žingsnis: rezultatas

Kai visi veiksmai bus sėkmingi, pamatysite tokį rezultatą: (žiūrėkite vaizdo įrašą)

kas 31–40 sekundžių. 7 segmentuose bus rodoma data. Išskyrus tą sekundę, laikrodis bus rodomas 7 segmentuose

Rekomenduojamas: