Inhaltsverzeichnis:

Wave Lamp - Wetter und Warnungen - Gunook
Wave Lamp - Wetter und Warnungen - Gunook

Video: Wave Lamp - Wetter und Warnungen - Gunook

Video: Wave Lamp - Wetter und Warnungen - Gunook
Video: Praktische Lifehacks gegen vereiste Scheiben | Galileo | ProSieben 2024, Juli
Anonim
Image
Image
Bild
Bild

Beim Durchstöbern von Dingiverse habe ich diese absolut erstaunliche Wave-Lampe gesehen und musste sie bauen.

www.thingiverse.com/thing:774456

Die Lampe ist sehr gut gestaltet und druckt ohne Stützen (muss seitlich bedruckt werden)

Außerdem gibt es einen Lampensockel, der LED-Streifen aufnimmt

Bild
Bild

Und natürlich konnte ich es nicht einfach bei einer Nachttischlampe belassen. Ich musste es WLAN machen und das Wetter anzeigen. Also verwende ich ein allgegenwärtiges ESP8266-Modul mit WS2812B-LEDs, um die Farbe der Lichter basierend auf der heutigen Prognose zu steuern. Außerdem schaltet sich das Licht automatisch um 22:00 Uhr aus und um 6:00 Uhr EIN.

Schritt 1: Anforderungen

Anforderungen
Anforderungen
Anforderungen
Anforderungen

Sie benötigen die folgenden Elemente, um diese Wellenlampe zu erstellen:

Werkzeuge:

  1. 3D-Drucker - einer, der mindestens 30-35 cm drucken kann
  2. USB-TTL-Modul zur Programmierung des ESP-12E
  3. Heißklebepistole
  4. Lötkolben

Verbrauchsmaterial:

  1. PLA - weiß für die Lampe und eine andere Farbe für den Sockel
  2. 30 WS2812B adressierbare RGB-LEDs
  3. ESP8266 - 12E
  4. 74HCT245N
  5. 5V Netzteil
  6. 5V-3.3V Stromwandler
  7. Ein paar Header-Pins und Widerstände
  8. Lot

Schritt 2: 3D-Druck

3D-Druck
3D-Druck
3D-Druck
3D-Druck
3D-Druck
3D-Druck

3D-Drucken Sie die folgenden Teile

Die Lampe

  1. Drucken Sie mit dem weißen PLA, das an der Seite gedreht ist
  2. Stützen und Flöße sind nicht erforderlich
  3. Obwohl ich eine 5 mm Krempe verwendet habe, um sicherzustellen, dass sie beim Drucken am Bett kleben bleibt
  4. Ich habe folgende Einstellungen verwendet:

    • 0,8 mm Vulkandüse und 0,3 mm Schichthöhe.
    • 2 Umfänge
    • 100% Infill (das spielt keine Rolle, da die Stücke so dünn sind, werden sie sowieso ausgefüllt)
  5. Seien Sie gewarnt – dies ist ein riesiger Druck und nimmt viel Zeit in Anspruch. Wenn Sie Ihren Drucker also nicht über Nacht (oder über mehrere Nächte) verlassen möchten, ist dies nichts für Sie. Lassen Sie es mit 3Dhubs drucken. Meiner hat ~30 Stunden gebraucht

Der Stand

  1. Ich habe den Ständer mit TinkerCAD modifiziert, um einen Hohlraum in der Basis für die Elektronik zu schaffen. Sie können es hier herunterladen:
  2. Drucken Sie mit dem farbigen PLA (ich habe Woodfill verwendet):

    • 0,8 mm Vulkandüse und 0,3 mm Schichthöhe.
    • 2 Umfänge
    • 20% Füllung
  3. Seien Sie jedoch gewarnt - der von mir erstellte Hohlraum hat keine Stützen und das Innere wird ein wenig unordentlich (besonders bei der Holzfüllung PLA, die nicht gut überbrückt).

Die Spitze

Dies ist ein optionales Stück. Ich habe es in TinkerCAD erstellt, um das Loch oben in der Lampe zu verbergen. Es ist nichts tolles, aber es funktioniert.

  1. https://www.tinkercad.com/things/5aD6V4O0jpy
  2. Stützen und Flöße sind nicht erforderlich
  3. Ich habe folgende Einstellungen verwendet:

    • 0,8 mm Vulkandüse und 0,3 mm Schichthöhe.
    • 2 Umfänge
    • 30% Füllung

Schritt 3: Elektronische Schaltung

Elektronische Schaltung
Elektronische Schaltung
Elektronische Schaltung
Elektronische Schaltung
Elektronische Schaltung
Elektronische Schaltung

Die für diese Lampe verwendete Schaltung ist extrem einfach und wenn Ihre WS2812Bs (einige tun, andere nicht) mit einem 3,3-V-Signal arbeiten, ist es noch einfacher, da Sie dann den 74HCT245N vermeiden können.

Der Hauptstromkreis (siehe Schema oben):

  1. ESP-12E (Sie können diese Schritte überspringen, wenn Sie eines der vorgefertigten Module von Adafruit, Sparkfun usw. verwenden):

    • Verbinden Sie die Pins 3 und 8 mit 3,3 V
    • Verbinden Sie die Pins 1, 11 und 12 mit 3,3 V über einen 10k-Widerstand
    • Verbinden Sie die Pins 9 und 10 mit GND
    • Verbinden Sie Pin 12 über einen offenen 2-poligen Stecker mit GND. Diese Pins können miteinander verbunden werden, um den ESP-12E zu programmieren
    • Verbinden Sie die Pins 15 und 16 mit den Header-Pins (dies sind RX- und TX-Pins, die zum Programmieren des ESP-12E verwendet werden)
  2. 74HCT245N (ignorieren Sie dies, wenn Ihre WS2812B-LEDs direkt mit 3,3 V arbeiten)

    • Verbinden Sie die Pins 1 und 20 mit +5V
    • Verbinden Sie die Pins 10 und 19 mit GND
    • Verbinden Sie Pin 2 mit Pin 13 von ESP-12E
  3. WS2812B

    • Verbinden Sie +5V und GND mit den +5V- bzw. GND-Pins
    • Verbinden Sie die DIN mit Pin 18 am 74HCT245N
    • Wenn Sie den 74HCT245N überspringen, verbinden Sie den DIN mit Pin 13 des ESP-12E

Stellen Sie sicher, dass alle GNDs miteinander verbunden sind. Stellen Sie sicher, dass Sie +5 oder +3.3 nicht mit GND verbinden.

Ich hatte ein paar Boards aus einem früheren Projekt liegen und diese einfach verwendet (Bilder oben)

github.com/dushyantahuja/ESP8266-RGB-W-LED…

Schritt 4: Programmierung des ESP-12E

Programmierung des ESP-12E
Programmierung des ESP-12E

Ich habe die Arduino IDE verwendet, um den Code auf den ESP-12E hochzuladen. Es erfordert einige Einstellungen, bevor Sie dies tun können.

Einrichten der Arduino-IDE

Die neueste Version der Arduino IDE hat es einfacher gemacht, diese Boards zu programmieren, und Sie müssen nicht mehr mehrere Reifen durchlaufen, um sie mit den ESP8266-Boards zum Laufen zu bringen.

Die Schritte sind wie folgt:

  1. Laden Sie die neueste IDE von https://www.arduino.cc/en/Main/Software herunter
  2. Öffnen Sie die IDE und gehen Sie zu Tools -> Boards -> Boards Manager…
  3. Suchen Sie nach ESP8266 und klicken Sie auf Installieren (siehe Bild oben)

Programmierung des Moduls

Dieses Modul wird nicht mit einer USB-Schnittstelle geliefert, daher müssen Sie ein USB-TTL-Modul / Arduino verwenden, um die USB-Kommunikation mit dem Computer abzuwickeln. Sie können jedes der billigen Module kaufen, die bei ebay (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) erhältlich sind - alle funktionieren gleich - nur die richtigen Treiber zu finden, also dass Ihr Computer das Modul erkennt.

Die Verbindungen sind ziemlich einfach:

  1. Verbinden Sie die GND von USB-TTL mit dem mit GND gekennzeichneten Pin des ESP-12E
  2. Verbinden Sie die 3,3 V vom USB-TTL mit dem mit VCC gekennzeichneten Pin des ESP-12E
  3. Verbinden Sie den TX vom USB-TTL mit dem mit RX gekennzeichneten Pin am ESP-12E
  4. Verbinden Sie den RX vom USB-TTL mit dem mit TX gekennzeichneten Pin am ESP-12E
  5. Schließen Sie den Programm-Header kurz, so dass PIN 12 mit GND verbunden ist

Das Modul kann nun programmiert werden.

Schritt 5: Der Code

Der Code ist stark abhängig vom Tutorial zu Random Nerd Tutorials https://randomnerdtutorials.com/esp8266-weather-fo… - tatsächlich werden die Wetterbits rein kopiert.

  1. Installieren Sie die folgenden Bibliotheken:

    • FastLED (https://fastled.io)
    • ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
    • ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
  2. Holen Sie sich eine OpenWeatherMap-API (https://openweathermap.org/api)
  3. Laden Sie den Code vom Github herunter:
  4. Nehmen Sie die folgenden Änderungen vor:

    • Wifi und Passwort auf den Linien 56 und 57
    • Stadt und API-Schlüssel auf den Linien 23 und 24
  5. Auf ESP-12E hochladen

Wenn alles gut gegangen ist, wird der Code hochgeladen, Ihr Modul verbindet sich mit dem WLAN-Router und zeigt das Wetter an. Derzeit habe ich Folgendes eingerichtet:

  1. Wenn es bewölkt / regnet - Blau
  2. Wenn es schneit / gewittert - Rot-Blau
  3. Wenn es klar ist - Grün
  4. Sonst Rainbow - um Sonderbedingungen / Fehlern Rechnung zu tragen

Sie können die Zeilen 365-377 ändern, um diese zu ändern. Die verwendeten Paletten befinden sich auf den Zeilen 70-82

Schritt 6: Zusammenbauen

Image
Image
Arduino-Wettbewerb 2017
Arduino-Wettbewerb 2017

Montieren Sie die folgenden Teile:

  1. Wickeln Sie den LED-Streifen auf den LED-Ständer und kleben Sie ihn mit Heißkleber fest
  2. Schaltungsmodul unten einsetzen und mit Heißkleber fixieren
  3. Schieben Sie die Wellenlampe auf die Oberseite des LED-Ständers
  4. Legen Sie die Oberseite auf die Oberseite

An eine 5V-Stromversorgung anschließen und genießen

Schritt 7: Zukunftspläne

Im Moment funktioniert es, aber ich plane, die folgenden Funktionen hinzuzufügen:

  1. Integrieren Sie MQTT, damit es mit OpenHAB verknüpft werden kann
  2. Vielleicht erstellen Sie eine Art Benachrichtigungsfunktion für verpasste Anrufe / Nachrichten
  3. Licht aufwachen

Vorschläge willkommen. Und wenn Sie eines erstellen, stellen Sie sicher, dass Sie hier ein Bild posten.