Sadržaj:

Jednostavan digitalni sat pomoću Arduino Nano i DS1307: 4 koraka
Jednostavan digitalni sat pomoću Arduino Nano i DS1307: 4 koraka

Video: Jednostavan digitalni sat pomoću Arduino Nano i DS1307: 4 koraka

Video: Jednostavan digitalni sat pomoću Arduino Nano i DS1307: 4 koraka
Video: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Novembar
Anonim
Jednostavan digitalni sat pomoću Arduino Nano i DS1307
Jednostavan digitalni sat pomoću Arduino Nano i DS1307

U ovom članku pokazat ću vam vodič za izradu digitalnog sata pomoću Arduina.. Arduino ploča koju koristim je Arduino Nano V3, DS1307 kao dobavljač vremenskih podataka, MAX7219 7 segment kao prikaz sata.

Prije ulaska u vodič preporučujem vam da se upoznate s korištenjem Arduino uređaja i pribora. Tako ćete lakše slijediti vodič koji sam pokazao.

Ne brinite ako niste upoznati s upotrebom Arduino ploča.

Za zagrijavanje možete pročitati ovaj članak:

  • Kako koristiti Arduino Nano
  • MAX7219 7-segmentni pomoću Arduina
  • Kako koristiti DS1307 pomoću Arduina

Korak 1: Potrebne komponente

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

ovo su komponente koje su nam potrebne za izradu digitalnog sata:

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

Potrebna biblioteka:

  • Žica
  • LedControl
  • RTClib

Korak 2: Sastavite sve komponente

Sastavite sve komponente
Sastavite sve komponente

Ako su sve komponente nabavljene, sada je vrijeme za sastavljanje.

Pogledajte donji opis ili pogledajte gornju sliku:

Arduino na RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino za MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Nakon što su sve komponente instalirane, prijeđite na odjeljak programiranja.

Korak 3: Programiranje

kopirajte i zalijepite ovu skicu u skicu koju ste napravili. Nakon toga prenesite program na arduno ploču

#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 ("Nije moguće pronaći RTC"); while (1); } if (! rtc.isrunning ()) {Serial.println ("RTC NE radi!"); // sljedeći red postavlja RTC na datum i vrijeme sastavljanja ove skice // rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Ova linija postavlja RTC sa eksplicitnim datumom i vremenom, na primjer za postavljanje // 21. januara 2014. u 3 ujutro koje biste pozvali: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); } lc.shutdown (0, false); lc.setIntensity (0, 8); lc.clearDisplay (0); }

void loop () {{100} {101}

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

Korak 4: Rezultat

Nakon što svi koraci budu uspješni, ovo će biti rezultat koji ćete vidjeti: (pogledajte video)

svake 31. sekunde do 40. sekunde. 7 segmenata će prikazati datum. Osim te sekunde, sat će prikazati 7 segmenata

Preporučuje se: