Innholdsfortegnelse:

Enkel digital klokke ved hjelp av Arduino Nano & DS1307: 4 trinn
Enkel digital klokke ved hjelp av Arduino Nano & DS1307: 4 trinn

Video: Enkel digital klokke ved hjelp av Arduino Nano & DS1307: 4 trinn

Video: Enkel digital klokke ved hjelp av Arduino Nano & DS1307: 4 trinn
Video: построить цифровые часы с помощью arduino, sunfounder, arduino project, diy 2024, November
Anonim
Enkel digital klokke med Arduino Nano og DS1307
Enkel digital klokke med Arduino Nano og DS1307

I denne artikkelen vil jeg vise deg en opplæring for å lage en digital klokke ved hjelp av Arduino.. Arduino -kortet som jeg bruker er Arduino Nano V3, DS1307 som tidsleverandør, MAX7219 7 Segment som klokkeskjerm.

Før du går inn i opplæringen, anbefaler jeg at du er kjent med bruk av Arduino -enheter og tilbehør. Dette vil gjøre det lettere for deg å følge opplæringen som jeg viste.

Hvis du ikke er kjent med å bruke Arduino -brett, ikke bekymre deg.

Du kan lese denne artikkelen for å varme opp:

  • Hvordan bruke Arduino Nano
  • MAX7219 7-segment med Arduino
  • Hvordan bruke DS1307 Bruke Arduino

Trinn 1: Nødvendige komponenter

Nødvendige komponenter
Nødvendige komponenter
Nødvendige komponenter
Nødvendige komponenter
Nødvendige komponenter
Nødvendige komponenter

Dette er komponentene vi trenger for å lage en digital klokke:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7Segment
  • Jumper Wire
  • USBmini
  • Prosjektstyret

Bibliotek påkrevd:

  • Metalltråd
  • LedControl
  • RTClib

Trinn 2: Sett sammen alle komponentene

Sett sammen alle komponentene
Sett sammen alle komponentene

Hvis alle komponentene er oppnådd, er det nå på tide å montere.

Se beskrivelsen nedenfor eller se bildet over:

Arduino til RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino til MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Etter at alle komponentene er installert, fortsetter du til programmeringsdelen.

Trinn 3: Programmering

kopier og lim inn denne skissen i skissen du laget. Last deretter opp programmet til arduno -brettet

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

RTC_DS1307 rtc;

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

ugyldig oppsett () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Kunne ikke finne RTC"); mens (1); } hvis (! rtc.isrunning ()) {Serial.println ("RTC kjører IKKE!"); // følgende linje angir RTC til dato og klokkeslett denne skissen ble kompilert // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Denne linjen angir RTC med en eksplisitt dato og klokkeslett, for eksempel for å angi // 21. januar 2014 klokken 03.00 du vil ringe: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.stopp (0, usant); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime nå = 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, nå. time ()%10, usant); lc.setDigit (0, 7, nå. time ()/10, usann); }

hvis (nå. sekund () == 30 || nå. sekund () == 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, (nå. år ()%1000)%10, usant); lc.setDigit (0, 1, (nå. år ()%1000)/10, usant); lc.setDigit (0, 2, (nå. år ()%1000)/100, usant); lc.setDigit (0, 3, nå. år ()/1000, usant); }}

Trinn 4: Resultat

Etter at alle trinnene er vellykket, er dette resultatet du vil se: (se video)

hvert 31. til 40. sekund. 7 segmenter vil vise datoen. Bortsett fra det andre, vil 7 segmenter vise klokken

Anbefalt: