Taula de continguts:

Rellotge digital senzill amb Arduino Nano i DS1307: 4 passos
Rellotge digital senzill amb Arduino Nano i DS1307: 4 passos

Vídeo: Rellotge digital senzill amb Arduino Nano i DS1307: 4 passos

Vídeo: Rellotge digital senzill amb Arduino Nano i DS1307: 4 passos
Vídeo: MIDI-барабаны Arduino с пьезо-дисковыми триггерами (со схемой и кодом) 2024, De novembre
Anonim
Rellotge digital senzill amb Arduino Nano i DS1307
Rellotge digital senzill amb Arduino Nano i DS1307

En aquest article us mostraré un tutorial per fer un rellotge digital amb Arduino.. La placa Arduino que faig servir és Arduino Nano V3, DS1307 com a proveïdor de dades de temps, MAX7219 7 Segment com a pantalla del rellotge.

abans d’entrar al tutorial, us recomano que estigueu familiaritzat amb l’ús de dispositius i accessoris Arduino. Això us facilitarà el seguiment del tutorial que he mostrat.

Si no esteu familiaritzat amb l’ús de plaques Arduino, no us preocupeu.

Podeu llegir aquest article per escalfar:

  • Com utilitzar Arduino Nano
  • MAX7219 7 segments amb Arduino
  • Com utilitzar DS1307 amb Arduino

Pas 1: components necessaris

Components obligatoris
Components obligatoris
Components obligatoris
Components obligatoris
Components obligatoris
Components obligatoris

Aquests són els components que necessitem per fer un rellotge digital:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7 Segment
  • Jumper Wire
  • USBmini
  • Taula de projectes

Biblioteca obligatòria:

  • Filferro
  • LedControl
  • RTClib

Pas 2: Muntar tots els components

Muntar tots els components
Muntar tots els components

Si s’han obtingut tots els components, ara toca muntar-los.

Consulteu la descripció següent o vegeu la imatge superior:

Arduino a RTC DS1307

GND => GND

+ 5V => VCC

A4 => SDA

A5 => SCL

Arduino a MAX7219

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Un cop instal·lats tots els components, aneu a la secció de programació.

Pas 3: Programació

copieu i enganxeu aquest esbós a l'esbós que heu fet. Després carregueu el programa al tauler arduno

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

RTC_DS1307 rtc;

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

configuració nul·la () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("No s'ha pogut trobar RTC"); mentre que (1); } if (! rtc.isrunning ()) {Serial.println ("RTC NO s'està executant!"); // següent línia estableix el RTC a la data i hora en què es va compilar aquest esbós // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Aquesta línia defineix el RTC amb una data i hora explícites, per exemple, per establir // el 21 de gener de 2014 a les 3:00 de la matinada a la qual trucaríeu: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

bucle buit () {

Data i hora ara = 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, '-', fals); lc.setDigit (0, 3, now.minute ()% 10, fals); lc.setDigit (0, 4, now.minute () / 10, false); lc.setChar (0, 5, '-', fals); lc.setDigit (0, 6, now.hour ()% 10, fals); 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, now.month ()% 10, true); lc.setDigit (0, 5, now.month () / 10, false); lc.setDigit (0, 0, (now.year ()% 1000)% 10, fals); lc.setDigit (0, 1, (now.year ()% 1000) / 10, fals); lc.setDigit (0, 2, (now.year ()% 1000) / 100, false); lc.setDigit (0, 3, now.year () / 1000, false); }}

Pas 4: resultat

Després que tots els passos tinguin èxit, aquest és el resultat que veureu: (veure vídeo)

cada 31è segon al 40è segon. 7 segments mostraran la data. Excepte aquest segon, 7 segments mostraran el rellotge

Recomanat: