Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Komponenten und Zubehör

SparkFun LED – SMD RGB (WS2812) – Ich platzierte die LEDs in Modulen zu je 4 und benötigte 11 Module ×44
Arduino Nano R3 ×1
Fotowiderstand ×1
IKEA „MONTERA“ Kabelkanal ×2
Male Header 40 Position 1 Row (2,54 mm) ×7
M20-1060300 Wire-To-Board Connector, Crimp, Receptacle, 3-polig, 2,54 mm – 2 pro LED-Modul (plus Reserve) ×25
M20-1180046 Kontakt, M20 Serie, Socket, Crimp, 22 AWG, verzinkt – 6 pro LED-Modul, kommen in 100er-Packung ×1 Packung

Benötigte Werkzeuge und Maschinen

Über dieses Projekt

Vor einiger Zeit begann ich an einem Projekt zu arbeiten, um unser Atrium-Zimmer dezent zu beleuchten, das im Herbst und Winter etwas zu düster wird. Ich wollte etwas Natürlicheres als harte LED-Lichter, am besten den lebendigen Look flackernder Kerzen.

Für Ungeduldige (die nicht bis ganz nach unten scrollen wollen, um ein Video zu finden), hier das Ergebnis:

...und eine Weihnachts-Version:

Nun zurück zur Geschichte:

Aber eine realistische künstliche Flamme zu erstellen, ist keine leichte Aufgabe. Meine Idee war daher, die Lichter so zu platzieren, dass man die „Flamme“ nicht direkt sieht, sondern nur das Licht, das sie erzeugt, an der Wand tanzen sieht.

Da der Raum mostly aus Glaswänden besteht, war die offensichtliche Wahl, das Licht auf die weißen Träger zu projizieren, die die Fenster halten. Ich entschied mich, die Lichter an der Unterseite des horizontalen Trägers zu platzieren, sodass das Licht nach unten auf die vertikalen Träger projiziert wird.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Vorbereitung und Planung

Da ich jede „Kerze“ einzeln steuern wollte, war die Wahl der LED klar: Es sollten WS2812-basierte LED-Module sein, also bestellte ich 100 einzelne LEDs.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Wie du im Bild oben siehst, hat jede LED sechs Anschlüsse – und eine Richtung, die durch einen Pfeil auf der Rückseite markiert ist.

Zwei Anschlüsse sind mit 5V markiert, zwei mit GND, dann gibt es Din (Data In) und Dout (Data Out). Die beiden 5V sind miteinander verbunden, genauso die beiden GNDs. In der Praxis gibt es also vier Anschlüsse: 5V, GND, Din und Dout.

Nach Experimenten mit unterschiedlicher LED-Anzahl pro „Kerze“ kam ich auf die Zahl vier. Diese Anzahl ermöglichte genug interessante Lichteffekte pro Träger für einen realistischen Kerzen-Look, ohne zu viele LEDs zu benötigen.

Würde ich es nochmal machen, würde ich 2×2-LED-Module bestellen, um die Montage zu vereinfachen.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Der Controller musste nicht sehr fortgeschritten sein, und meine Annahme war, dass ein Arduino Nano ausreicht.

Die Platzierung des Arduino war nicht offensichtlich. Am Ende entschied ich mich, ihn auf dem horizontalen Träger selbst zu platzieren, hinter dem dicken Pfeiler, der im ersten Foto oben sichtbar ist (ganz links). Der Pfeiler steht in der Raumecke, wo die beiden Glaswände aufeinandertreffen (von denen die „rechte“ Wand im Foto gezeigt wird). So konnte ich die LEDs auf zwei parallelen Strings verlegen – einen für jede Wand – um die physische Länge jedes Strings zu minimieren. Jetzt beträgt die Gesamtlänge jedes Strings ca. 4 Meter (13 ft) statt eines einzigen doppelt so langen Strings.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Der Adafruit NeoPixel Überguide war hier eine sehr gute Lektüre; wenn du mit WS2812 LED-Modulen spielen willst, solltest du ihn unbedingt durchlesen! Er erklärte mir zum Beispiel, warum es gut ist, die physische Kabellänge zu begrenzen.

Kabel verstecken

...war in meinem Fall nicht allzu schwer, da die LEDs an der Unterseite des horizontalen Trägers platziert werden sollten. Ich suchte nach einem günstigen Kabelkanal und fand einen bei IKEA (kann nicht sagen, ob das ironisch oder offensichtlich ist, da ich aus Schweden komme).

Die LED-Module selbst wurden einfach mit starkem doppelseitigem Klebeband befestigt.

LED-Module erstellen

Da ich nicht alles auf einem einzigen durchgehenden String verlöten wollte (ich stellte mir den Kabelsalat vor, den ich beim Installieren an der Unterseite des Trägers erleben würde), entschied ich mich, die LED-Module mit Steckverbindern für die Kabel zu bauen.

Die LED-Module sollten direkt neben den vertikalen Trägern platziert werden, um so viel Licht wie möglich darauf zu reflektieren. Ich wollte auch, dass das Kabel nah am Träger verläuft – und ich musste die Richtung der LEDs beachten. Das führte mich zu zwei Versionen des Moduls: eines für den String, der vom Arduino nach rechts geht, und eines für links.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Die beiden Modul-Versionen erforderten zwei einzigartige Löt-Layouts, wobei der Hauptunterschied darin bestand, den Datenfluss vom korrekten LED zum nächsten aufrechtzuerhalten.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Da die LEDs ziemlich klein sind (ca. 9 mm Durchmesser / 3/8"), war das Löten nicht einfach; und angesichts meiner mangelnden Löt-Erfahrung ist das Ergebnis nicht besonders schön. Aber es funktionierte.

Das Löten

Schritt 1: Die erste Lötübung war, einen „Tropfen“ Lötzinn auf die winzige Metallinsel jeder LED zu setzen.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Der nächste Schritt war, die einfachen geraden, nahen Verbindungen herzustellen.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Dann mussten folgende Kabel ihre Isolierung behalten, da sie sich kreuzten.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Insgesamt gab es fünf Träger in jede Richtung – plus der Eckträger – was insgesamt elf Träger ergab. Da jedes LED-Modul vier LEDs hatte, sind es 44 einzelne LEDs.

Nach einigen Modulen hatte ich den Dreh raus, und am Ende konnte ich ein komplettes Modul in ca. 30 Minuten löten.

Der „Kurz-Kabel-Trick“

Viele der winzigen Kabel brauchten ihre Isolierung, aber es war schwer, gerade genug Isolierung an jedem Ende abzuisolieren, um den inneren Leiter freizulegen, wenn die Gesamtlänge des Kabels weniger als einen Zentimeter betrug.

Dann fand ich diesen (offensichtlichen) Trick:

  1. Löte ein Ende des Kabels, biege es und schneide es auf die gewünschte Länge. (In diesem Beispiel sollte das ungelötete Ende mit dem Dout der unteren rechten LED im Bild unten verbunden werden.)

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

  1. Schiebe die Isolierung etwas herunter.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

  1. Schneide die gewünschte Länge vom freigelegten Isoliermaterial ab.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

  1. Schiebe die Isolierung zurück, wodurch der Leiter am freien Ende freiliegt. Fertig!

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

So konnte die exakte Länge des freiliegenden Kabelkerns erstellt werden, und das Ergebnis war ziemlich ordentlich:

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

LED-Module finalisieren

Am Ende sollten die LED-Module kopfüber am Träger befestigt werden, daher muss die gelötete, kabelgefüllte Rückseite vorbereitet werden, um das Klebeband zu halten.

Ich verwendete etwas zufälliges flaches Plastik, das ich einfach in Quadrate schnitt. Diese wurden einfach mit Heißkleber an den LED-Modulen befestigt.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Hier sind alle fertigen Module! Hurra!

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

(An diesem Punkt war es wichtig, eine Markierung zu haben, um die nach links gehenden von den nach rechts gehenden zu unterscheiden!)

Die fertigen Module ließen sich leicht mit starkem Klebeband an ihren nun flachen Rückseiten befestigen.

Kabel konfektionieren

Glücklicherweise hatte ich eine Rolle altes Telefonverlängerungskabel herumliegen. Dieses Kabel hatte vier separate Adern, was mehr als genug war, da ich drei Adern brauchte (5V, GND und Data).

Das Aufcrimpen der weiblichen Stecker ohne spezielles Crimpwerkzeug war nicht ganz einfach, aber machbar.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Der Kabelkanal ließ sich leicht montieren: einfach in passende Längen schneiden und das vorbefestigte Klebeband nutzen, um ihn am horizontalen Träger zu befestigen.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

So sah ein fertig montiertes Modul aus:

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Automatische Aktivierung und Deaktivierung

Da ich die Lichter nicht manuell einschalten möchte, wenn es dunkel wird, und danach wieder ausschalten, habe ich einen Fotowiderstand eingebaut.

Ich wollte kein einfaches Ein/Aus, sondern einen allmählichen Wechsel der Lichtintensität während der Dämmerung. Dafür musste ich den analogen Wert meines Fotowiderstands zum Zeitpunkt kennen, an dem ich entschied, dass „Tag“ in „Dämmerung“ übergeht und „Dämmerung“ in „Nacht“.

Im Diagramm unten stellt die rote Kurve den analogen Wert des Fotowiderstands dar, wie er sich im Tagesverlauf verschiebt (keine echte Messung, nur meine Freihand-Zeichnung). Die beiden schwachen horizontalen Linien markieren die beiden Schwellenwerte: der obere ist die Grenze, wo „Tag“ zu „Dämmerung“ wird, der untere wo „Dämmerung“ zu „Nacht“ wird. Wenn die rote Kurve über der oberen Linie ist, betrachte ich es als TAG, und wenn sie unter der unteren ist, als NACHT.

Die grüne geradere Linie ist die „bereinigte“ Tageslichtmessung: Minimum (0,0) nachts, Maximum (1,0) tagsüber, und ein linearer Anstieg während der Dämmerung.

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Um die tatsächlichen analogen Werte zu kennen, schloss ich vier Fotowiderstände an einen Arduino zusammen mit einem LCD-Display an, um aktuelle, minimale und maximale Werte der vier Widerstände anzuzeigen. Ich verwendete vier, falls einer defekt war – wenn die meisten ungefähr den gleichen Wert zeigten, wusste ich, dass sie funktionierten. Offensichtlich platzierte ich das Gerät an derselben Stelle, wo später der Arduino die LEDs steuern sollte. So sah es aus:

Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Da das LCD begrenzt ist, zeigte ich den Wert eines Fotowiderstands jeweils für ca. fünf Sekunden an. Tagsüber ging ich ab und zu vorbei und notierte die Zahlen auf einem Zettel. (Offensichtlich hätte ich es an meinem Laptop angeschlossen und die Werte über die serielle Verbindung senden können, aber ich brauchte meinen Laptop tagsüber und wollte nicht den ganzen Tag im Atrium sitzen).

Am Ende entschied ich, dass es dunkel ist unter „630“ und hell über „800“. Aber diese Zahlen passen offensichtlich nur zu meinem Fotowiderstand zusammen mit dem 10-kΩ-Widerstand, den ich in Reihe verwendete – es ist also keine absolute Wahrheit.

Der Arduino-Quellcode

Ich wollte verschiedene Lichteffekte haben, nicht nur Kerzenlicht. Deshalb baute ich den Quellcode modular auf und versuchte, die verschiedenen Mechanismen in verschiedene Dateien zu isolieren, für bessere Übersicht.

Die Haupt-.ino-Datei wird sehr klein gehalten. Ich starte basically alles und rufe Update() auf ein paar Helper-Klassen auf (die dann die Arbeit erledigen).

Aktuell unterstützt der Quellcode zwei verschiedene Effekte: den Kerzenlichteffekt und einen „Weihnachts“-Effekt. Momentan ist die Effektwahl hardcoded, was bedeutet, dass ich den Code neu kompilieren muss, um zu wechseln. Langfristig sollte dies per Fernbedienung – oder noch besser per Smartphone – gesteuert werden. Mal sehen.

Code

AtriumLighting

Gesamter Quellcode für den Arduino:
https://github.com/emmellsoft/AtriumLighting

Schaltplan

2drkW5vm9e7vAdGPxOsm.fzz
Arduino-gesteuerte LED-Kerzenlichter: Smart Lighting DIY-Projekt

Herstellungsprozess

  1. Bluetooth-gesteuerter Raspberry Pi Roboter mit Audio-Feedback bauen
  2. Altes RC-Auto per Xbox-Controller & Arduino zum Joystick-Fahrzeug umbauen
  3. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  4. Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
  5. Sprachgesteuerter Roboter mit Arduino Nano bauen
  6. Intelligenten Arduino-Vierbeiner-Roboter bauen: Schritt-für-Schritt-Anleitung
  7. PiBot: Arduino-gesteuerter Klavierroboter für präzise Musikwiedergabe
  8. Arduino RGB-LED-Farbmischer – Einsteigerfreundliches DIY-Projekt
  9. DIY Radionik EMR-Behandlungsgerät mit Arduino Nano – Kritische Betrachtung
  10. Outdoor DMX-fähige RGB-LED-Fluter – Günstig & Hochleistungsstark