Sisällysluettelo:

Yksinkertainen digitaalinen kello Arduino Nanon ja DS1307: 4 askeleen avulla
Yksinkertainen digitaalinen kello Arduino Nanon ja DS1307: 4 askeleen avulla

Video: Yksinkertainen digitaalinen kello Arduino Nanon ja DS1307: 4 askeleen avulla

Video: Yksinkertainen digitaalinen kello Arduino Nanon ja DS1307: 4 askeleen avulla
Video: построить цифровые часы с помощью arduino, sunfounder, arduino project, diy 2024, Heinäkuu
Anonim
Yksinkertainen digitaalinen kello Arduino Nanon ja DS1307: n avulla
Yksinkertainen digitaalinen kello Arduino Nanon ja DS1307: n avulla

Tässä artikkelissa näytän sinulle opetusohjelman digitaalisen kellon valmistamiseksi Arduinolla. Käyttämäni Arduino -kortti on Arduino Nano V3, DS1307 aikatietojen tarjoajana, MAX7219 7 Segmentti kellonäytönä.

Ennen kuin pääset opetusohjelmaan, suosittelen, että olet perehtynyt Arduino -laitteiden ja -tarvikkeiden käyttöön. Tämä helpottaa näyttämäni opetusohjelman noudattamista.

Jos et tunne Arduino -levyjen käyttöä, älä huoli.

Voit lukea tämän artikkelin lämmittääksesi:

  • Kuinka käyttää Arduino Nano
  • MAX7219 7-segmentti Arduinon avulla
  • Kuinka käyttää DS1307: tä Arduinon avulla

Vaihe 1: Tarvittavat komponentit

Pakolliset osat
Pakolliset osat
Pakolliset osat
Pakolliset osat
Pakolliset osat
Pakolliset osat

Nämä ovat komponentteja, joita tarvitsemme digitaalisen kellon valmistamiseksi:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7Segmentti
  • Hyppyjohdin
  • USB -mini
  • Projektilauta

Kirjasto vaaditaan:

  • Johto
  • LedControl
  • RTClib

Vaihe 2: Kokoa kaikki komponentit

Kokoa kaikki komponentit
Kokoa kaikki komponentit

Jos kaikki komponentit on hankittu, nyt on aika koota.

Katso alla oleva kuvaus tai yllä oleva kuva:

Arduino RTC DS1307: lle

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino - MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Kun kaikki komponentit on asennettu, jatka ohjelmointiosioon.

Vaihe 3: Ohjelmointi

kopioi ja liitä tämä luonnos tekemääsi luonnokseen. Tämän jälkeen lataa ohjelma arduno -taululle

#Sisällytä #Sisällytä "LedControl.h" #Sisällytä "RTClib.h"

RTC_DS1307 rtc;

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

void setup () {

Sarja.alku (57600); if (! rtc.begin ()) {Serial.println ("RTC: tä ei löytynyt"); kun taas (1); } if (! rtc.isrunning ()) {Serial.println ("RTC EI ole käynnissä!"); // seuraava rivi asettaa RTC: lle päivämäärän ja kellonajan, jolloin tämä luonnos laadittiin // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Tämä rivi asettaa RTC: lle nimenomaisen päivämäärän ja kellonajan, esimerkiksi asetettavaksi // 21. tammikuuta 2014 klo 3, jota kutsut: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime now = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, nyt. toinen ()/10, epätosi); lc.setChar (0, 2, '-', false); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, nyt. minuutti ()/10, epätosi); 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, nyt. kuukausi ()%10, tosi); lc.setDigit (0, 5, nyt. kuukausi ()/10, epätosi); lc.setDigit (0, 0, (nyt. vuosi ()%1000)%10, false); lc.setDigit (0, 1, (nyt. vuosi ()%1000)/10, false); lc.setDigit (0, 2, (nyt. vuosi ()%1000)/100, epätosi); lc.setDigit (0, 3, nyt. vuosi ()/1000, epätosi); }}

Vaihe 4: Tulos

Kun kaikki vaiheet ovat onnistuneet, näet tämän tuloksen: (katso video)

joka 31. sekunti - 40. sekunti. 7 segmentit näyttävät päivämäärän. Toista lukuun ottamatta kello näkyy 7 segmentissä

Suositeltava: