Inhaltsverzeichnis:

Sunrise Wecker mit Arduino - Gunook
Sunrise Wecker mit Arduino - Gunook

Video: Sunrise Wecker mit Arduino - Gunook

Video: Sunrise Wecker mit Arduino - Gunook
Video: Arduino LED Light Sunrise Alarm Clock 2024, Juni
Anonim
Image
Image
Sonnenaufgangswecker mit Arduino
Sonnenaufgangswecker mit Arduino

Die Winterzeit kann traurig sein. Du wachst auf, es ist dunkel und du musst aufstehen. Das Letzte, was Sie hören möchten, ist das schrille Geräusch Ihres Weckers. Ich lebe in London und es fällt mir schwer, morgens aufzuwachen. Außerdem vermisse ich es, mit natürlichem Licht aufzuwachen.

In diesem Tutorial werden wir einen Sunrise Wecker bauen. Es ist ein Wecker wie jeder andere, bei dem Sie die Stunde und Minute einstellen können, die Sie aufwachen möchten, aber mit dem zusätzlichen Vorteil, dass Licht Ihr Schlafzimmer über einen Zeitraum wie einen Sonnenaufgang aufhellt, um Sie natürlicher zu wecken.

Sunrise-Lampen gibt es auf dem Markt, aber sie können teuer sein (eine schnelle Suche bei Amazon gibt Produkte im Bereich von 100 £ zurück), zerbrechlich und ziemlich klinisch aussehend. Wir werden etwas viel billiger und viel schöner machen.

Alle Teile werden im nächsten Schritt aufgelistet. Der Code kann von meinem Github Repo Gold-Sunrise-Clock heruntergeladen werden. Alle Schaltpläne und Build-Dateien für das Gehäuse stehen in diesem Tutorial zum Download bereit.

Lass uns gehen:)

Wenn Sie auf Probleme stoßen oder Hallo sagen möchten, schreiben Sie mir eine Zeile [email protected] oder folgen Sie mir auf Instagram @celinechappert.

Schritt 1: Sammeln der Komponenten

Sammeln der Komponenten
Sammeln der Komponenten

Zu Beginn verwenden wir eine Uhr als Eingang und eine ultrahelle LED als Ausgang, um unseren Sonnenaufgang zu simulieren.

Um die Schaltung aufzubauen, benötigen wir:

- eine Uhr. Wir werden das RTC DS3231 (£5) verwenden.

- ein MOSFET zur Steuerung der Helligkeit des Lichts (£9)

- eine superhelle LED (£1)

- 9V Batterie zur Stromversorgung der LED (£3)

- ein Steckbrett für die einfache Montage (£3)

- ein Arduino Uno (20 £)

- ein Taster (optional - nur zu Demozwecken)

Gesamtpreis = 41€

Wenn Sie bereits ein Arduino, ein Steckbrett und eine 9-V-Batterie zu Hause haben, kostet Sie das gesamte Projekt weniger als 15 £.

Um das Acrylgehäuse herzustellen, benötigen Sie:

- 2 Blätter 0,3 mm Plexiglas-Acrylplatten, 1 Blatt pro Farbe für die Sonne und das Gehäuse.

- Zugang zu einem Laserschneider.

Ich habe das Glück, Zugang zur Werkstatt meiner Schule zu haben, so dass diese Kosten zum größten Teil gedeckt waren. Ich habe ein zusätzliches Acrylblatt gekauft, weil mein Design einen orangefarbenen Farbton für die Sonne erforderte, was £ 14 / Blatt kostete (Plexiglas ist teuer!).

Schritt 2: Zusammenbau der Schaltung

Image
Image
Zusammenbau der Schaltung
Zusammenbau der Schaltung
Zusammenbau der Schaltung
Zusammenbau der Schaltung

Sie können sich auf die Schwarz-Weiß-Skizze meiner Schaltung beziehen (entschuldigen Sie die Unordnung) und auf das Diagramm mit dem Arduino (mit Fritzing erstellt).

Im Wesentlichen ist hier eine Aufschlüsselung dessen, was mit was verbunden ist:

Uhr:

(-) verbindet sich mit GND

NC steht für 'Not Connected' und verbindet sich mit nichts

C/SCL verbindet sich mit Pin A5 auf dem Arduino

D/SDA verbindet sich mit Pin A4 auf dem Arduino

(+) verbindet sich mit 5V auf dem Arduino

MOSFET

Gate-Pin geht auf Pin ~ 9 auf dem Arduino Uno, weil es PWM ist

Ablassstift geht auf die negative Seite der LED

Source-Pin geht auf GND auf dem Arduino

LED

Die negative Seite ist mit dem Drain-Pin des MOSFET verbunden

Positive Seite ist mit 5V auf dem Steckbrett verbunden

9V Batterie

(+) bis (+) auf dem Steckbrett, genauso wie (-).

Arduino Uno

Denken Sie daran, 5V an (+) auf dem Steckbrett und GND an (-) anzuschließen. Denken Sie daran, (-) auf einer Seite des Steckbretts mit (-) auf der anderen Seite zu verbinden.

Als nächstes werden wir unsere Uhr mit der DS3231-Bibliothek einstellen.

Schritt 3: Installieren und Einstellen der Uhr

Installieren und Einstellen der Uhr
Installieren und Einstellen der Uhr
Installieren und Einstellen der Uhr
Installieren und Einstellen der Uhr
Installieren und Einstellen der Uhr
Installieren und Einstellen der Uhr

Die Bibliothek, die ich verwende, um diese Uhr zu betreiben, finden Sie bei Rinky-Dink Electronics (Screenshots oben). Klicken Sie auf den Link und vergewissern Sie sich, dass Sie sich auf der DS3231-Seite befinden. Laden Sie die Zip-Datei herunter, speichern Sie sie und legen Sie sie in den Ordner /libraries Ihres Arduino.

Um nun die richtige Uhrzeit auf der Uhr einzustellen, öffnen Sie Arduino und gehen Sie zu Example/DS3231/Arduino/DS3231_Serial_Easy.

Entkommentieren Sie die drei Codezeilen (im Screenshot orange umrandet), überprüfen Sie die Uhrzeit und geben Sie die richtige Zeit in diese drei Codezeilen im Militärformat ein.

Drücken Sie Hochladen.

Jetzt können Sie diese drei Zeilen auskommentieren und erneut auf Hochladen drücken.

Öffnen Sie Ihren Serial Monitor und überprüfen Sie, ob Ihre Zeit korrekt ist.

Unsere Uhr ist gestellt! Wir haben unsere Schaltung, jetzt fangen wir an zu codieren. Auch hier ist das Repo auf Github verfügbar.

Schritt 4: Codierung

Image
Image

Laden Sie den Code herunter und stellen Sie sicher, dass die Bibliothek für den DS3231 korrekt installiert ist.

Als erstes wollen wir unsere Einstellungen definieren.

fadeTime gibt an, wie lange das Licht in Minuten von 0 auf seine maximale Helligkeit verblasst. setHour/setMin entsprechen der Uhrzeit, zu der wir aufwachen möchten (Hinweis: Dies liest das Militärformat, daher ist eine 24-Stunden-Zeit erforderlich). Wir definieren auch Pin 9 auf dem Arduino als unseren OUTPUT.

Stellen Sie in setup() sicher, dass die SerialBegin-Nummer (hier 96000 Baud) der Nummer des Serial Monitors entspricht.

In loop() überprüft eine if-Anweisung, ob es Zeit zum Aufwachen ist. Der Code läuft in einer Schleife und überprüft jedes Mal, ob die von der Uhr zurückgegebenen Stunden- und Minutenwerte unseren setHour/setMin-Variablen entsprechen. Wenn dies der Fall ist, gibt die if-Anweisung eine active()-Funktion zurück.

Die Funktion active() besteht aus zwei Teilen. Zuerst beginnen wir mit dem allmählichen Ausblenden des Lichts: Die Verzögerungsfunktionen sind hier, um zu verhindern, dass die LED in den "frühen" Phasen der FadeTime zu früh zu hell wird. Dann steuert eine for-Schleife die Geschwindigkeit, mit der das Licht je nach FadeTime heller und heller werden soll. Schließlich schalten wir das Licht aus, indem wir in der Funktion analogWrite() einen Wert von 0 an unsere LED übergeben.

Das obige Video zeigt die Schaltung in einem der Prototyp-Acrylgehäuse.

Schritt 5: Karton-Prototyp (optional)

Karton-Prototyp (optional)
Karton-Prototyp (optional)
Karton-Prototyp (optional)
Karton-Prototyp (optional)

Vor diesem Projekt hatte ich noch nie mit einem Laserschneider gearbeitet. Die Herstellung eines Karton-Prototyps ermöglichte es mir, mich mit der Maschine vertraut zu machen und gleichzeitig zu testen, wie gut das Objekt im realen Raum aussah (Größe, Aussehen usw.). Fallpläne zum Download.

Empfohlen: