Ich habe die Software der Übersicht halber in einige Dateien aufgeteilt. Das "Hauptprogramm" ist "OpenFire.ino". Wer statt mit derArduino IDE lieber mit MS Studio Code/Platform IO arbeitet, benennt das File einfach in OpenFire.cpp um. Das ist auch schon die einzige Anpassung.
Das Hauptprogramm enthält neben der Intitialisierung die Choreografie/den Abbrennplan des Feuerwerks. Die Anpassung des Programms an die verwendeten LEDs und auch die Anzahl der LED und die Anzahl der Streifen werden in "config.h" eingestellt. Alle Effekte sind in den jeweiligen cpp/h-Files:
crackling: Cracklingeffekte
comets: Kometen
shperes: Sphären (Coconut-Tree, Weide...)
raise: der Aufstiegseffekt
Das Programm benötigt für das Comilieren ein paar Libraries: "FastLED" und "DFPlayerMini_Fast".
Das Steuergerät ist bei allen Varianten gleich. Hier ein Arduino Due:
Auf dem Bild sieht man, wie man die Kabel an den Arduino anschließen kann. Die 5V bekommt der Mikroprozessor über den Vin-Pin (funktioniert), nicht über den 5V-Pin, der würde den Ausgang des 5V-Reglers "treiben".
Hier ist das Sound-Modul zu sehen:
Das Soundmodul hat einen Slot für eine Mikro-SD-Karte. Auf der Karte werden die MP3-Files abgespeichert, die gespielt werden sollen. Über eine serielle Schnittstelle spricht der Prozessor mit dem Modul. Das Modul hat einen kleinen Lautsprecherausgang (Mono, 8Ohm) und auch zwei Line-Ausgänge (Stereo). Die Lautstärke kann in der Software (OpenFire) angepasst werden.
Leider können die Files nur mit der Ordungsnummer, wie sie in dem Verzeichnis stehen angesprochen werden, nicht mit dem Filenamen. Ich habe hier den Line-Ausgang über die beiden grünen Kabel auf eine 3,5mm Klinkenbuchse gegeben (Masse nicht vergessen). Damit kann man dann an einen Verstärker oder eine Aktivbox gehen. Oder man steckt einen Bluetooth-Transmitter an und geht über Bluetooth.
Hier der Kabelsatz der für das Soundmodul benötigt wird:
Die beiden roten Kabel sind für den 8 Ohm Lautsprecher (hier nicht benutzt). Das Zwillingskabel (gelb/orange) sind für die serielle Schnittstelle zur Kommunikation. Schwarz und Orange sind für die Versorgung (3,3V/GND).
Hier der Kabelsatz für die LED´s:
Um eine Verwechslung auszuschließen, habe ich den Haupteffekt mit einer 4-poligen Buchse (JST SM) versehen, den Aufstiegseffekt mit einer 3-poligen Buchse, die Versorgung über die Stromversorgung hab ich mit einem 2-poligen Stecker vorgesehen. Mit dem 2-poligen Stecker bin ich nicht glücklich, wer da was besseres findet, sollte was anderes nehmen. Strombelastbarkeit 4-5A.
Hier das Klinkenstecker-Kabel
Wie bereits anfangs erwähnt, habe ich auch eine Akkuversion für Openfire vorgesehen. Hier sieht man das Modellbau SBEC. Der Ausgang liefert 5V bis zu 20A, der Eingang kann ein beliebiger Akku von 6V bis 50V sein.
So kann der Ausgang des SBEC adaptiert werden. Der dritte Pol des Steckverbinders ist nur als zusätzlicher mechanischer Halt und dient als logischer Verpolschutz.
Die Kabel sollten immer mit Schrumpfschläuchen isoliert werden.
Hier entsteht gerade ein passendes Gehäuse aus dem 3D-Drucker:
3D-Druck
Alle mechanischen Teile sind hier zusammengestellt: (MechOpenFire.zip)
AscendHolder
Dieser Halter hält den Aufstiegseffekt an seiner Position
Baseplate1
Diese Basisplatte ist für die 60LED/m-Variante in kombination mit dem Holder60
Baseplate2
Diese Basisplatte ist für die Alu-Flachdraht-Variante. Sie kann bei allen Größen eingesetzt werden.
Bender144
Dieses Hilfsmittel dient zum korrekten Biegen der Drähte bei der 144LED/m-Variante
Deflasher60
Dieses Hilfsmittel dient zum Freiräumen der Nut im Holder60.
Hängehalter
Der Hängehalter dient zum adaptieren eines hängenden OpenFire an eine Schnur oder Draht.
Holder60
Das ist ein Halter für die 60LED/m-Variante. Inzwischen würde ich auch hier die Flachdrahtvariante vorziehen.
Das Arduino Due-Gehäuse
Hier zusammengesetzt:
Unterteil:
Oberteil
Klemmblock
Der hat beim Aufbau gute Dienste geleistet. Er hält bis zu 3 Krokodilklemmen auf Abstand.
Solder144
Dieses Hilfsmittel dient zum korrekten Löten der Drähte bei der 144LED/m-Variante
Der Druchmesser der großen Version ist 2 Meter. Das ist eine Herausforderung, das in einer engen Wohnung zu bauen.
Zuerst habe ich nach geeignetem Stabmaterial gesucht, schließlich werden ja 20 Stäbe benötigt, was die Kosten schnell in die Höhe treiben kann. Ich bin auf Spanndraht für den Zaunbau gestoßen.
Hier wird die zweite Variante beschrieben. Was ist das genau? In der zweiten Variante werden die LED-Abschnitte nicht mehr parallel sondern seriell betrieben. Das bedeutet, dass nun jede LED einzeln angesteuert werden kann. Damit können viele zusätzliche Figuren und Effekte realisiert werden, die in OpenFire1 nicht möglich sind.
Die Einkaufsliste ist identisch mit der Liste in OpenFire1, es werden aber für die Steckvariante die 4-Pin Steckverbinder benötigt (nicht die Big-Variante).
Hier ein kleiner Trailer:
@Feuerhase: die Unschärfe habe ich als Stilmittel benutzt (Absicht) :-)
Zur Erläuterung hier der Schaltplan, der auch wieder heruntergeladen und größer dargestellt werden kann:
Anders als bei OpenFire1 wird hier der Ausgang (DOUT) der einzelnen Zweige (Branches) mit dem jeweiligen Eingang des nächsten Zweigs verbunden. Logisch gesehen ergibt sich dann für alle Zweige (aus Prozessorsicht) ein großer Zweig mit z.B. 20x15=300LEDs. Aus Kompatiblitätsgründen ist der Aufstiegseffekt (Ascend-effect) bleibt davon unbetroffen.