Indholdsfortegnelse:

Enkelt digitalt ur ved hjælp af Arduino Nano & DS1307: 4 trin
Enkelt digitalt ur ved hjælp af Arduino Nano & DS1307: 4 trin

Video: Enkelt digitalt ur ved hjælp af Arduino Nano & DS1307: 4 trin

Video: Enkelt digitalt ur ved hjælp af Arduino Nano & DS1307: 4 trin
Video: построить цифровые часы с помощью arduino, sunfounder, arduino project, diy 2024, November
Anonim
Enkelt digitalt ur ved hjælp af Arduino Nano & DS1307
Enkelt digitalt ur ved hjælp af Arduino Nano & DS1307

I denne artikel vil jeg vise dig en vejledning til at lave et digitalt ur ved hjælp af Arduino.. Det Arduino -kort, jeg bruger, er Arduino Nano V3, DS1307 som tidsdataudbyder, MAX7219 7 Segment som urskærmen.

Inden jeg går ind i selvstudiet, anbefaler jeg, at du er fortrolig med at bruge Arduino -enheder og tilbehør. Dette vil gøre det lettere for dig at følge vejledningen, som jeg viste.

Hvis du ikke er bekendt med at bruge Arduino -tavler, skal du ikke bekymre dig.

Du kan læse denne artikel for at varme op:

  • Sådan bruges Arduino Nano
  • MAX7219 7-segment ved hjælp af Arduino
  • Sådan bruges DS1307 Brug af Arduino

Trin 1: Påkrævede komponenter

Påkrævede komponenter
Påkrævede komponenter
Påkrævede komponenter
Påkrævede komponenter
Påkrævede komponenter
Påkrævede komponenter

Disse komponenter er nødvendige for at lave et digitalt ur:

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

Bibliotek påkrævet:

  • Tråd
  • LedControl
  • RTClib

Trin 2: Saml alle komponenter

Saml alle komponenter
Saml alle komponenter

Hvis alle komponenter er opnået, er det nu tid til at samle.

Se beskrivelsen herunder eller se billedet ovenfor:

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

Når alle komponenter er installeret, skal du fortsætte til programmeringsafsnittet.

Trin 3: Programmering

kopier og indsæt denne skitse i den skitse, du lavede. Herefter uploades programmet til arduno -tavlen

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

RTC_DS1307 rtc;

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

ugyldig opsætning () {

Serial.begin (57600); hvis (! rtc.begin ()) {Serial.println ("Kunne ikke finde RTC"); mens (1); } hvis (! rtc.isrunning ()) {Serial.println ("RTC kører IKKE!"); // følgende linje indstiller RTC til dato og klokkeslæt, hvor denne skitse blev udarbejdet // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Denne linje indstiller RTC med en eksplicit dato og tid, f.eks. Til at indstille // 21. januar 2014 kl. 03.00, du vil kalde: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.lukning (0, falsk); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime nu = rtc.now (); hvis (nu.sekund () 40) {lc.setDigit (0, 0, nu.sekund ()%10, falsk); lc.setDigit (0, 1, nu. sekund ()/10, falsk); lc.setChar (0, 2, '-', falsk); lc.setDigit (0, 3, nu. minut ()%10, falsk); lc.setDigit (0, 4, nu. minut ()/10, falsk); lc.setChar (0, 5, '-', falsk); lc.setDigit (0, 6, nu. time ()%10, falsk); lc.setDigit (0, 7, nu. time ()/10, falsk); }

hvis (nu. sekund () == 30 || nu. sekund () == 40)

{lc.clearDisplay (0); }

hvis (nu.sekund ()> = 31 && nu.sekund () <40) {lc.setDigit (0, 6, nu. dag ()%10, sand); lc.setDigit (0, 7, nu. dag ()/10, falsk); lc.setDigit (0, 4, nu. måned ()%10, sand); lc.setDigit (0, 5, nu. måned ()/10, falsk); lc.setDigit (0, 0, (nu. år ()%1000)%10, falsk); lc.setDigit (0, 1, (nu. år ()%1000)/10, falsk); lc.setDigit (0, 2, (nu. år ()%1000)/100, falsk); lc.setDigit (0, 3, nu. år ()/1000, falsk); }}

Trin 4: Resultat

Når alle trin er vellykkede, er dette det resultat, du vil se: (se video)

hvert 31. sekund til 40. sekund. 7 segmenter viser datoen. Bortset fra det andet, vil 7 segment vise uret

Anbefalede: