Obsah:

Jednoduché digitální hodiny využívající Arduino Nano a DS1307: 4 kroky
Jednoduché digitální hodiny využívající Arduino Nano a DS1307: 4 kroky

Video: Jednoduché digitální hodiny využívající Arduino Nano a DS1307: 4 kroky

Video: Jednoduché digitální hodiny využívající Arduino Nano a DS1307: 4 kroky
Video: SUT - Raspberry Pi 23.4.2013 2024, Červenec
Anonim
Jednoduché digitální hodiny využívající Arduino Nano a DS1307
Jednoduché digitální hodiny využívající Arduino Nano a DS1307

V tomto článku vám ukážu návod na výrobu digitálních hodin pomocí Arduina.. Deska Arduino, kterou používám, je Arduino Nano V3, DS1307 jako poskytovatel časových dat, MAX7219 7 Segment jako displej hodinek.

Než vstoupíte do výukového programu, doporučuji vám seznámit se s používáním zařízení a příslušenství Arduino. Díky tomu budete snáze sledovat tutoriál, který jsem ukázal.

Pokud nejste obeznámeni s používáním desek Arduino, nezoufejte.

Pro zahřátí si můžete přečíst tento článek:

  • Jak používat Arduino Nano
  • MAX7219 7segmentový pomocí Arduina
  • Jak používat DS1307 pomocí Arduina

Krok 1: Požadované součásti

Požadované součásti
Požadované součásti
Požadované součásti
Požadované součásti
Požadované součásti
Požadované součásti

toto jsou součásti, které potřebujeme k výrobě digitálních hodin:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 Segment
  • Propojovací drát
  • USB mini
  • Projektová rada

Požadovaná knihovna:

  • Drát
  • LedControl
  • RTClib

Krok 2: Sestavte všechny součásti

Sestavte všechny součásti
Sestavte všechny součásti

Pokud byly získány všechny součásti, je čas sestavit.

Podívejte se na popis níže nebo se podívejte na obrázek výše:

Arduino na RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino na MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Po instalaci všech komponent pokračujte do programovací části.

Krok 3: Programování

zkopírujte a vložte tuto skicu do náčrtu, který jste vytvořili. Poté nahrajte program na desku arduno

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

RTC_DS1307 rtc;

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

neplatné nastavení () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Nelze najít RTC"); zatímco (1); } if (! rtc.isrunning ()) {Serial.println („RTC NOT running!“); // následující řádek nastaví RTC na datum a čas, kdy byla tato skica sestavena // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Tento řádek nastavuje RTC s explicitním datem a časem, například pro nastavení // 21. ledna 2014 ve 3 hodiny ráno byste volali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

prázdná smyč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, '-', false); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, now.minute ()/10, false); lc.setChar (0, 5, '-', false); 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, nyní.měsíc ()%10, pravda); lc.setDigit (0, 5, now.month ()/10, false); lc.setDigit (0, 0, (nyní.rok ()%1000)%10, false); lc.setDigit (0, 1, (nyní.rok ()%1000)/10, false); lc.setDigit (0, 2, (nyní.rok ()%1000)/100, false); lc.setDigit (0, 3, now.year ()/1000, false); }}

Krok 4: Výsledek

Poté, co jsou všechny kroky úspěšné, uvidíte tento výsledek: (sledovat video)

každých 31 sekund až 40 sekund. 7 segmentů zobrazí datum. Kromě této sekundy budou hodiny zobrazeny v segmentu 7

Doporučuje: