Satura rādītājs:

Vienkāršs digitālais pulkstenis, izmantojot Arduino Nano un DS1307: 4 soļi
Vienkāršs digitālais pulkstenis, izmantojot Arduino Nano un DS1307: 4 soļi

Video: Vienkāršs digitālais pulkstenis, izmantojot Arduino Nano un DS1307: 4 soļi

Video: Vienkāršs digitālais pulkstenis, izmantojot Arduino Nano un DS1307: 4 soļi
Video: 7 проектов. Сборка светодиодного ЖК-будильника с использованием DS1307 и Arduino | Урок 105 2024, Novembris
Anonim
Vienkāršs digitālais pulkstenis, izmantojot Arduino Nano un DS1307
Vienkāršs digitālais pulkstenis, izmantojot Arduino Nano un DS1307

Šajā rakstā es jums parādīšu pamācību digitālā pulksteņa izgatavošanai, izmantojot Arduino.. Arduino tāfele, kuru izmantoju, ir Arduino Nano V3, DS1307 kā laika datu nodrošinātājs, MAX7219 7 Segments kā pulksteņa displejs.

pirms apmācības uzsākšanas iesaku iepazīties ar Arduino ierīču un piederumu izmantošanu. Tādējādi jums būs vieglāk sekot manis parādītajai apmācībai.

Ja neesat pazīstams ar Arduino dēļu izmantošanu, neuztraucieties.

Lai iesildītos, varat izlasīt šo rakstu:

  • Kā lietot Arduino Nano
  • MAX7219 7 segmentu, izmantojot Arduino
  • Kā lietot DS1307, izmantojot Arduino

1. darbība. Nepieciešamās sastāvdaļas

Nepieciešamās sastāvdaļas
Nepieciešamās sastāvdaļas
Nepieciešamās sastāvdaļas
Nepieciešamās sastāvdaļas
Nepieciešamās sastāvdaļas
Nepieciešamās sastāvdaļas

Šie ir komponenti, kas mums nepieciešami, lai izveidotu digitālo pulksteni:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7Segments
  • Jumper Wire
  • USB mini
  • Projektu padome

Nepieciešama bibliotēka:

  • Vads
  • LedControl
  • RTClib

2. darbība: salieciet visas sastāvdaļas

Salieciet visas sastāvdaļas
Salieciet visas sastāvdaļas

Ja visas sastāvdaļas ir iegūtas, tagad ir pienācis laiks salikt.

Skatiet zemāk esošo aprakstu vai attēlu:

Arduino uz RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino līdz MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Pēc visu komponentu instalēšanas turpiniet programmēšanas sadaļu.

3. solis: programmēšana

nokopējiet un ielīmējiet šo skici jūsu izveidotajā skicē. Pēc tam augšupielādējiet programmu arduno panelī

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

RTC_DS1307 rtc;

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

void setup () {

Sērijas sākums (57600); if (! rtc.begin ()) {Serial.println ("Nevarēja atrast RTC"); kamēr (1); } if (! rtc.isrunning ()) {Serial.println ("RTC NAV darbojas!"); // šī rinda nosaka RTC datumu un laiku, kad šī skice tika apkopota // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Šī rindiņa nosaka RTC ar precīzu datumu un laiku, piemēram, lai iestatītu // 2014. gada 21. janvāris plkst. 3:00 jūs zvanītu: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.slēgšana (0, nepatiesa); 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, tagad.second ()/10, false); lc.setChar (0, 2, '-', nepatiess); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, tagad.minute ()/10, false); lc.setChar (0, 5, '-', nepatiess); lc.setDigit (0, 6, now.hour ()%10, false); lc.setDigit (0, 7, tagad.stunda ()/10, nepatiesa); }

ja (tagad.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, tagad.diena ()/10, nepatiess); lc.setDigit (0, 4, tagad.mēnesis ()%10, taisnība); lc.setDigit (0, 5, tagad.mēnesis ()/10, nepatiess); lc.setDigit (0, 0, (tagad.gads ()%1000)%10, nepatiess); lc.setDigit (0, 1, (tagad.gads ()%1000)/10, nepatiess); lc.setDigit (0, 2, (tagad.gads ()%1000)/100, nepatiess); lc.setDigit (0, 3, tagad.gads ()/1000, nepatiess); }}

4. solis: rezultāts

Kad visas darbības būs veiksmīgas, jūs redzēsit šādu rezultātu: (skatīties video)

ik pēc 31. sekundes līdz 40. sekundei. 7 segmentos tiks parādīts datums. Izņemot šo otro, pulkstenis tiks parādīts 7 segmentā

Ieteicams: