Hauptuhr: 6 Schritte

Hauptuhr: 6 Schritte

Inhaltsverzeichnis:

Anonim

Dies ist ein Projekt für alle, die eine schöne große Uhr suchen, die aus einer Entfernung von 12 Metern oder aus der Nähe betrachtet werden kann. Sie können es so groß machen, wie Sie wollen. Es enthält auch einen eingebauten Wecker, der als Event-Handler verwendet werden kann, zum Beispiel für ein automatisiertes Bewässerungssystem für einen Garten oder um Sie an das wöchentliche Treffen zu erinnern, zu dem Sie gehen möchten.

Wenn Sie es dann mögen, SPENDEN Sie bitte zu meiner Arbeitsbemühung!

Zubehör:

Schritt 1: Schritt 1: Benötigte Teile

Sie benötigen die folgenden Teile, um die Hauptuhr zu konstruieren

- Freetronics DMD-Anzeige

- Echtzeituhr-Modul für Arduino (wie dieses)

- Summer (oder ähnlich - genug, um Sie morgens aufzuwecken)

- Momentan auf Druckknopf

- 2x Ein-Aus-Tasten (eine für Power-Option)

- Arduino Uno oder ähnlich

- Arduino Uno Proto Schild (Optional - Wenn Sie die Dinge ein wenig ordentlicher wollen)

- Eine geregelte 5-V-Gleichstromversorgung mit einer Leistung von 4 bis 30 Ampere (optional für hohe Helligkeit - für den normalen Betrieb nicht erforderlich)

Schritt 2: Schritt 2: Aufbau der Hardware

Führen Sie die folgenden Schritte aus, um die Hardware der Hauptuhr zu erstellen:

1) Schließen Sie den Summer, die Stummtaste und den Alarmschalter an das Steckbrett an.

2) Verdrahten Sie jeweils einen der Schalterstifte mit Masse und den Summer-GND-Stift mit dem GND-Stift am Arduino (wie in der Abbildung gezeigt)

3) Verbinden Sie den anderen Pin des Alarmschalters mit D2, den Stummschaltungspin mit D3 und den Summer mit D4

4) Verbinden Sie Ihr RTC-Modul gemäß seinem Typ mit dem Arduino (Herstellerdaten lesen)

5) Schließen Sie den DMDCON an arduino an und schließen Sie DMD an

6) Für volle DMD-Helligkeit schließen Sie eine 5-V-Quelle an die High-Brightness-Anschlüsse an

7) Wenn Sie dies auf einem Protoschild machen möchten, löten Sie alle Teile auf den Schirm und schließen Sie sie entsprechend an.

Schritt 3: Schritt 3: Laden der Software

Um die Software auf dem Arduino zu installieren, gehen Sie wie folgt vor:

Zuerst müssen Sie die hier verfügbare DMD-Bibliothek installieren und in Ihrem Bibliotheksordner installieren.

Die Software kann hier heruntergeladen werden. Dies enthält die grundlegenden Operationen für die Master Clock.

Um die Uhrzeit am RTC-Modul einzustellen, suchen Sie die Zeilen 117 bis 124 und stellen Sie diese auf die aktuelle Uhrzeit ein. Jetzt Zeile 124 auskommentieren und auf das Arduino hochladen. Jetzt Zeile 124 nochmal kommentieren und erneut hochladen. Andernfalls bleibt die RTC unverändert.

In den Zeilen 593 und 594 stellen Sie die Uhrzeit und die Tage ein, an denen der Alarm ausgelöst werden soll. Zeile 593 ist der Wochentag, an dem Sie dies wünschen. Die Tage entsprechen den Zahlen wie folgt:

1 = Sonntag

2 = Montag

3 = Dienstag

4 = Mittwoch

5 = Donnerstag

6 = Freitag

7 = Samstag

Stellen Sie dann in Zeile 594 die Uhrzeit ein, zu der der Alarm innerhalb von 24 Stunden ausgelöst wird.

Schritt 4: Schritt 4 (Optinal): Weitere Anzeigen hinzufügen

Sie können weitere DMD-Anzeigen hinzufügen, um die Uhr zu vergrößern. Lesen Sie dies für weitere Informationen.

Schritt 5: Schritt 5 (optional): Hinzufügen weiterer Alarme

Fügen Sie der Skizze die folgenden Codezeilen hinzu, um weitere Alarme hinzuzufügen:

void CheckAlarm () {

AlarmSet = digitalRead (AlarmSetPin);

Snooze = digitalRead (SnoozePin);

Byte Sekunde, Minute, Stunde, Wochentag, Monatstag, Jahr;

getDateDs1307 (& second, & minute, & hour, & dayOfWeek, & dayOfMonth, & month, & year);

/ * Nur Alarm auslösen, wenn es ein Tag ist, der unten aufgeführt ist. Dies kann geändert werden, indem die Nummern folgendermaßen geändert werden:

1 = Sonntag

2 = Montag

3 = Dienstag

4 = Mittwoch

5 = Donnerstag

6 = Freitag

7 = Samstag

*/

if (dayOfWeek == 2 || dayOfWeek == 3 || dayOfWeek == 4 || dayOfWeek == 5 || dayOfWeek == 6) {// In diesen Tagen darf der Alarm ausgelöst werden

if (Stunde == 18 && Minute == 05) {// Uhrzeit hier einstellen (in 24 Stunden)

if (AlarmSet == LOW) {// Wenn der Alarm-Pin eingeschaltet ist

Snooze = digitalRead (SnoozePin);

while (Snooze == HIGH)

{

Snooze = digitalRead (SnoozePin);

// Füge hinzu, was hier passiert

}

}

}

}

}

Ändern von void CheckAlarm () in einen neuen Namen für diesen Befehl. Fügen Sie in void RunClock in Zeile 555 hier Ihren neuen Befehlsnamen ein. Denken Sie daran, Ihr Ereignis im Befehl while hinzuzufügen.

Schritt 6: Danke fürs Lesen

Danke fürs Lesen. Dies ist meine erste Anweisung. Bitte kommentieren oder folgen Sie auf Twitter unter @jed_Hodson

Sie können den Code auch an Ihre Bedürfnisse anpassen. Bitte geben Sie an, dass die ursprüngliche Skizze von Jed Hodson (mir) erstellt wurde.

Wenn es Ihnen gefallen hat, dann spenden Sie bitte als Hilfe, wenn Sie geschätzt werden!