Obsah:

Jednoduché digitálne hodiny s použitím Arduino Nano a DS1307: 4 kroky
Jednoduché digitálne hodiny s použitím Arduino Nano a DS1307: 4 kroky

Video: Jednoduché digitálne hodiny s použitím Arduino Nano a DS1307: 4 kroky

Video: Jednoduché digitálne hodiny s použitím Arduino Nano a DS1307: 4 kroky
Video: Build Seven Segment LED clock with Arduino and DS3231 - Robojax 2024, November
Anonim
Jednoduché digitálne hodiny s použitím Arduino Nano a DS1307
Jednoduché digitálne hodiny s použitím Arduino Nano a DS1307

V tomto článku vám ukážem návod na výrobu digitálnych hodín pomocou Arduina.. Doska Arduino, ktorú používam, je Arduino Nano V3, DS1307 ako poskytovateľ časových údajov, MAX7219 7 Segment ako displej hodiniek.

Pred vstupom do tutoriálu vám odporúčam zoznámiť sa s používaním zariadení a príslušenstva Arduino. To vám uľahčí dodržiavanie tutoriálu, ktorý som ukázal.

Ak nie ste oboznámení s používaním dosiek Arduino, nebojte sa.

Na zahriatie si môžete prečítať tento článok:

  • Ako používať Arduino Nano
  • MAX7219 7-segmentový pomocou Arduina
  • Ako používať DS1307 pomocou Arduina

Krok 1: Požadované komponenty

Požadované komponenty
Požadované komponenty
Požadované komponenty
Požadované komponenty
Požadované komponenty
Požadované komponenty

toto sú komponenty, ktoré potrebujeme na výrobu digitálnych hodín:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 Segment
  • Prepojovací drôt
  • USBmini
  • Rada projektu

Potrebná knižnica:

  • Drôt
  • LedControl
  • RTClib

Krok 2: Zostavte všetky súčasti

Zostavte všetky komponenty
Zostavte všetky komponenty

Ak boli získané všetky súčasti, teraz je čas na montáž.

Pozrite sa na popis nižšie alebo na obrázok vyššie:

Arduino na RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino až MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Po inštalácii všetkých komponentov pokračujte do sekcie programovania.

Krok 3: Programovanie

skopírujte a prilepte tento náčrt do skice, ktorú ste vytvorili. Potom nahrajte program na dosku arduno

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

RTC_DS1307 rtc;

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

neplatné nastavenie () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Nepodarilo sa nájsť RTC"); pričom (1); } if (! rtc.isrunning ()) {Serial.println („RTC NIE JE spustený!“); // nasledujúci riadok nastaví RTC na dátum a čas, kedy bol tento náčrt zostavený // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Tento riadok nastavuje RTC s explicitným dátumom a časom, napríklad na nastavenie // 21. januára 2014 o 3:00 by ste zavolali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

prázdna slučka () {

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, '-', nepravda); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, now.minute ()/10, false); lc.setChar (0, 5, '-', nepravda); lc.setDigit (0, 6, now.hour ()%10, false); lc.setDigit (0, 7, now.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, true); lc.setDigit (0, 7, now.day ()/10, false); lc.setDigit (0, 4, teraz.mesiac ()%10, pravda); lc.setDigit (0, 5, teraz.mesiac ()/10, nepravda); lc.setDigit (0, 0, (teraz.rok ()%1000)%10, false); lc.setDigit (0, 1, (teraz.rok ()%1000)/10, nepravda); lc.setDigit (0, 2, (teraz.rok ()%1000)/100, nepravda); lc.setDigit (0, 3, now.year ()/1000, false); }}

Krok 4: Výsledok

Keď budú všetky kroky úspešné, uvidíte tento výsledok: (pozrieť si video)

každých 31 sekúnd až 40 sekúnd. 7 segmentov zobrazí dátum. Okrem tejto sekundy budú hodiny zobrazovať 7 segmenty

Odporúča: