In diesem Artikel werden einige sehr nützliche Effekte für den Innenraum betrachtet, die mit LED-Streifen erstellt werden können. Wir werden auch über Algorithmen sprechen, darüber, wie mathematische Berechnungen es LEDs ermöglichen, die Illusion von Wärme und Komfort zu erzeugen, nämlich eine Flamme, eine echte digitale Flamme.
Alle Quellcodes, die später analysiert werden, können Download von der Projektseite Autor (AlexGyver).
Lassen Sie uns zuerst behandeln e Komponente. Für dich mit seinen eigenen Händen mach solche Schönheit zu Hause Folgende Komponenten sind erforderlich:
- Treiber für RGB-Band;
- RGB-Band;
- Stromversorgung 12V für RGB-Band;
- Arduinо Nano.
Jeder von Ihnen kann die Firmware herunterladen und herunterladen und Ihren digitalen Herd erhalten. In diesem Beispiel steuern wir die LED-Streifen vom Mikrocontroller Arduino Nano.
Beginnen wir mit der einfachsten Dimension Null - einem Punkt (oder einem ganzen Band von Punkten).
Dies ist der gewöhnlichste RGB-LED-Streifen, der mit 12 V betrieben wird und für jede Farbe eine Dreikanalsteuerung bietet.
Mit dem PWM-Signal (wir haben es 8-Bit) können Sie die Helligkeit jeder Farbe einstellen und so 16,7 Millionen Farben und Schattierungen erhalten. Aber wir interessieren uns für Feuer oder vielmehr dessen Nachahmung. Um eine Flamme zu simulieren, wurde beschlossen, im hsv-Farbraum (Farbe, Sättigung, Helligkeit) zu arbeiten.
Mit diesen 3 Parametern können Sie 255 Grundfarben sowie jede Farbe erhalten, um 255 Sättigungsabstufungen zu erzielen, d. H. mischt sich mit weißer Farbe. Nun, der dritte Parameter ist die Helligkeit in einer einfachen Sprache - eine Mischung aus Schatten und schwarzer Farbe.
Es gibt verschiedene Algorithmen für die Konvertierung von einem praktischen HSV-Raum in RGB. Verwenden Sie einfach einen davon.
Als nächstes müssen Sie das Verhalten des Feuers angeben. Angenommen, die Flammenstärke ist eine bestimmte Größe, die im Minimalwert den LEDs eine gesättigte rote Farbe und eine geringe Helligkeit und im Maximalwert eine weiß-gelbe und eine maximale helle Farbe ergibt.
Um den Flammeneffekt zu erzielen, müssen wir diesen Wert dazu bringen, zufällige Schwingungsbewegungen auszuführen. Die Bewegungen müssen zufällig sein, aber gleichzeitig ziemlich glatt, das heißt etwas ähnlich einem zitternden Licht. Nach diesem Wert ändern sich Farbe und Helligkeit der Flamme entlang des Gradienten.
Der Autor schlägt vor, dieses Problem wie folgt zu lösen: Es gibt einen sehr einfachen Filteralgorithmus, einen laufenden Durchschnitt, der eine starke Wertänderung in einen reibungslosen Prozess, nur einen Koeffizienten und eine ziemlich einfache Berechnung umwandelt.
Die Idee ist folgende: Es ist beispielsweise 5 Mal pro Sekunde erforderlich, eine neue zufällige Position für den Wert des Feuers festzulegen, und ungefähr 50 Mal pro Sekunde, um diesen Wert zu filtern und ihn schrittweise zu ändern. Das Ergebnis ist ein solcher zufälliger Prozess.
In einem realen Beispiel funktioniert alles wie beabsichtigt.
Jetzt ist es notwendig, unseren Wert gemäß dem oben genannten Gesetz in die Farbe der Flamme zu übersetzen und ein eindimensionales Feuer zu erhalten.
Der so programmierte LED-Streifen kann beispielsweise durch die Fußleiste oder durch einen Vorsprung ausgeblendet werden. Auch ein solches Band kann Hintergrundbeleuchtung liefern, es sieht ziemlich interessant und ungewöhnlich aus.
Das Band kann auch aus kurzer Entfernung auf den Boden geschickt werden und erzielt so auch einen ziemlich interessanten Effekt.
Und natürlich kann ein Stück Klebeband verwendet werden, um einen Kamin zu beleuchten oder zu simulieren. Und wenn Sie die helle Farbe von gelb nach orange entfernen, erhalten Sie eine Imitation von schwelenden Kohlen.
Da wir RGB-Band haben, können wir jede Farbe des Feuers selbst herstellen. Du willst totes Grün - so einfach!
Wir brauchen ein magisch blaues Feuer - kein Problem!
Installieren Sie dann das Programm und die Treiber, wie in den Anweisungen unter beschrieben ProjektseiteLaden Sie die Firmware herunter und führen Sie sie aus.
Ganz am Anfang stehen alle notwendigen Einstellungen. Mit ihrer Hilfe können Sie das Feuer vollständig für sich selbst anpassen, nämlich: Farbe, Verhalten und dergleichen.
Tatsächlich war dies der einfachste Weg, um den LED-Streifen zum „Brennen“ zu bringen. Schauen wir uns nun weitere interessante Beispiele an. Für die weitere Arbeit benötigen Sie Adresse LED-Streifen.
Mit diesem Band können Sie jede seiner LEDs einzeln steuern und jeweils eine von 16,7 Millionen Farbtönen enthalten.
Nach diesem Schema ist alles sehr einfach miteinander verbunden:
Es werden keine Treiber benötigt, aber ein Widerstand wird empfohlen. Sie können darauf verzichten, aber es besteht die Möglichkeit, dass die erste LED durchbrennt. In diesem Fall funktionieren auch die nächsten LEDs nicht.
Bei direkter Beleuchtung, zum Beispiel unter dem Sofa, erhalten Sie ein ausgezeichnetes höllisches Sofa mit dem Effekt schwelender Kohlen.
Sie können ein solches Band auch in ein normales Band legen Lichtprofil und als eigenständiges Element des Innenraums verwenden.
Es sieht ziemlich gut aus, stimme zu, aber lasst uns trotzdem versuchen, getrennte Flammen zu erreichen.
Wir werden den Algorithmus gleich lassen. Wir teilen das Band in Zonen unterschiedlicher Breite auf, jede Zone hat ihren eigenen zufälligen Prozess. Um diesen Prozess einer echten Flamme noch ähnlicher zu machen, füllen wir die Zonen von den Rändern bis zur Mitte und erhöhen unseren Zufallswert schrittweise auf den aktuellen Wert. Auch beim „Brennen“ sollte sich die Größe der Zonen zufällig ändern.
So sieht es aus:
Schauen wir uns nun einen weiteren interessanten Zufallsprozess namens Perlin Noise an, den Ken Perlin 1983 erfunden hat.
Mit Perlins Rauschen können Sie eine zufällige geglättete Verteilung der Größe in einer beliebigen Anzahl von Dimensionen erstellen. Der bekannte Wolkenfilter in Photoshop ist ein Beispiel für zweidimensionales Perlin-Rauschen.
Perlins dreidimensionales Rauschen ermöglicht es jedoch, beispielsweise eine Gebirgslandschaft zu erzeugen und diese sehr zufällig und endlos und gleichzeitig praktisch ohne Belastung der Computerkomponenten zu erzeugen, da der dortige Algorithmus nicht sehr rechenintensiv ist.
Der Aktionsplan lautet wie folgt: Erstellen Sie zunächst einen zweidimensionalen Perlin-Rauschbereich und bewegen Sie sich auf eine bestimmte Weise entlang, indem Sie die Pixelzeile scannen und an die LEDs ausgeben.
Der oben erwähnte Algorithmus ist nicht sehr kompliziert und Arduino gehe ruhig mit ihm um.Das Ergebnis ist ein sehr cooler Effekt, so glatt wie möglich, zufällig und der realen Flamme mit Endbeleuchtung bereits sehr ähnlich.
Bei direkter Beleuchtung sieht es so aus:
Aber all dies waren Feueralgorithmen für ein Band. Und was ist mit dem Kleben des Bandes in einem Zick-Zack-Muster und dem Versuch, ein zweidimensionales Feuer auf der Matrix zu erzeugen?
Solche Matrizen können von den Chinesen gekauft werden. Wir platzieren einen Diffusor und ein mit Autofilm getöntes Glas über der Matrix, das heißt, dies ist ein echtes Amol-Display mit extrem niedriger Auflösung.
Übrigens sieht es ziemlich realistisch aus. Weitere Informationen finden Sie im Originalvideo des Autors:
Das ist alles. Danke für die Aufmerksamkeit. Bis bald!