Inhaltsverzeichnis:

NeoPixel-Uhr - Gunook
NeoPixel-Uhr - Gunook

Video: NeoPixel-Uhr - Gunook

Video: NeoPixel-Uhr - Gunook
Video: NeoPixel Clock with FRDM KL25Z 2024, Juli
Anonim
Image
Image
Erforderliche elektronische Teile
Erforderliche elektronische Teile

*********************************************************************************************************

DIES IST EIN EINTRAG ZUM MICRO CONTROLLER WETTBEWERB, BITTE STIMMEN SIE FÜR MICH

********************************************************************************************************

Ich habe vor einigen Jahren in Thailand einen NeoPixel-Infinity-Spiegel gebaut und kann HIER besichtigt werden.

Ich habe es auf die harte Tour gemacht, nicht mit einem Arduino, sondern mit einem eigenständigen Mikroprozessor, einem PIC18F2550. Dies beinhaltete, in die Register und Timings des Mikros einzudringen, um den Code zu schreiben, von dem einige Assemblys enthielten.

Dies ist alles ein großartiges Wissen und hat mir gut getan, da es die Arbeit mit Arduino zum Kinderspiel macht. Die meiste Arbeit wurde durch die Verwendung von Bibliotheken von Drittanbietern geleistet, während ich zuvor meinen eigenen Bibliothekscode schrieb.

Diese Uhr wurde entwickelt, um Licht von der Peripherie auf die Wand zu emittieren, an der sie befestigt ist, indem WS2812B einzeln adressierbare RGB-LEDs mit einem Abstand von 144 pro Meter verwendet werden. Dies gab mir einen Uhrendurchmesser von 200 mm, etwas, das ich auf meinem 3D-Drucker selbst herstellen konnte.

Es hat eine atemberaubende Wirkung, besonders nachts oder in einem abgedunkelten Raum, das Licht strahlt etwa 500 mm aus und ergibt eine Gesamtblende von über einem Meter Durchmesser. Die Muster sind erstaunlich.

Die Uhr zeigt Stunden (blau), Minuten (grün) und Sekunden (rot) an. Außerdem wird das Datum auf einer 8-stelligen 7-Segment-Anzeige und der Wochentag in Listenform angezeigt.

Die Uhr wird per Smartphone über WLAN mit der Blynk-App und einem lokalen Blynk-Server gesteuert, der auf einem RPi 3 läuft.

Die Verwendung eines lokalen Servers für Blynk ist optional und die Einrichtung ist nicht Teil dieser Anleitung. Der im Web gehostete Blynk kann verwendet werden, nachdem ein Konto auf www.blynk.cc erstellt und die App heruntergeladen wurde.

Es gibt eine Menge Informationen zur Verwendung von Blynk auf ihrer Website, daher ist es nicht Teil dieses instructable.

In einem späteren Schritt in diesem anweisbaren gibt es einen QR-Code zum Scannen, Sie haben dann meine App auf Ihrem Telefon.

Die App verfügt über Steuerelemente zum Anzeigen der Uhr oder Muster (mit LCD-Feedback in der App), die Möglichkeit, Ihre Zeitzone überall auf der Welt einzustellen und die Zeit über einen NTP-Server abzurufen. Es kann auch auf Schlaf eingestellt werden.

Es gibt ein Echtzeituhrmodul mit Batterie-Backup, das dem Arduino Zeit- / Datumsfunktionen bietet.

Die Firmware auf der NodeMCU-E12 in der Uhr kann über die Luft (OTA) aktualisiert werden.

Jetzt können wir loslegen……

Schritt 1: Erforderliches Werkzeug

Ein guter Lötkolben und Lötzinn

Abisolierzangen

kleine Drahtschneider

kleine Spitzzange

kleine Säge zum Schneiden von Vero-Platten

scharfes Hobbymesser

Schere

Papierkleber

Schritt 2: Elektronische Teile erforderlich

Erforderliche elektronische Teile
Erforderliche elektronische Teile
Erforderliche elektronische Teile
Erforderliche elektronische Teile

1 x NodeMCE-12E Modul von HIER

1 x RTC-Uhrenmodul HIER

1 x 8-stelliges 7-Segment-Max7219-Modul hier

1 x Gleichstrombuchse hier

2 x Level Shifter (erforderlich, da Arduino 3,3 V und RTC & 7-Segment-Anzeige 5 V beträgt) hier

68 LEDs eines WS2812B 114/mtr LED-Streifens hier.

DC 5V 10A Netzteil hier.

10kOhm 1/4W Widerstand.

Je nach Bedarf Anschlussdraht.

Ca. 77 mm x 56 mm Vero-Platine, um alle Module zu montieren und zu verdrahten.

Ich habe tatsächlich einen Adafruit Level Shifter für die I2c-Leitungen des RTC-Moduls verwendet, da er I2c-sicher sein sollte !!

Ich denke jedoch, dass die meisten bidirektionalen Logikpegelumsetzer von 3,3 V bis 5 V funktionieren sollten.

Durch das Schneiden des LED-Streifens wurde eine LED verschwendet, da die Pads zum Löten beider Enden des 60-LED-Streifens erforderlich waren und die Pads auf dem 7-LED-Streifen benötigt werden.

Schritt 3: Gedruckte Teile

Gedruckte Teile
Gedruckte Teile
Gedruckte Teile
Gedruckte Teile
Gedruckte Teile
Gedruckte Teile

Es gibt drei 3D-gedruckte Teile; das Hauptuhrgehäuse, die Frontabdeckung und die Batterieabdeckung auf der Rückseite.

Der Batteriedeckel könnte entfallen.

Unter der Vorderseite befindet sich auch eine aufgedruckte 'Maske' mit den Wochentagen darauf. Ich habe dies auf normalem Papier gedruckt. Ich habe eine.dwg- und eine.dxf-Datei davon geliefert.

Es stehen 2 Frontcover zur Verfügung, eines hat keinen Namen, nur für den Fall, dass Sie das Teil nicht bearbeiten können.

Mein 3D-Drucker (0,4 mm Düse) hatte mit Slic3r folgende Einstellungen:

Höhe der ersten Schicht = 0,2 mm

Schichthöhe = 0,2 mm

Betttemperatur = 60 C

Düsentemperatur = 210 C

vertikaler Umfang = 2

horizontale Schalen = 3

Füllung = Sterne geradlinig bei 45 Grad

keine Krempe

kein Trägermaterial

Es wird dringend empfohlen, eine Bettnivellierungsmethode zu verwenden

3D-gedruckte Dateien und Maskenzeichnung hier:

Schritt 4: Komplette Montagedatei

Unten ist eine IGS-Datei der kompletten Baugruppe für alle, die die Uhr ändern möchten.

Schritt 5: Installieren der Bibliotheken

ESP-PLATTEN INSTALLIEREN

Sie benötigen die Arduino-IDE. Dies zu installieren ist nicht Teil dieses instructable, kann aber von HIER heruntergeladen werden.

Sobald die Arduino IDE installiert ist, müssen Sie, falls noch nicht geschehen, den folgenden Text in das Textfeld unter Datei> Einstellungen - Zusätzliche Boards-Manager-URLs kopieren / einfügen:

arduino.esp8266.com/stable/package_esp8266com_index.json

Starten Sie die IDE neu.

Nachdem Sie dies getan haben, gehen Sie zu Tools> Board> Boards Manager. Lassen Sie die Aktualisierung abgeschlossen und Sie sollten die ESP8266-Community-Version in der Liste der installierten Boards sehen.

BIBLIOTHEK INSTALLIEREN

Installieren Sie alle Bibliotheken in Ihrem Ordner Documents/Arduino/Libraries wie gewohnt, außer denen, die vom Board-Manager installiert wurden.

Nachdem Sie die Bibliotheken installiert haben, starten Sie die Arduino IDE neu, gehen Sie zu Sketch> Include Library> Manage Libraries, lassen Sie die Aktualisierung abschließen. Sie sollten Ihre neuen Bibliotheken in der Liste sehen.

RTClib - hier verfügbarAdafruit_NeoPixel - hier verfügbar

HCMAX7219 von hier

Blynk - hier erhältlich. befolgen Sie die Installationsanweisungen SORGFÄLTIG.

Alle anderen 'includes' in der NeoPixelClock-Datei werden entweder vom Board Manager installiert oder mit der Arduino IDE-Installation gepackt.

Schritt 6: Installieren der Firmware

Zu diesem Zeitpunkt bietet es sich an, alles zu Testzwecken auf einem Brotbrett zusammenzuverdrahten.

Überprüfen Sie alle Kabel sorgfältig, bevor Sie das 5-V-Netzteil und/oder das USB-Kabel anschließen.

Navigieren Sie zu Ihrem Sketch-Ordner Dokumente> Arduino.

Erstellen Sie einen Ordner "NeopixelClock".

Legen Sie die folgende.ino-Datei in den Ordner.

Öffnen Sie die Arduino-IDE.

Stellen Sie die IDE so ein, dass Zeilennummern angezeigt werden, gehen Sie zu Datei> Einstellungen und aktivieren Sie das Kontrollkästchen "Zeilennummern anzeigen", klicken Sie auf OK.

Verbinden Sie Ihr NodeMCU-Board mit einem USB-Port.

Gehen Sie zu Tools> Board und wählen Sie NodeMCU 1.0 (ESP-12E-Modul)

Gehen Sie zu Tools>Port und wählen Sie den Port aus, mit dem Ihr Board verbunden ist.

OTA-FIRMWARE INSTALLIEREN

Um das OTA-Update zu nutzen, müssen Sie zunächst eine spezielle Firmware auf die NodeMCU brennen.

Gehen Sie zu Datei>Beispiele>ArduinoOTA>BasicOTA.

ein Programm wird in die IDE geladen, füllen Sie den Teil für ssid mit der SSID Ihres Routers aus. Sie können diesen Namen sehen, wenn Sie mit der Maus über das WLAN-Symbol in der Taskleiste fahren.

Geben Sie das Kennwort mit Ihrem Netzwerkkennwort ein (normalerweise auf der Unterseite des WLAN-Routers angegeben.

Laden Sie nun über USB auf Ihr NodeMCU-Board hoch.

Wenn Sie fertig sind, drücken Sie die Reset-Taste auf der NodeMCU-Platine.

INSTALLIEREN SIE DIE NEOPIXELCLOCK-FIRMWARE

Gehen Sie zu Datei>Skizzenbuch>NeoPixelClock und öffnen Sie die NeoPixelClock-Datei.

Geben Sie 'auth', 'ssid' und 'pass' in Zeile 114 ein.

Notiz; wie Sie das Autoritäts-Token erhalten, wird im nächsten Schritt erklärt

Sie können auch Ihre lokale Zeitzone in Zeile 121 einstellen. Dies kann jede 1/4 Stunde zwischen -12 und +14 gemäß Zeitzonen auf der ganzen Welt sein. Dies kann auch in der App eingestellt werden, wenn Sie es vorziehen. Es ist derzeit für Queensland, Australien, eingestellt.

Unter Leitungsnummer 332 müssen Sie die IP-Adresse für Ihren lokalen Server einstellen, wenn Sie diesen verwenden.

Ein Hinweis zum lokalen Serverport. Aufgrund eines kürzlichen Updates der Blynk-Software lautet der Port jetzt 8080 und nicht 8442.

Wenn Sie die neue aktualisierte Software verwenden, ändern Sie dies.

Oder wenn Sie den Blynk-Webserver verwenden, kommentieren Sie Zeile 332 und entkommentieren Sie Zeile 333.

Das ist alles, was gemacht werden muss.

Laden Sie diese nun über USB auf Ihr NodeMCU-Board hoch.

Wenn dies erfolgreich hochgeladen wurde, trennen Sie das USB-Kabel von der Platine.

Sie sehen unter Tools>Port einen neuen Port (sieht aus wie eine IP-Adresse), wählen Sie diesen als Ihren Port aus, um mit der NodeMCU für zukünftige Updates zu kommunizieren, die Sie möglicherweise durchführen.

Wenn alles gut gelaufen ist, sollte die Uhr starten, wenn nicht, drücken Sie die 'Reset'-Taste am NodeMCU-Modul.

Hinweis: Mir ist aufgefallen, dass es manchmal nicht beim ersten Mal startet. Ich habe festgestellt, dass das Trennen des Netzteils und das erneute Anschließen meistens funktioniert. Ich arbeite an einer Lösung für diesen Fehler, um richtig zu booten.

Schritt 7: Smartphone-App

Smartphone-App
Smartphone-App
Smartphone-App
Smartphone-App

Um es zu verwenden:

1. Laden Sie die Blynk-App herunter: https://j.mp/blynk_Android oder https://j.mp/blynk_iOS, falls noch nicht installiert.

2. Öffnen Sie die App oder melden Sie sich an. Wenn Sie neu sind, müssen Sie ein Konto erstellen.

HINWEIS, dies ist nicht dasselbe wie das Online-Konto.

3. Tippen Sie oben in der App auf das QR-Symbol und richten Sie die Kamera auf den QR-Code oben oder öffnen Sie den Link unten -

tinyurl.com/yaqv2czw

4. Ein Autoritätscode sollte an Ihre nominierte E-Mail gesendet werden, den Sie in den Arduino-Code einfügen sollten, wo in einem späteren Schritt angegeben. Wenn Sie das Nuss-Symbol drücken, können Sie bei Bedarf erneut eine E-Mail senden.

Wie bereits erwähnt, sollten Sie online unter www. Blynk.cc ein Konto erstellen. bevor Sie dies tun.

Verzeihen Sie mir die Unklarheiten, ich kann das nicht testen, da ich die App bereits habe und den Webserver nicht nutze.

Schritt 8: Aufbau der Vero-Platinenbaugruppe

Aufbau der Vero-Board-Baugruppe
Aufbau der Vero-Board-Baugruppe
Aufbau der Vero-Board-Baugruppe
Aufbau der Vero-Board-Baugruppe
Aufbau der Vero-Board-Baugruppe
Aufbau der Vero-Board-Baugruppe

Ich beschloss, alle Boards und Module auf ein Stück Vero-Board zu legen.

So bleibt alles sauber und ordentlich.

Der Schaltplan ist in der.pdf-Datei unten zu sehen.

Die Header auf der Platine wurden nach dem Testen entfernt, ich habe alle Peripheriegeräte direkt mit der Vero-Platine verdrahtet, da nicht genügend Platz für die Header und die zugehörigen Anschlüsse vorhanden war.

Leider habe ich keine Fotos von der Unterseite des Boards gemacht, aber es sollte nicht allzu schwierig sein, es herauszufinden. Sie können mein Layout sogar verbessern. Lassen Sie das Vero-Board die gleiche Größe, sonst passt es nicht auf die 3D-gedruckte Basis.

Mit den Logikpegelumsetzern geht der LV (+3,3 V) auf 3,3 V an einem der 3 V-Pins des Arduino-Moduls, der HV (+ 5 V) geht auf den VIN-Pin auf der Arduino-Platine.

Alle Grounds kommen von einem / allen Arduino GND-Pins und sollten alle miteinander verbunden sein, um Schleifen zu vermeiden.

Verdrahten Sie mit etwas wie 26 Gauge isoliertem einadrigem Draht, PTFE-Isolierung wäre gut, da sie nicht schmilzt.

Überprüfen Sie alle Ihre Kabel 2 oder 3 Mal sorgfältig.

Gehen Sie mit einem auf Durchgangsprüfung eingestellten Multimeter darüber und prüfen Sie, ob alle Gnds wieder mit der VIN GND verbunden sind.

Überprüfen Sie alle +5V-Anschlüsse am RTC-Modul, die beiden HV-Pins des Level-Shifter-Moduls und den VIN +5V-Pin am NodeMCU-Modul.

Gute Idee, auch alle anderen Kabel zu überprüfen.

Schritt 9: Uhrenmontage

Uhrenmontage
Uhrenmontage
Uhrenmontage
Uhrenmontage
Uhrenmontage
Uhrenmontage

Nachdem Sie die Teile gedruckt haben, entfernen Sie mit einem scharfen Hobbymesser alle Grate und Klumpen und Unebenheiten.

Da ich nur blaues und schwarzes Filament hatte, habe ich die Innenseiten der LED-Hohlräume mit silberner Modellfarbe lackiert.

Dies sollte meiner Meinung nach dazu beitragen, das Licht besser zu reflektieren und auch dazu beitragen, das Durchschlagen von Licht durch die Wände in benachbarte Hohlräume zu verhindern.

Die Vero-Platinenbaugruppe muss verkabelt werden:

zum LED-Streifen +5V, Gnd und DIN von der Vero-Platinenbaugruppe.

zur 7-Segment-Anzeige von der Vero-Platine.

an die DC-Buchse von der Vero-Platinenbaugruppe.

Ein Draht zum separaten 7-Wege-LED-Streifen (DIN) vom Ende (Nummer 60) des Haupt-60-Wege-LED-Streifens (DOUT).

Ich habe nur die Daten (DOUT) vom Ende (LED-Nummer 60) des 60-Wege-LED-Streifens, die + 5 V und Gnd für den 7-Wege-LED-Streifen, den ich von der Vero-Platine verdrahtet habe, gelötet.

Um Kurzschlüsse zu vermeiden, habe ich ein kleines Stück dünne Karte zwischen Anfang und Ende des 60-Wege-LED-Streifens gelegt, da sie sehr nah waren.

Messen und schneiden Sie alle Drähte auf die entsprechenden Längen, ich habe 5 oder 6 mm hinzugefügt, um ein wenig Spielraum zu haben.

Das Klebeband-Trägerpapier habe ich nicht von den LED-Streifen entfernt, dies hätte das Einlegen in die Basis erschwert und das Entfernen bei Bedarf sehr schwierig gemacht.

Ich fand, dass die Streifen schön und eng anliegen, schieben Sie sie dann bis zum Boden des Hohlraums.

Platzieren Sie die Vero-Platinenbaugruppe in der Vertiefung. Es gibt Abstandshalter, um sie 2 mm vom Boden entfernt zu halten.

Setzen Sie die 8-Wege-7-Segment-Anzeige in den Hohlraum ein.

Die DC-Buchse passt gut in ihren Hohlraum, löten Sie die Drähte an der Innenseite der Tags an. Entfernen Sie das Seitenetikett, wenn Sie möchten.

Alle Drähte sollten sauber in die vorgesehenen Hohlräume gelegt werden.

Führen Sie abschließend die Strombuchse des Netzteils durch das Loch und führen Sie sie in die DC-Buchse ein, schieben Sie das Kabel in die darunter vorgesehene Nut.

Überprüfen Sie alle Ihre Verdrahtung sorgfältig 2 oder 3 Mal. Siehe Verdrahtungsplan unten.

Schritt 10: Anbringen der vorderen Abdeckung zum Abschluss

Der Basisblock hat mehrere kleine Stifte, die am Außenring nach oben ragen, diese sollten mit den Löchern in der Frontabdeckung fluchten.

Die Papiermaske sollte schwarz gedruckt, ausgeschnitten und mit etwas wie einem Klebestift auf die Vorderseite geklebt werden.

Die Löcher werden durch das Papier gestanzt, wenn es mit der vorderen Abdeckung auf die Basis gedrückt wird.

Wir sind bereit zu gehen, stecken Sie es ein, die Uhr sollte automatisch starten, wenn nicht, wie ich mehrmals festgestellt habe, den Stecker ziehen und wieder einstecken.

Wenn Sie keine Batterie im RTC-Modul haben, müssen Sie Uhrzeit und Datum einstellen.

Tun Sie dies mit der App, stellen Sie die Zeitzone mit dem Auf/Ab-Regler ein und drücken Sie dann die Taste 'SET NTP TIME'.

Sie sehen im App-Terminal, ob es erfolgreich ist oder nicht, wenn nicht, versuchen Sie es erneut.

Wenn FERTIG angezeigt wird, kann die Uhrtaste gedrückt werden und die Uhr sollte laufen und Uhrzeit, Datum und Wochentag anzeigen.

Patterns können durch Drücken der Patterns-Taste ausgeführt werden, dies kann jederzeit durch erneutes Drücken der Clock-Taste oder der Patterns-Taste unterbrochen werden.

Die Helligkeit der Uhren-LEDs und der 7-Segment-Anzeige kann mit den zugehörigen Schiebereglern in ihrer Helligkeit angepasst werden.

Alle LEDs können durch Drücken der Ausschalttaste der Uhr ausgeschaltet werden.

Hängen Sie es an die Wand und das Licht scheint nach außen an die Wand, besonders schön in einem abgedunkelten Raum.

Alle Fragen werde ich nur zu gerne versuchen und beantworten.

GENIESSEN Sie und vergessen Sie nicht, für mich zu stimmen.

************************************************* ************************************************* ***** DIES IST EIN EINTRAG ZUM MICRO CONTROLLER WETTBEWERB, BITTE STIMMEN SIE FÜR MICH ******************************** ************************************************* **********************

Empfohlen: