Innehållsförteckning:

Enkel digital klocka med Arduino Nano & DS1307: 4 steg
Enkel digital klocka med Arduino Nano & DS1307: 4 steg

Video: Enkel digital klocka med Arduino Nano & DS1307: 4 steg

Video: Enkel digital klocka med Arduino Nano & DS1307: 4 steg
Video: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, November
Anonim
Enkel digital klocka med Arduino Nano & DS1307
Enkel digital klocka med Arduino Nano & DS1307

I den här artikeln kommer jag att visa dig en handledning för att göra en digital klocka med Arduino. Arduino -kortet som jag använder är Arduino Nano V3, DS1307 som tidsleverantör, MAX7219 7 Segment som klockskärmen.

Innan du går in i handledningen rekommenderar jag att du är bekant med att använda Arduino -enheter och tillbehör. Detta kommer att göra det lättare för dig att följa handledningen som jag visade.

Om du inte är bekant med att använda Arduino -brädor, oroa dig inte.

Du kan läsa den här artikeln för att värma upp:

  • Hur man använder Arduino Nano
  • MAX7219 7-segment med Arduino
  • Hur man använder DS1307 med Arduino

Steg 1: Obligatoriska komponenter

Obligatoriska komponenter
Obligatoriska komponenter
Obligatoriska komponenter
Obligatoriska komponenter
Obligatoriska komponenter
Obligatoriska komponenter

Det här är komponenterna vi behöver för att skapa en digital klocka:

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

Bibliotek krävs:

  • Tråd
  • LedControl
  • RTClib

Steg 2: Montera alla komponenter

Montera alla komponenter
Montera alla komponenter

Om alla komponenter har erhållits, Nu är det dags att montera.

Se beskrivningen nedan eller se bilden ovan:

Arduino till RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino till MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

När alla komponenter är installerade fortsätter du till programmeringsavsnittet.

Steg 3: Programmering

kopiera och klistra in denna skiss i skissen som du gjorde. Ladda sedan upp programmet till arduno -kortet

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

RTC_DS1307 rtc;

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

void setup () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Det gick inte att hitta RTC"); medan (1); } if (! rtc.isrunning ()) {Serial.println ("RTC körs INTE!"); // följande rad anger RTC till datum och tid då denna skiss sammanställdes // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Denna rad anger RTC med ett tydligt datum och tid, till exempel för att ställa in // 21 januari 2014 klockan 03.00 skulle du ringa: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.avstängning (0, falskt); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime nu = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, nu. sekund ()/10, falskt); lc.setChar (0, 2, '-', false); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, nu. minut ()/10, falskt); lc.setChar (0, 5, '-', false); lc.setDigit (0, 6, nu. timme ()%10, falskt); lc.setDigit (0, 7, nu. timme ()/10, falskt); }

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

{lc.clearDisplay (0); }

if (now.second ()> = 31 && now.second () <40) {lc.setDigit (0, 6, now.day ()%10, true); lc.setDigit (0, 7, nu. dag ()/10, falskt); lc.setDigit (0, 4, now.month ()%10, true); lc.setDigit (0, 5, now.month ()/10, false); lc.setDigit (0, 0, (nu. år ()%1000)%10, falskt); lc.setDigit (0, 1, (nu. år ()%1000)/10, falskt); lc.setDigit (0, 2, (nu. år ()%1000)/100, falskt); lc.setDigit (0, 3, nu. år ()/1000, falskt); }}

Steg 4: Resultat

När alla steg har lyckats är detta resultatet som du kommer att se: (titta på video)

var 31: e sekund till 40: e sekund. 7 segment visar datumet. Med undantag för den andra kommer 7 segment att visa klockan

Rekommenderad: