Inhaltsverzeichnis:

Keine blaue Lampe - Gunook
Keine blaue Lampe - Gunook

Video: Keine blaue Lampe - Gunook

Video: Keine blaue Lampe - Gunook
Video: Baby in Fruchtblase geboren - Hammer Video 2024, Juli
Anonim
Keine blaue Lampe
Keine blaue Lampe
Keine blaue Lampe
Keine blaue Lampe
Keine blaue Lampe
Keine blaue Lampe
Keine blaue Lampe
Keine blaue Lampe

Dieser Lazy Old Geek (L. O. G.) hat also an einem Blue Light Project gearbeitet:

www.instructables.com/id/Blue-Light-Projec…

www.instructables.com/id/Blue-Light-Projec…

Nun, für den nächsten Schritt wollte ich eine Lampe, die tagsüber hell ist und abends/Nacht kein blaues Licht hat.

Design-Hardware:

Ich beschloss, eine RTC (Real Time Clock) zu verwenden, um die Zeiten für Lichtwechsel zu steuern.

Ich habe mich für den DS3231 entschieden, da er eine bessere Zeitgenauigkeit hat als der DS1307. Der DS3231 kann 5 V oder 3,3 V haben.

Für Licht verwende ich eine WS2812B LED-String. Diese haben eine einfache Dreidrahtschnittstelle und steuerbare rote, grüne und blaue LEDs. WS2812B sind 5-V-Geräte.

Für den Mikrocontroller verwende ich ein Pro Micro, 5V 16MHz.

Während der WS2812B wahrscheinlich mit 3,3 V arbeiten wird, ist es besser, einen 5 V-Arduino zu verwenden.

Das Pro Micro ist ein billiges Arduino mit einem Atmega32U4-Mikrocontroller.

Die Lampe verfügt über einen Ein-/Ausschalter zum Ein- oder Ausschalten der Lampe.

Es wird ein Potentiometer geben, um die Helligkeit zu steuern.

Design-Software:

Die DS3231 RTC würde die Zeitsteuerung steuern, sie verfügt über eine Batteriesicherung und sollte die Zeit auch bei Stromausfall halten.

Tagsüber wären alle RGB-LEDs an, steuerbar durch den Pot bis zur vollen Intensität.

Am frühen Abend sind die blauen LEDs aus, rote und grüne max.

Im Laufe des Abends werden die roten und grünen LEDs dunkler, wobei Rot gegenüber Grün bevorzugt wird (Meine Tests in Teil 2 deuten darauf hin, dass die grünen LEDs etwas Blau enthalten).

Nach etwa 22 Uhr alle LEDs sind aus.

PROBLEM:

Zurück zum DS3231 RTC-Modul, ich habe meins von Aliexpress gekauft, wie ich es für die anderen Komponenten getan habe.

Diese sollen mit einem LIR2032-Akku arbeiten und diesen laden. Ich habe es ausprobiert. Nach etwa einem Tag war die Batterie leer.

Nach einiger Recherche im Internet bin ich auf diesen Artikel gestoßen.

www.onetransistor.eu/2019/07/zs042-ds3231-…

Ich stimme dieser Analyse zu, dachte aber, dass der LIR2032 angemessen, aber nicht übermäßig aufgeladen würde. Ich lag anscheinend falsch. Mein DS3231 war zwar auch wie im Artikel als ZS-042 gekennzeichnet, war etwas anders als seins, aber fast gleich. Also habe ich die im Bild zu sehende Diode abgelötet und eine CR2032-Batterie eingebaut. Ohne die Diode versucht das Modul nicht, die Batterie zu laden. Jetzt hält der DS3231 auch bei abgeschaltetem Strom die korrekte Uhrzeit und die Batterie sollte viele Jahre halten.

Strombedarf:

Der WS2812B ist eine Reihe von RGB-LEDs, die manchmal als NeoPixels bezeichnet werden. Jedes NeoPixel benötigt maximal 60mA. Ich verwende 12 Neo-Pixel, brauche also 0,72 A. Ich verwende einen 2A USB-Adapter, also habe ich viel Strom.

Schritt 1: BlueLamp PCB

BlueLamp-Platine
BlueLamp-Platine
BlueLamp-Platine
BlueLamp-Platine

Also habe ich wie immer die kostenlose Eagle Cadsoft Software (jetzt Autodesk) zum Layouten und Erstellen meiner Leiterplatte verwendet.

www.autodesk.com/products/eagle/free-downl…

Der Eagle-Schaltplan und die Board-Dateien sind zusammen mit dem Schaltplan in einem Bild angehängt.

Ein Kommentar zum Schaltplan, dem 330-Ohm-Widerstand und dem 10.000uFd-Kondensator sind Empfehlungen des Neopixel-Leitfadens von Adafruit:

learn.adafruit.com/adafruit-neopixel-uberg…

Der von mir verwendete Umschaltknopf "Fackeldruckschalter" stammte von hier:

www.aliexpress.com/item/32904942704.html?s…

Das 10K (B103) Potentiometer von hier:

www.aliexpress.com/item/32672253655.html?s…

Schritt 2: Zusammenbau der Lampe

Zusammenbau der Lampe
Zusammenbau der Lampe
Zusammenbau der Lampe
Zusammenbau der Lampe

Ich hatte zufällig eine schwere Basis von einer Lampe, die ich gekauft hatte. Es hatte eine große runde Nadel drauf. Ich nahm ein Stück PVC-Rohr, das darüber passte. Es war ein wenig locker, also nahm ich eine Schraube und ein paar Muttern, damit ich es festziehen konnte. (siehe Bild)

Der WS2812B kann in die gewünschte Anzahl von NeoPixeln geschnitten werden. Der Streifen, den ich gekauft habe, hat große Abstände zwischen den NeoPixels. Ich wollte es etwas heller haben, also habe ich zwei 6 NeoPixel-Streifen geschnitten und sie leicht versetzt parallel ausgeführt. Die WS2812B-Streifen können zwischen den NeoPixels geschnitten werden. In diesem Fall brauchte ich eine 180-Grad-Änderung, also schneide ich den Streifen und verlege Brückendrähte dazwischen. Wenn Sie dies jemals tun, stellen Sie sicher, dass die Signale und die Richtungspfeile korrekt sind. (siehe Bild)

Dieser WS2812B hat auch Drähte und einen Stecker (dieser Stecker ist ein JST-SM 3-Pin-Stecker, wenn Sie ihn woanders verwenden möchten). Da dieser Stecker schon da war, habe ich die Drähte einfach an meine Platine gelötet. Bei diesem WS2812B ist das rote Kabel 5 V, Grün ist Signal und Weiß ist Masse.

Sobald ich die Platine gemacht hatte, legte ich etwas Klebeband auf die Unterseite und klebte es an die Basis. Dann habe ich das Pro Micro und das DS3231 eingesteckt.

Schritt 3: Arduino-Skizze

Arduino-Skizze
Arduino-Skizze

Obwohl ich mein Pro Micro von Aliexpress.com gekauft habe, habe ich die folgenden Informationen verwendet, um Arduino zum Laufen zu bringen:

learn.sparkfun.com/tutorials/pro-micro--fi…

Um die Bibliothek für den DS3231 zu installieren, verwende ich diese:

github.com/PaulStoffregen/DS1307RTC

Laden Sie die Zip-Datei herunter

Öffnen Sie Arduino, wählen Sie „Skizze“„Bibliothek einschließen“„ZIP-Bibliothek hinzufügen“

Installieren Sie Folgendes mit der gleichen Methode

Zeitbibliothek PaulStoffregen

github.com/PaulStoffregen/Time

Zeitzonenbibliothek

github.com/JChristensen/Timezone

Wenn Sie fertig sind, starten Sie Arduino.

Wählen Sie unter Tools Boards "Sparkfun Pro Micro"

Klicken Sie erneut auf Tools, es wird eine Auswahl für den Prozessor angezeigt

Möglicherweise müssen Sie es "Atmega32U4 (5V 16Mhz)" ändern.

WARNUNG: Wenn Sie wie ich unvorsichtig sind, habe ich versehentlich "Atmega32U4 (3.3V 8Mhz)" ausgewählt. Dadurch wurde es "gemauert", damit der Arduino es nicht sehen konnte. Nun, normalerweise versuche ich, mich über neue Dinge zu informieren, bevor ich sie habe und mich an etwas erinnert, das passiert:

learn.sparkfun.com/tutorials/pro-micro--fi…

In diesem Handbuch gibt es einen Abschnitt mit dem Titel „Wie man ein ‚gemauertes‘Pro Micro wiederbelebt“Wie bereits erwähnt, ist dies ein kniffliges Verfahren, aber ich habe es geschafft, meins wiederherzustellen.

Zu Ihrer Information: Wenn Sie sich fragen, warum es zwei Versionen mit unterschiedlichen Spannungen und Geschwindigkeiten gibt, funktioniert der Atmega32U4 (wie Atmega328) bei 5V mit einem 16-MHz-Takt einwandfrei. Aber bei 3,3 V sagt die Design-Spezifikation, dass der 16-MHz-Takt nicht funktioniert, deshalb haben sie den Takt bei 8 MHz. Im Allgemeinen kümmert sich die Arduino-Software um alle Timing-Probleme.

RTC-TIPP: Die meiste Software, die für DS1307 geschrieben wurde, funktioniert mit dem DS3231, da sie sehr ähnliche Software haben.

Sommerzeit

Nun, ich wollte DST implementieren, damit ich meine Lampe nicht zweimal im Jahr neu programmieren musste. Daran habe ich mehrere Tage gearbeitet. Ich konnte keine guten einfachen Erklärungen finden, wie die Time, TimeLib und RTClib funktionieren.

Ich habe tatsächlich einen DST-Code für mein IPClock geschrieben:

www.instructables.com/id/NO-MORE-SPRING-FO…

das funktionierte für die Internetzeit, aber ich konnte es nicht für die RTC-Zeit zum Laufen bringen.

Ich bin schließlich auf Folgendes von JChristensen gestoßen:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Timezone

Um dies zu nutzen, müssen Sie zuerst die RTC auf UTC (Coordinated Universal Time) einstellen, dies ist die Zeit in Greenwich, England. Nun, ich wusste nicht, wie das geht, habe aber diesen Artikel gefunden:

www.justavapor.com/archives/2482

Umgeschrieben für Bergzeit (angehängt) UTCtoRTC.ino

Dann habe ich die Zeitzone in meinen Sketch aufgenommen. Um ehrlich zu sein, habe ich es nicht getestet, also gehe nur davon aus, dass es funktioniert.

Meine Skizze ist MTS_BlueLamp.ino beigefügt.

Schritt 4: Fazit

Abschluss
Abschluss

Ich habe oben einen kleinen Haken für meine CPAP-Gesichtsmaske gemacht. Früher habe ich es an meine alte Bettlampe gehängt.

Grundsätzlich sehr zufrieden mit dieser Lampe. Tagsüber voll hell und abends und nachts kein Blau.

Eine Sache, die mir nicht gefällt, ist, dass ich es nach 22 Uhr nicht mehr benutzen kann. und vor 5 Uhr morgens

Ich habe auch festgestellt, dass ich den Ein- / Ausschalter nicht benutze, da ich normalerweise nur den Dimmer verwende.

In Zukunft kann ich die Skizze umschreiben und die Schaltfläche auf geplant oder ungeplant (vollständig eingeschaltet) ändern. Aber mit meinen schlechten Programmierkenntnissen könnte ich eine Weile warten.

Empfohlen: