Kazalo:

Preprosta digitalna ura z uporabo Arduino Nano in DS1307: 4 koraki
Preprosta digitalna ura z uporabo Arduino Nano in DS1307: 4 koraki

Video: Preprosta digitalna ura z uporabo Arduino Nano in DS1307: 4 koraki

Video: Preprosta digitalna ura z uporabo Arduino Nano in DS1307: 4 koraki
Video: Утилизация светодиодных экранов DVD-плееров — несвязанные действия 2024, Julij
Anonim
Preprosta digitalna ura z uporabo Arduino Nano in DS1307
Preprosta digitalna ura z uporabo Arduino Nano in DS1307

V tem članku vam bom pokazal vadnico za izdelavo digitalne ure z uporabo Arduina.. Plošča Arduino, ki jo uporabljam, je Arduino Nano V3, DS1307 kot ponudnik časovnih podatkov, MAX7219 7 segment kot prikaz ure.

Preden vstopite v vadnico, vam priporočam, da se seznanite z uporabo naprav in dodatkov Arduino. Tako boste lažje sledili vadnici, ki sem jo prikazal.

Če niste seznanjeni z uporabo plošč Arduino, ne skrbite.

Za ogrevanje lahko preberete ta članek:

  • Kako uporabljati Arduino Nano
  • MAX7219 7-segmentni z uporabo Arduina
  • Kako uporabljati DS1307 z uporabo Arduina

Korak: Potrebne komponente

Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente
Potrebne komponente

to so komponente, ki jih potrebujemo za izdelavo digitalne ure:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7Segment
  • Mostična žica
  • USB mini
  • Projektni odbor

Potrebna knjižnica:

  • Žica
  • LedControl
  • RTClib

Korak: Sestavite vse komponente

Sestavite vse komponente
Sestavite vse komponente

Če so bile pridobljene vse komponente, je zdaj čas za sestavo.

Oglejte si spodnji opis ali sliko zgoraj:

Arduino na RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino na MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Ko so vse komponente nameščene, pojdite na razdelek za programiranje.

3. korak: Programiranje

kopirajte in prilepite to skico v skico, ki ste jo naredili. Po tem naložite program na ploščo arduno

#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 ("RTC ni mogoče najti"); medtem ko (1); } if (! rtc.isrunning ()) {Serial.println ("RTC NE deluje!"); // naslednja vrstica nastavi RTC na datum in čas, ko je bila skica sestavljena // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Ta vrstica nastavi RTC z izrecnim datumom in časom, na primer za nastavitev // 21. januarja 2014 ob 3. uri, ki bi jo poklicali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {

DateTime zdaj = rtc.now (); if (now.second () 40) {lc.setDigit (0, 0, now.second ()%10, false); lc.setDigit (0, 1, zdaj.second ()/10, false); lc.setChar (0, 2, '-', napačno); lc.setDigit (0, 3, now.minute ()%10, false); lc.setDigit (0, 4, now.minute ()/10, false); lc.setChar (0, 5, '-', napačno); 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, zdaj.mesec ()%10, res); lc.setDigit (0, 5, now.month ()/10, false); lc.setDigit (0, 0, (zdaj. leto ()%1000)%10, false); lc.setDigit (0, 1, (zdaj. leto ()%1000)/10, napačno); lc.setDigit (0, 2, (zdaj. leto ()%1000)/100, napačno); lc.setDigit (0, 3, now.year ()/1000, false); }}

4. korak: Rezultat

Ko bodo vsi koraki uspešni, boste videli naslednji rezultat: (oglejte si video)

vsako 31. sekundo do 40. sekundo. 7 segmentov bo prikazalo datum. Razen te sekunde bo ura prikazala 7 segmentov

Priporočena: