Inhaltsverzeichnis:

Einfache Digitaluhr mit Arduino Nano & DS1307 - Gunook
Einfache Digitaluhr mit Arduino Nano & DS1307 - Gunook

Video: Einfache Digitaluhr mit Arduino Nano & DS1307 - Gunook

Video: Einfache Digitaluhr mit Arduino Nano & DS1307 - Gunook
Video: построить цифровые часы с помощью arduino, sunfounder, arduino project, diy 2024, Juli
Anonim
Einfache Digitaluhr mit Arduino Nano & DS1307
Einfache Digitaluhr mit Arduino Nano & DS1307

In diesem Artikel zeige ich Ihnen ein Tutorial zum Erstellen einer Digitaluhr mit Arduino. Das Arduino-Board, das ich verwende, ist Arduino Nano V3, DS1307 als Zeitdatenanbieter, MAX7219 7 Segment als Uhrenanzeige.

Bevor Sie das Tutorial betreten, empfehle ich Ihnen, mit der Verwendung von Arduino-Geräten und -Zubehör vertraut zu sein. Dies wird es Ihnen erleichtern, dem von mir gezeigten Tutorial zu folgen.

Wenn Sie mit Arduino-Boards nicht vertraut sind, machen Sie sich keine Sorgen.

Sie können diesen Artikel zum Aufwärmen lesen:

  • So verwenden Sie Arduino Nano
  • MAX7219 7-Segment mit Arduino
  • So verwenden Sie DS1307 mit Arduino

Schritt 1: Erforderliche Komponenten

Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten
Erforderliche Komponenten

Dies sind die Komponenten, die wir brauchen, um eine Digitaluhr zu bauen:

  • Arduino Nano V3
  • RTC DS1307
  • MAX7210 7Segment
  • Überbrückungsdraht
  • USBmini
  • Projektvorstand

Bibliothek erforderlich:

  • Kabel
  • LED-Steuerung
  • RTClib

Schritt 2: Alle Komponenten zusammenbauen

Alle Komponenten zusammenbauen
Alle Komponenten zusammenbauen

Wenn alle Komponenten erhalten sind, ist es jetzt an der Zeit, zusammenzubauen.

Siehe die Beschreibung unten oder das Bild oben:

Arduino zu RTC DS1307

GND => GND

+5V => VCC

A4 => SDA

A5 => SCL

Arduino zu MAX7219

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS

Nachdem alle Komponenten installiert sind, fahren Sie mit dem Programmierabschnitt fort.

Schritt 3: Programmierung

Kopieren Sie diese Skizze und fügen Sie sie in die von Ihnen erstellte Skizze ein. Danach laden Sie das Programm auf das arduno Board hoch

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

RTC_DS1307 rtc;

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

Leere Einrichtung () {

Serial.begin (57600); if (! rtc.begin ()) {Serial.println ("Konnte RTC nicht finden"); während (1); aufrechtzuerhalten. Wenn (! rtc.isrunning ()) { Serial.println ("RTC läuft NICHT!"); // folgende Zeile setzt die RTC auf das Datum und die Uhrzeit, zu der dieser Sketch kompiliert wurde // rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Diese Zeile setzt die RTC mit einem expliziten Datum und einer expliziten Uhrzeit, um beispielsweise den // 21. Januar 2014 um 3 Uhr morgens zu setzen, würden Sie Folgendes aufrufen: // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0)); } lc.shutdown(0, falsch); lc.setIntensity(0, 8); lc.clearDisplay(0); }

Leere Schleife () {

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, '-', falsch); lc.setDigit(0, 3, now.minute()%10, false); lc.setDigit(0, 4, now.minute()/10, false); lc.setChar(0, 5, '-', falsch); lc.setDigit(0, 6, now.hour()%10, false); lc.setDigit(0, 7, now.hour()/10, false); }

if (jetzt.zweite() == 30 || jetzt.zweite() == 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, true); 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); } }

Schritt 4: Ergebnis

Nachdem alle Schritte erfolgreich waren, sehen Sie folgendes Ergebnis: (Video ansehen)

jede 31. Sekunde bis 40. Sekunde. 7 Segmente zeigen das Datum an. Mit Ausnahme dieser Sekunde zeigt das 7-Segment die Uhr an

Empfohlen: