Inhaltsverzeichnis:

Arduino Matrix-Uhr - Gunook
Arduino Matrix-Uhr - Gunook

Video: Arduino Matrix-Uhr - Gunook

Video: Arduino Matrix-Uhr - Gunook
Video: Arduino Nano mini LED matrix clock 2024, November
Anonim
Arduino Matrix-Uhr
Arduino Matrix-Uhr

Beschreibung:

Bauen Sie Ihre Uhr mit einem Arduino, einem Matrix-Display und einem Real Time Clock (RTC)-Modul. Dies ist ein lustiges und einfaches Projekt, das meiner Meinung nach großartig für Anfänger ist. Die Uhr verwendet das RTC-Modul, um die Zeit sowie den Tag, den Monat und das Jahr genau zu verfolgen. Darüber hinaus verfügt das Modul über einen eingebauten Temperatursensor. Hier erfahren Sie mehr über das DS3231-Modul sowie den dafür verwendeten I2C-Kommunikationsbus. Schließlich verwenden wir ein Dot-Matrix-Display, um natürlich die Uhrzeit, den Wochentag, den Monat usw. anzuzeigen. Mehr zum Display hier und zum MAX7219 IC-Treiber im Datenblatt unten.

Hier können Sie auch die pdf-Version zu diesem Projekt herunterladen. Es ist praktisch das gleiche wie dieses instructable.

[UPDATE: 22.02.19] Verwenden Sie nicht den PDF-Leitfaden, ich habe dieses instructable aktualisiert, aber diese Änderungen sind noch nicht im PDF enthalten.

Schritt 1: Komponenten sammeln

Die Komponenten, die Sie für dieses Projekt benötigen:

  • Max7219 Punktmatrix-Display [Hier kaufen] [Datenblatt]
  • RTC DS3231 [Hier kaufen] [Datenblatt]
  • 3V CR3032 Batterie (für DS3231)

Darüber hinaus benötigen Sie einen Arduino jeglicher Art (vorzugsweise einen Nano, um die Größe des Projekts zu minimieren), ein Steckbrett, Jumper-Drähte sowie die auf Ihrem PC installierte Arduino-IDE.

Schritt 2: Bibliotheken

Bibliotheken
Bibliotheken

Laden Sie die folgenden Bibliotheken herunter und installieren Sie die.zip-Datei in der Arduino IDE, indem Sie zu Sketch> Include Library> Add. Zip library. gehen

HINWEIS: DIE VERSIONEN WICHTIG!

* Vergewissern Sie sich vor dem Herunterladen, dass Sie über die richtigen Versionen verfügen. Ich würde empfehlen, jede Bibliothek innerhalb der Arduino-IDE herunterzuladen, um auf der sicheren Seite zu sein.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternative, Gehen Sie in der Arduino IDE zu Sketch> Include Library> Manage Libraries und geben Sie in die Suchleiste ein: "MAX72XX" und Sie sollten Folgendes sehen (siehe Bild):

Installieren Sie nur MD_MAX72XX und MD_Parola. MD_MAXPanel wird NICHT benötigt.

Schritt 3: Testen Ihrer Komponenten

Testen Sie nach der Installation der Bibliotheken Ihre Komponenten einzeln, um sicherzustellen, dass sie ordnungsgemäß funktionieren. Bitte befolgen Sie diese Schritte, bevor Sie alles miteinander verkabeln

Um das DS3231 RTC-Modul zu testen, verbinden Sie das DS3231 mit dem Arduino (siehe Verdrahtung unten). Gehen Sie dann in der Arduino IDE zu Dateien > Beispiele > DS3231 > DS3231_Test und laden Sie die Skizze hoch. Öffnen Sie den Serial Monitor und überprüfen Sie, ob Sie das richtige Datum, die richtige Uhrzeit, den richtigen Tag usw. erhalten.

Um das Matrix-Display zu testen, verbinden Sie es zuerst mit dem Arduino (siehe Verdrahtung unten). Als nächstes gehen Sie in der Arduino IDE zu Dateien > Beispiele > MD_Parola > Parola_HelloWorld und laden Sie die Skizze hoch. Sie sollten HALLO auf dem Display sehen und es kann rückwärts gedruckt werden oder nicht. Wenn der Text rückwärts ist, müssen Sie die folgende Zeile ändern:

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW

Zu

#define HARDWARE_TYPE MD_MAX72XX::FC16_HW

Laden Sie die Skizze erneut hoch und das Problem sollte behoben sein.

Nachdem wir unsere Komponenten getestet haben, können wir alles miteinander verkabeln!

Schritt 4: Verkabelung

Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung
Verdrahtung

Siehe Diagramm oder Schaltplan oder Tabelle

Schritt 5: CODE

Holen Sie sich den Code hier

Hinweis: Ich habe einen Code verwendet, der ursprünglich von Electronic Projects stammt, ihn jedoch modifiziert, um aktuelle (zum Zeitpunkt der Fertigstellung) Bibliotheken zu unterstützen.

Uhrfunktionen:

Die Uhr wird automatisch auf die Uhrzeit im 24-Stunden-Format eingestellt, kann jedoch problemlos auf 12 Stunden umgestellt werden. Die Uhr zeigt auch die Temperatur an (sowohl in Celsius als auch in Fahrenheit). Ich habe auch eine Funktion namens 'Schlafmodus' eingebaut, die auf "AUS" eingestellt ist (siehe Schlafmodus unten für Details).

12-Stunden-Format: Um die Uhr so einzustellen, dass die Uhrzeit im 12-Stunden-Format angezeigt wird, müssen Sie Zeile 88 kommentieren

Stunde =Clock.gethour(h12, PM); //24-Stunden-Format

Und entkommentieren Sie die Zeilen 93 bis 100

if (Clock.getHour(h12, PM)>=13 || Clock.getHour(h12, PM)==0)

{ h = Clock.getHour(12, PM) - 12; aufrechtzuerhalten. Sonst { h = Clock.getHour (h12, PM); }

Schlafmodus:

Dies ist eine Funktion, die dazu beiträgt, die Helligkeit der Uhr insbesondere während der Stunden, in denen wir schlafen, zu reduzieren. Ich glaube nicht, dass du mitten in der Nacht aufwachen und von dieser Uhr geblendet werden willst. Es ist sehr hell, auch wenn es auf der niedrigsten Einstellung ist. Um den Schlafmodus zu aktivieren, entkommentieren Sie die Zeilen 177 bis 184

if(h == 12 || h<8) // Zeitintervalle (in diesem Fall von 12 bis 8 Uhr) { P.setIntensity (0); // Anzeigehelligkeit auf niedrigste Einstellung einstellen aufrechtzuerhalten. Else { P.setIntensity (6); // Displayhelligkeit auf 6 einstellen (15 ist die hellste)}

Hinweis: Ich bin auf ein Problem gestoßen, wenn ich den Ruhemodus verwende, während die Uhr auf den 12-Stunden-Modus eingestellt ist. Sie werden feststellen, dass er zweimal täglich ausgeführt wird, da 8:00 und 20:00 Uhr beide als 8 interpretiert werden. Wenn Sie also den Schlafmodus von 21:00 bis 7:00 Uhr aktiv einstellen, ist er auch von 9:00 bis 19:00 Uhr aktiv. Dieses Problem tritt jedoch nicht auf, wenn die Uhr auf den 24-Stunden-Modus eingestellt ist.

Schritt 6: Fazit

Herzlichen Glückwunsch!!! Sie haben eine funktionierende Uhr. So stellte sich meine heraus [Clock Gallery]. Ich hoffe, dass Sie nicht nur ein bisschen mehr über Komponenten und Codierung gelernt haben, sondern dass Sie die Reise dorthin genossen haben. Bitte teilen Sie mir Ihre Gedanken zu diesem Leitfaden unter [email protected] mit. Dies ist tatsächlich mein erster Projektleitfaden und ich hoffe, er hat Ihnen gute Dienste geleistet. Ich hoffe, viele weitere Anleitungen erstellen zu können. Wenn Sie Fragen, Anregungen und/oder Verbesserungen zum Projekt haben, können Sie mir gerne eine Nachricht senden.

Empfohlen: