Inhaltsverzeichnis:

LEDura - Analoge LED-Uhr - Gunook
LEDura - Analoge LED-Uhr - Gunook

Video: LEDura - Analoge LED-Uhr - Gunook

Video: LEDura - Analoge LED-Uhr - Gunook
Video: LEDura (Demonstration) : LED clock using Arduino and addressable LED ring 2024, Juli
Anonim
LEDura - Analoge LED-Uhr
LEDura - Analoge LED-Uhr
LEDura - Analoge LED-Uhr
LEDura - Analoge LED-Uhr
LEDura - Analoge LED-Uhr
LEDura - Analoge LED-Uhr

Tinkercad-Projekte »

Nach einer langen Zeit, in der ich nur verschiedene Projekte gemacht hatte, beschloss ich, selbst ein instructable zu machen. Für den ersten werde ich Sie durch den Prozess der Herstellung Ihrer eigenen analogen Uhr führen, die mit einem fantastischen adressierbaren LED-Ring hergestellt wird. Der innere Ring zeigt die Stunden, der äußere Ring zeigt Minuten und Sekunden an.

Neben der Zeitanzeige kann die Uhr auch die Raumtemperatur anzeigen und kann eine sehr schöne Dekoration im Raum sein. Alle 15 Minuten macht die Uhr auch einige Spezialeffekte – das Video zeigt sie alle, unbedingt anschauen. Mit Hilfe von 2 Tasten und Potentiometer kann der Benutzer zwischen verschiedenen Modi wählen und die Farben nach seinen eigenen Wünschen ändern. Ich habe es auch aufgerüstet, um die LEDs automatisch zu dimmen, wenn der Raum dunkel wird, damit der Benutzer nachts nicht gestört wird.

Die Uhr kann auf dem Schreibtisch, Nachttisch oder an der Wand aufgehängt werden.

Hinweis: Die Bilder sind aufgrund der hohen Helligkeit nicht so gut wie die Ansicht in der Realität.

Schritt 1: Wie ist es zu lesen?

Wie ist es zu lesen?
Wie ist es zu lesen?

Die Uhr hat 2 Ringe - einen kleineren für die Anzeige von Stunden und einen größeren für die Anzeige von Minuten und Sekunden. Einige LEDs leuchten die ganze Zeit - ein sogenannter Kompass, der die Hauptuhrpositionen anzeigt. Auf dem Stundenring steht es für 3, 6, 9 und 12 Uhr, auf dem Minutenring für 15, 30, 45 und 0 Minuten.

Schritt 2: Was werden Sie brauchen?

Was wirst du brauchen
Was wirst du brauchen

Materialien:

  • 1x Arduino Nano (Sie können auch jedes andere Arduino verwenden)
  • 1x DS3231 RealTimeClock-Modul
  • 1x Adressierbarer LED-Ring - 60 LEDs
  • 1x Adressierbarer LED-Ring - 24 LEDs
  • 2x Knöpfe (NO - normalerweise offen)
  • 1x 100kOhm Potentiometer
  • 1x 5V Netzteil (kann 1 Ampere liefern)
  • 1x Versorgungsanschluss
  • Einige Drähte
  • 1x 10kOhm Widerstand
  • 1x Fotowiderstand

  • Prefboard (optional)
  • Klemmenblock-Drahtanschlüsse (optional)
  • 25mm dickes Holz, Größe mind. 22cmx22cm
  • 1mm dünne Matte PVC-Kunststoff Größe 20cmx20xm

Werkzeuge:

  • Grundwerkzeug für den Bau von Elektronik (Lötkolben, Zange, Schraubendreher, …)
  • Bohrmaschine
  • Heißklebepistole
  • Sandpapier und etwas Holzlack
  • CNC-Maschine (vielleicht hat es ein Freund)

Schritt 3: Elektronische Komponenten - Hintergrund

Elektronikkomponenten - Hintergrund
Elektronikkomponenten - Hintergrund
Elektronikkomponenten - Hintergrund
Elektronikkomponenten - Hintergrund
Elektronikkomponenten - Hintergrund
Elektronikkomponenten - Hintergrund

DS3231

Wir konnten die Zeit mit Arduinos eingebautem Oszillator und einem Timer bestimmen, aber ich entschied mich, ein dediziertes Real Time Clock (RTC)-Modul zu verwenden, das die Zeit auch dann verfolgen kann, wenn wir die Uhr von der Stromquelle trennen. Die DS3231-Platine verfügt über eine Batterie, die Strom liefert, wenn das Modul nicht an die Stromversorgung angeschlossen ist. Es ist auch über längere Zeiträume präziser als die Taktquelle von Arduino.

DS3231 RTC verwendet eine I2C-Schnittstelle, um mit dem Mikrocontroller zu kommunizieren – sehr einfach zu bedienen und wir benötigen nur 2 Drähte, um damit zu kommunizieren. Das Modul bietet auch einen Temperatursensor, der in diesem Projekt verwendet wird.

Wichtig: Wenn Sie eine nicht wiederaufladbare Batterie für das RTC-Modul verwenden möchten, sollten Sie den 200-Ohm-Widerstand oder die 1N4148-Diode entlöten. Andernfalls könnte Ihr Akku explodieren. Weitere Informationen finden Sie unter diesem Link.

WS2812 LED-Ring

Ich beschloss, einen 60-LED-Ring zu verwenden, um die Minuten und einen 24-LED-Ring für Stunden zu verfolgen. Sie finden sie bei Adafruit (NeoPixel-Ring) oder einigen günstigen Versionen bei eBay, Aliexpress oder anderen Webshops. Es gibt eine große Vielfalt unter den adressierbaren LED-Streifen und wenn Sie zum ersten Mal damit herumspielen, empfehle ich Ihnen, einige Verwendungsbeschreibungen durchzulesen – hier sind einige nützliche Links:

https://www.tweaking4all.com/hardware/arduino/adr…

https://randomnerdtutorials.com/guide-for-ws2812b…

Der adressierbare LED-Streifen hat 3 Anschlüsse: 5V, GND und DI/DO. Die ersten beiden sind für die Stromversorgung der LEDs, die letzte für die Daten. Seien Sie vorsichtig, wenn Sie den Ring mit Arduino verbinden – Ihre Datenleitung muss mit dem DI-Pin (Daten IN) verbunden sein.

Arduino

Ich verwende Arduino Nano, weil es klein und ausreichend für dieses Projekt ist. Sie können fast jedes andere Arduino verwenden, aber dann müssen Sie vorsichtig sein, wenn Sie alles daran anschließen. Die Tasten und LED-Ringe können sich auf denselben Pins befinden, aber die I2C-Anschlüsse (für das RTC-Modul) können sich von Plattform zu Plattform unterscheiden – sehen Sie sich das Datenblatt an.

Schritt 4: Elektronik - Stromversorgung

Elektronik - Stromversorgung
Elektronik - Stromversorgung

Arduino und LED-Streifen müssen beide mit einer 5V-Stromquelle versorgt werden, damit wir wissen, welche Spannung benötigt wird. Da die LED-Ringe ziemlich viele Ampere ziehen, können wir sie nicht direkt mit Arduino versorgen, das maximal 20 mA an seinem digitalen Ausgang aushalten kann. Nach meinen Messungen können LED-Ringe zusammen bis zu 500 mA ziehen. Deshalb habe ich einen Adapter gekauft, der bis zu 1A liefern kann.

Mit dem gleichen Netzteil wollen wir Arduino und LEDs versorgen - hier ist Vorsicht geboten.

Warnung! Seien Sie besonders vorsichtig, wenn Sie den LED-Streifen testen – das Netzteil darf NICHT an Arduino angeschlossen sein, wenn Arduino auch mit einem USB-Anschluss an den PC angeschlossen ist (Sie können den USB-Anschluss Ihres Computers beschädigen).

Hinweis: In den Schaltplänen unten habe ich den normalen Schalter verwendet, um auszuwählen, ob Arduino über das Netzteil oder über den USB-Anschluss mit Strom versorgt wird. Aber auf dem Perfboard können Sie sehen, dass ich eine Stiftleiste hinzugefügt habe, um auszuwählen, von welcher Stromquelle Arduino mit Strom versorgt wird.

Schritt 5: Elektronik - Löten

Elektronik - Löten
Elektronik - Löten
Elektronik - Löten
Elektronik - Löten
Elektronik - Löten
Elektronik - Löten
Elektronik - Löten
Elektronik - Löten

Wenn Sie alle Teile gesammelt haben, ist es Zeit, sie zusammenzulöten.

Da ich die Verkabelung ordentlich machen wollte, habe ich Perfboard und einige Klemmleistenverbinder für Drähte verwendet, damit ich sie bei Änderungen abziehen kann. Dies ist optional - Sie können die Drähte auch direkt an den Arduino löten.

Ein Tipp: Es ist einfacher, wenn Sie die Schaltpläne ausdrucken, damit Sie sie beim Löten vor sich haben. Und überprüfen Sie alles, bevor Sie es an die Stromversorgung anschließen.

Schritt 6: Software - Hintergrund

Arduino-IDE

Wir werden Arduino mit seiner speziellen Software programmieren: Arduino IDE. Wenn Sie zum ersten Mal mit Arduino spielen, empfehle ich Ihnen, einige Anleitungen dazu zu überprüfen. Es gibt bereits viele Tutorials im Web, daher gehe ich nicht auf Details ein.

Bücherei

Ich entschied mich, die FastLED-Bibliothek anstelle der beliebten Adafruit zu verwenden. Es hat einige nette mathematische Funktionen, mit denen Sie tolle Effekte erzielen können (Daumen hoch an die Entwickler!). Sie finden die Bibliothek in ihrem GitHub-Repository, aber ich habe die ZIP-Datei der Version hinzugefügt, die ich in meinem Code verwende.

Wenn Sie sich fragen, wie Sie der Arduino IDE eine externe Bibliothek hinzufügen können, können Sie einige bereits erstellte Anweisungen überprüfen

Für das Uhrenmodul habe ich die Arduino-Bibliothek für die DS3231-Echtzeituhr (RTC) (Link) verwendet, die Sie einfach in der Arduino IDE installieren können. Wenn Sie sich in der IDE befinden, klicken Sie auf Skizze → Bibliothek einschließen → Bibliotheken verwalten… und filtern Sie dann Ihre Suche mit dem obigen Namen.

Hinweis: Aus irgendeinem Grund kann ich derzeit keine ZIP-Dateien hinzufügen. Sie finden die Bibliothek in meinem GitHub-Repository.

Schritt 7: Software - Code

Software - Code
Software - Code
Software - Code
Software - Code

Struktur

Die Anwendung besteht aus 4 Dateien:

  • LEDclokc.ino Dies ist die Arduino-Hauptanwendung, in der Sie Funktionen zur Steuerung der gesamten Uhr finden – sie beginnen mit dem Präfix CLOCK_.
  • LEDclokc.h hier sind Pin-Verbindungsdefinitionen und einige Taktkonfigurationen.
  • ring.cpp und ring.h hier ist mein Code zur Steuerung der LED-Ringe.

LEDclock.h

Hier finden Sie alle Uhrendefinitionen. Am Anfang stehen Definitionen für die Verdrahtung. Stellen Sie sicher, dass sie mit Ihren Verbindungen übereinstimmen. Dann gibt es noch die Uhrenkonfigurationen – hier finden Sie das Makro für die Anzahl der Modi, die die Uhr hat.

LEDclock.ino

Auf dem Diagramm ist die Hauptschleife dargestellt. Code prüft zuerst, ob eine Taste gedrückt wird. Aufgrund der Natur von Schaltern müssen wir die Entbounce-Methode verwenden, um ihre Werte zu lesen (mehr dazu finden Sie unter dem Link).

Wenn Taste 1 gedrückt wird, wird der Variablenmodus um 1 erhöht, wenn Taste 2 gedrückt wird, wird der Variablentyp erhöht. Wir verwenden diese Variablen, um zu bestimmen, welchen Taktmodus wir sehen möchten. Werden beide Tasten gleichzeitig gedrückt, wird die Funktion CLOCK_setTime() aufgerufen, damit Sie die Uhrzeit der Uhr ändern können.

Späterer Code liest den Wert des Potentiometers und speichert ihn in einer Variablen – mit dieser Variablen kann der Benutzer die Farben der Uhr, die Helligkeit usw. ändern.

Dann gibt es eine switch-case-Anweisung. Hier legen wir fest, in welchem Modus sich die Uhr gerade befindet, und durch diesen Modus wird die entsprechende Funktion aufgerufen, die die LED-Farben einstellt. Sie können Ihre eigenen Uhrmodi hinzufügen und die Funktionen neu schreiben oder ändern.

Wie in der FastLED-Bibliothek beschrieben, müssen Sie am Ende die Funktion FastLED.show() aufrufen, die die LEDs in die Farbe bringt, auf die wir sie zuvor eingestellt haben.

Zwischen den Codezeilen finden Sie viel ausführlichere Beschreibungen

Der gesamte Code ist unten in den Dateien unten angehängt.

TIPP: Sie finden das gesamte Projekt in meinem GitHub-Repository. Hier wird der Code auch aktualisiert, wenn ich Änderungen daran vornehme.

Schritt 8: Machen Sie die Uhr

Mach die Uhr
Mach die Uhr
Mach die Uhr
Mach die Uhr
Mach die Uhr
Mach die Uhr

Uhrrahmen

Ich habe den Uhrenrahmen mit einer CNC-Maschine und 25 mm dickem Holz gebaut. Sie finden die in ProgeCAD gezeichnete Skizze unten im Anhang. Die Schlitze für den LED-Ring sind etwas größer, da die Hersteller nur die Maße des Außendurchmessers angeben – der Innendurchmesser kann stark variieren… Auf der Rückseite der Uhr ist viel Platz für Elektronik und Kabel.

PVC-Ringe

Da LEDs ziemlich hell sind, ist es gut, sie irgendwie zu zerstreuen. Zuerst habe ich es mit transparentem Silikon versucht, das die Aufgabe der Diffusion übernimmt, aber es ist ziemlich chaotisch und es ist schwer, es glatt zu bekommen. Deshalb habe ich ein 20x20 cm großes Stück PVC-Kunststoff „Milch“bestellt und mit einer CNC-Maschine zwei Ringe darin geschnitten. Sie können Schleifpapier verwenden, um die Kanten zu erweichen, damit die Ringe in die Schlitze rutschen.

Seitenlöcher

Dann ist es Zeit, die Löcher für Tasten, Potentiometer und Netzteilanschluss zu bohren. Zeichnen Sie zuerst jede Position mit einem Bleistift ein und bohren Sie dann in das Loch. Hier kommt es darauf an, welche Art von Knöpfen man hat – ich habe Druckknöpfe mit leicht gewölbtem Kopf gewählt. Sie haben einen Durchmesser von 16 mm, also habe ich einen Holzbohrer dieser Größe verwendet. Gleiches gilt für Potentiometer und Stromanschluss. Achten Sie darauf, alle Bleistiftzeichnungen danach zu löschen.

Schritt 9: Zeichnen Sie in das Holz

Zeichne in den Wald
Zeichne in den Wald
Zeichne in den Wald
Zeichne in den Wald
Zeichne in den Wald
Zeichne in den Wald

Ich habe mich entschlossen, ein paar Uhrzeiger in das Holz zu zeichnen – hier können Sie Ihrer Fantasie freien Lauf lassen und Ihre eigenen gestalten. Ich verbrannte das Holz mit einem Lötkolben, der auf maximale Temperatur erhitzt wurde.

Damit die Kreise schön rund werden, habe ich ein Stück Aluminium verwendet, ein Loch hineingebohrt und die Ränder des Lochs mit Lötkolben verfolgt (siehe Bild). Achte darauf, dass du Aluminium fest hältst, damit es beim Zeichnen nicht verrutscht. Und seien Sie dabei vorsichtig, um Verletzungen zu vermeiden.

Wenn Sie Zeichnungen erstellen und möchten, dass sie gut an den Pixeln der Uhr ausgerichtet sind, können Sie den „Wartungsmodus“verwenden, der Ihnen anzeigt, wo sich die Pixel befinden werden (siehe Kapitel Zusammenbauen).

Schütze das Holz

Wenn Sie mit der Uhr zufrieden sind, ist es an der Zeit, sie zu schleifen und mit Holzlack zu schützen. Ich habe sehr weiches Sandpapier (Wert 500) verwendet, um die Kanten zu erweichen. Ich empfehle Ihnen, transparenten Holzlack zu verwenden, damit sich die Farbe des Holzes nicht ändert. Geben Sie eine kleine Menge Lack auf den Pinsel und ziehen Sie ihn in Richtung der Einjährigen im Holz. Wiederholen Sie es mindestens 2 Mal.

Schritt 10: Zusammenbauen

Zusammenbau
Zusammenbau
Zusammenbau
Zusammenbau
Zusammenbau
Zusammenbau

Tannen setzen die Knöpfe und das Potentiometer auf ihre Positionen – wenn Ihre Löcher zu groß sind, können Sie sie mit etwas Heißkleber fixieren. Setzen Sie dann den Ringstreifen in seine Schlitze und verbinden Sie seine Drähte mit dem Arduino. Bevor Sie den LED-Ring an seinen Platz kleben, stellen Sie sicher, dass die LED-Pixel richtig platziert sind – zentriert und mit der Zeichnung ausgerichtet. Zu diesem Zweck habe ich den sogenannten Wartungsmodus hinzugefügt, der alle wichtigen Pixel anzeigt (0, 5, 10, 15, … im Minutenring und 3, 6, 9 und 12 im Stundenring). Sie können diesen Modus aufrufen, indem Sie beide Tasten gedrückt halten, bevor Sie das Netzteil an den Stecker anschließen. Sie können diesen Modus durch Drücken einer beliebigen Taste verlassen.

Wenn Sie Ihre LED-Ringe ausgerichtet haben, tragen Sie etwas Heißkleber auf und halten Sie sie fest, während der Kleber fest wird. Dann nehmen Sie Ihre PVC-Ringe und wieder: Tragen Sie etwas Heißkleber auf die LEDs auf, positionieren Sie sie schnell und halten Sie sie einige Sekunden lang. Am Ende, wenn Sie sicher sind, dass alles funktioniert, können Sie das Pro Board (oder Arduino) auf das Holz kleben. Tipp: Nicht zu viel Kleber auftragen. Nur eine kleine Menge, damit es an einem Ort aufbewahrt wird, aber Sie können es leicht entfernen, wenn Sie später etwas ändern möchten.

Setzen Sie ganz am Ende die Knopfzellenbatterie in ihre Halterung ein.

Schritt 11: Upgrade - Fotowiderstand

Upgrade - Fotowiderstand
Upgrade - Fotowiderstand
Upgrade - Fotowiderstand
Upgrade - Fotowiderstand
Upgrade - Fotowiderstand
Upgrade - Fotowiderstand

Besonders schön sind die Uhreffekte im Dunkeln. Dies kann seinen Benutzer jedoch nachts stören, während er oder sie schläft. Aus diesem Grund habe ich mich entschieden, die Uhr mit der Funktion der automatischen Helligkeitskorrektur aufzurüsten – wenn der Raum dunkel wird; die Uhr schaltet ihre LEDs aus.

Zu diesem Zweck habe ich den Lichtsensor - Fotowiderstand verwendet. Sein Widerstand wird deutlich ansteigen; im Dunkeln bis zu wenigen Megaohm und bei Lichteinfall nur wenige hundert Ohm. Zusammen mit einem normalen Widerstand bilden sie den Spannungsteiler. Wenn sich also der Widerstand des Lichtsensors ändert, ändert sich auch die Spannung am analogen Arduino-Pin (den wir messen können).

Bevor Sie eine Schaltung löten und zusammenbauen, ist es ratsam, diese zuerst zu simulieren, damit Sie das Verhalten sehen und Korrekturen vornehmen können. Mit Hilfe von Autocad Tinkercad können Sie genau das tun! Mit wenigen Klicks habe ich die Komponenten hinzugefügt, verbunden und den Code geschrieben. In der Simulation können Sie sehen, wie sich die Helligkeit der LEDs entsprechend dem Wert des Fotowiderstands ändert. Es ist sehr einfach und unkompliziert - Sie können gerne mit der Schaltung spielen.

Nach der Simulation war es an der Zeit, das Feature zur Uhr hinzuzufügen. Ich bohrte ein Loch in die Mitte der Uhr, klebte den Fotowiderstand auf, verband ihn wie auf der Schaltung zu sehen und fügte einige Codezeilen hinzu. In der Datei LEDclock.h müssen Sie diese Funktion aktivieren, indem Sie USE_PHOTO_RESISTOR als 1 deklarieren. Sie können auch ändern, bei welcher Raumhelligkeit die Uhr die LEDs dimmt, indem Sie den Wert CLOCK_PHOTO_TRESHOLD ändern.

Schritt 12: Viel Spaß

Wenn Sie es zum ersten Mal einschalten, zeigt die Uhr eine zufällige Zeit an. Sie können es einrichten, indem Sie beide Tasten gleichzeitig drücken. Drehen Sie den Drehknopf, um die richtige Zeit auszuwählen und bestätigen Sie diese durch Drücken einer beliebigen Taste.

Inspiration fand ich in einem sehr netten Projekt im Internet. Wenn Sie sich entscheiden, die Uhr selbst zu bauen, sehen Sie sich diese auch an! (NeoClock, Wol Clock, Arduino Colorful Clock) Wenn Sie sich jemals entscheiden, zu versuchen, instructables zu folgen, hoffe ich, dass Sie es so angenehm machen wie ich.

Wenn Sie während des Herstellungsprozesses auf Probleme stoßen, können Sie mir gerne eine Frage in den Kommentaren stellen – ich werde gerne versuchen, sie zu beantworten!

Empfohlen: