Kerzenflamme mit dem 31FL3731
Beschreibung
Es ist noch nicht Weihnachten, aber ein Kerzenlicht ist auch im Sommer romantisch. Obwohl es schon einige fertige Lösungen gibt, macht Eigenbau am meisten Spass.
Ziel dieser ersten Platine ist das Testen des IC und die Weiterentwicklung mit einem Mikrocontroller an Bord. Schussendlich soll die Kerze an einem Akku oder Netzteil
'Brennen'. Ob eingebaut in einem opalem Gefäss, auf einen Sockel montiert usw. Ideen sind willkommen.
Hier eine fertig bestückte Version 1 mit weissen Leds. Wie auf dem Bild ersichtlich kommt dieser IC von ISSI mit wenig zusätzlichen Bauteilen aus.
Und hier das erste Kerzli im Einsatz, in dieser Sequenz laufen zwanzig Frames einmal vorwärts, dann rückwärts. In der Testphase wird der IC von
einem Arduino angesteuert. Der Code kann hier natürlich heruntergeladen werden.
Angesteuert wird der 31FL3731 über den I2C Bus, es sind nur 2 Leitungen nötig. INTB ist für Interupt, mit SDB schickt Ihr den 31FL3731 StandBy Modus
Unten sieht man auch noch den A_IN Pin, er dient für einen Audio Anschluss. Damit sollten sich Frames über den Audio Eingang steuern lassen. Diese Funktion
wurde noch nicht getestet. Datenblatt
Bestückung
Die Bestückung ist mit einem Heissluftfön und Lötpaste relativ einfach und in 1 Stunde erledigt. Die Hinterseite wurde aus diesem Grund mit 1206 Komponenten
bestückt, das geht mit dem Lötkolben.
Um das Aufbringen der Lötpaste zu vereinfachen haben wir Stencils anfertigen lassen, diese können ausgeliehen werden. Wenn die Lötpaste
aufgetragen ist gehts ans Bestücken. Die Vorderseite wird komplett bestückt mit dem IC, Kondensator und 144 Leds, unbedingt auf die kleinen Pfeile bei den Leds achten und den
31FL3731 nicht verdrehen.
Anschliessend gibt es zwei Möglichkeiten um die Platine zu verlöten. Entweder mit dem Heissluftfön oder mit einem Reflow Ofen,(im Netz auch schon gesehen mit einer Herdplatte). Das wichtigste ist
die Teile so kurz wie möglich an den heissen Temperaturen braten lassen!!
Beispiel auf Youtube
Software
Meine Software ist noch im Aufbau, in der ZIP mal einige Beispiele für Arduino. Bin offen für Anregungen und Verbesserungen.
Stand 15_4_2023
Da das ganze Programm mal auf einen kleinen (zB. Attiny85) Controller soll, werden die Helligkeitsstufen für die Frames auf 16 reduziert. So können 50% Datenspeicher eingespart werden,
denn auf jedem Byte sind zwei Pixel gespeichert.
Im Umwandlungstool weiter unten wird diese Variante angewandt und die Daten korrekt ausgegeben. Um diese 16 Helligkeitsstufen anzupassen können wir im Array
gamma16[16]
die einzelnen Werte von 0 - 255 anpassen.
Tools
Hier auch schon ein Tool im Voraus, damit lassen sich die fertigen Einzelbilder in eine Header Datei umwandeln und können ins Arduino kopiert werden.
Umwandlung Bilder zu Code