Tagebuch [Tagebuch] LED-Beleuchtung mit Arduino

naja weiß nicht wie ich da die Befehle implementiere jetzt ists relativ gut mit etwas Latenz aber in Ordnung der Script für das Farbwechseln also mit schönen Übergängen und Geschwindigkeit ist nähmlich in Python hab dann einen cgi Script drausgemacht aufdem Apache dann zugreift
 
Die LED Leiste die ich hab ist da etwas komplexer, ich kann jeder LED eine eigene Farbe zuordnen :D
Freu mich schon auf die Implementierung von dem Algorithmus der den Farbübergang macht und das ohne ein Bit zu verschwenden :devil:

Aber hier mal noch meine Arbeit der letzten halben Stunde:
Aktuell überlege ich mir wie ich am effizientesten die Daten auf den Arduino übertrage, speichere und auswerte.
So soll die Datenstruktur aussehen:
ownFX (1).png

transitionTime ist die Übergangszeit, also die Zeit die das aktuelle Frame auf das nächste animiert wird (0 - 65536 ms)
pauseTime ist die Pausenzeit, also die Zeit die das Frame ohne Veränderung angehalten wird (0 -65536 ms)
colorStopCount ist die Anzahl der Colorstops die das Frame hat
r, g, b ist die Farbe
ledIndex ist die Position der LED welche die Farbe anzeigen soll

Mit diesen Datengrößen kann man bis zu 10 Frames mit jeweils bis zu 16 Colorstops speichern...müsste reichen :ugly: :D
 
So. Kurzes Statusupdate:
Der Server ist soweit fertig. Ich hab vorher noch angefangen mit der Kommunikation zwischen Arduino und PC.
Sowei funktionert das auch echt gut, hab aber noch nicht so viel gemacht. Aber das Prinzip funktioniert :daumen:

Ich kann schon RAM und EEPROM Groesse sowie das aktuell aktive Profil vom Arduino abfragen :banane:
Und ab auf die Couch :D
 
Hier mal das taegliche Update:
- LEDs sind versand und muessten morgen ankommen wenn alles glatt laueft.
- Hab heute leider nur 30 Minuten Zeit gehabt und konnte nicht viel weiter machen. Ich habe leider gerade ein kleines Problemchen mit der Datentypkonvertierung von Java (der Server) auf C (der Arduino). Problem: unsingned/signed und Little Endian/Big Endian....irgdnewo stimmt ein Bit nicht :ugly:

Aktuelles Ziel waere eine erste funktionierende Version bis zum 25.10, da ist LAN und ich will das gute Stueck praesentieren :D
 
LEDs sind immer noch bei DHL, aber schon im Verteilerzentrum. Muessten morgen kommen.....
Hab gerade die Uebertragung der Profile vom PC auf den Arduino gemacht. Klappt soweit, nur ich habe noch eine Checksumme eingebaut um Abzusichern das alles korrekt uebertragen wurde, die passt leider noch nicht ganz. Heut hab ich aber keinen Nerv mehr :D
 
LEDs sind bei der lokalen Postfiliale eingegangen, die hatten heute aber nur bis 12 Uhr auf :fresse:
Daher hab ich heute beschlossen mal nichts zu machen, morgen gehts dann nach der Arbeit fix zur Post und mit bisschen Glueck ist morgen dann auch schon meine GTX 970 da :)
 
Ein Bild sagt ja bekanntlich mehr als tausend Worte :D
IMG_20141016_173844.jpg

Hab sie gerade von der Post abgeholt. Anschliessen war etwas spannend weil ich nichts an Ausruestung wie ein Loetkolben da habe, aber ich hab noch eine Luesterklemme gefunden :D

Erster Eindruck: Die Dinger sind der HAMMER. Mega hell (bin echt ersrtaunt, betreibe sie gerade mit Helligkeit 100 von 255 weil sie mich sonst blenden), super Farben und solide Verarbeitung.
An dieser Stelle auch nochmal Lob an die Flikto GmbH. Gab zwar Lieferschwierigkeiten wegen einem Systemfehler, aber 1a Kundensupport und sehr netter Kontakt mit koelschem Dialekt :D
Als Entschaedigung gab es auch noch was:
IMG_20141016_175114.jpg

Dachte am Telefon als er sagte er macht mal drei Kabel rein das das etwas laecherlich ist, aber da habe ich mir was andres Vorgestellt :ugly: Bin sehr zufrieden :daumen:
 
Kurzes Statusupdate da ich mich seit 3 Tagen nicht gemeldet habe :daumen:
Ich bin dieses Wochenende bis Dienstag im Urlaub und arbeite deshlab nicht weiter. Letzte Woche hab ich aber auf dem Arduino schon das Auslesen des übetragenen Profils implementiert und dann aus ColorStops für jede LED eine Farbe berechnen und anzeiegen. Die Animation fehlt noch und am Server fehlen auch noch ein paar Kleinigkeiten für den Gesamtablauf. Würde aber mal sagen 80% sind abgeschlossen.

Am Mittwoch habe ich noch frei, da will ich gucken das ich eine erste benutzbare Version hinbekommen, nächstes Wochenende ist LAN, da muss präsentiert werden :D

Wenn ich Version 1.0 fertig habe werde ich als Download diese auf GitHub stellen und eine komplette Installatoions Anleitung schreiben inkl. der benötigten Teile und Kosten. Wer dann will kann sich das System nachbauen, man brauch nichtmal einen Lötkolben und mit einer Stunde Zeit bekommt man das gut hin, auch ohne jemals einen Arduino in der Hand gehabt zu haben :P

bei mirbelaufen sich die aktuellen Kosten übrigens auf knapp 50€ mit 1m der 60er LED Leiste
 
Ich bin mal echt gespannt wie es ganz am Ende aussehen wird.

Solltest du es schaffen meine Frau damit überzeugen zu können ist es gekauft :D
 
Echt ein spannendes Projekt. Das ich dadurch auf Brackets gekommen bin ist für mich lustiger Weise fast das Beste daran ;) Da ich schon seit längerem auch den Einsatz von Neopixeln und noch ein bisschen mehr (unter anderem auch im PC Gehäuse) plane schaue ich sobald ich die Zeit dazu finde auf jeden Fall in deinen Code rein. Solange bleibe ich hier dran.
 
Das ich dadurch auf Brackets gekommen bin ist für mich lustiger Weise fast das Beste daran ;)

Nie. wieder. ohne.
Bester Editor überhaupt. hab den damals zufällig gefunden als ich eine Alternative für Coda beim Umstieg von meinem MBP Retina auf Windows gesucht habe :daumen:
Ist übrigens ein Opensource Projekt von Adobe
 
Ja, der ist einfach perfekt! Ich werde für Webentwicklung auch nichts anderes mehr nutzen. Das einzige was mir da momentan noch fehlt sind die coolen Selektionsmöglichkeiten von Sublime Text ;)
Wenn ich die Zeit finde werde ich wohl am Wochenende mal meine letzten Projekte hier dokumentieren (falls an Bastelprojekten Interesse ist) und selbst weiter machen.

Wann gehts denn bei dir weiter? Bin gespannt auf das Ergebnis!
 
Es ist so weit! Die erste Funktionsfaehige Version ist fertig :bier:
Ich hab ein kurzes Video gemacht und das System in aller kuerze demonstriert. Der Autofokus war zickig, aber man erkennt was :D

Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.

So sieht es aktuell aus:
- Man kann das erste Fram eines Profiles anzeigen und beliebig umschalten
- Helligkeit aendern
- Grundlegende Funktionalitaet
- Das System hat nmoch einige Ecken und Kanten, ist also noch nich Benutzerfreundlich. EA wuerde es als Releasecandidate bezeichnen :schief:
- Bei jeder Aenderung wird das Board neu gestartet, was ca. 2 Sekunden dauert

Was fehlt noch?
- Aenderungen ohne Neustart uebernehmen
- Animationen ueber alle Frames eines Profiles, nicht nur das erste anzeigen
- Fehlerhandling
- Letzer Feinschliff
- Code cleanup (Kommentare und Optimierungen)
- Verbau in mein EVGA Hadron Air (Samstag, Bilder folgen)

Der aktuelle Stand ist Version 0.1-alpha auf GitHub.

Die Animationen machen noch etwas Aerger weil ich noch keinen guten Algorythmus habe wenn z.B. ueber 60 Animationsschritte eine Farbe nur um 10 geaendert wird. Das Problem ist, dass bei jedem Schritt die Farbe dann um 10/60=0,16667 geandert wird, was aber auf 0 gerundet wird. Folge: Nichts aendert sich und am Ende kommt ein "Ruck" auf die neue Farbe.

Ich bin offen fuer Anregungen und Verbesserungsvorschlaege zum System :daumen:
 
Zuletzt bearbeitet:
Und K.O...
So schnell kanns gehen. Habe gerade die LEDs in mein Hadron Air gebaut und aus mir noch nicht ersichtlichen Gründen wurden die LEDs dabei zerstört und funktionieren nicht mehr. Kann mir nur etwas richtung Überspannung oder Kurzschluss vorstellen. Da ich gerade etwas von den ganzen Rückschlägen des Abends zerstört bin lege ich das Projekt bis Anfang Dezember auf Eis. Neben neuen LEDs muss ich auch meinen CPU Kühler und mein Netzteil (NIE WIEDER EVGA AUßER BEI GRAKAS) austauschen. Der CPU Kühler ist mehr als minderwertig und was mich vor allem stört: die Schrift ist nich zentriert. Das Netzteil klackert...wird ein Spaß...

Ich muss leider bis Anfang Dezember auch Sonderschichten auf der Arbeit schieben weil mein Projekt dort steckt, weshalb ich quasi eh keine Zeit habe. Nichts desto trotz will ich das Projekt zu Ende bringen, eigentlich bin ich ja schon recht weit. Die Animationen habe ich auch noch zum laufen gebracht, womit nur noch Cleanup und einige Optimierungen gefehlt hätten...

Sobald ich das Projekt weiter mache melde ich mich hier wieder mit Neuigkeiten zum Fortschritt...
 
Du scheinst ja da auch recht viel Ahnung zu haben, aber nicht zu schnell aufgeben ;) Ich hatte schon bei vielen Projekten ähnliche Probleme und bestimmt in 50% der Fälle war das nur irgendwo ein Wackelkontakt oder ähnliche "dumme" Sachen. Einfach nochmal überall nachmessen falls du das noch nicht getan hast.
Außerdem falls du das nicht schon längst gesehen und beachtet hast: es gibt einige wichtige Hinweise beim Arbeiten mit den Neopixeln:
Before connecting NeoPixels to any power source, add a large capacitor (1000 µF, 6.3V or higher) across the + and – terminals as shown above.
Place a 300 to 500 Ohm resistor between the Arduino data output pin and the input to the first NeoPixel. This resistor must be at the NeoPixel end of the wire to be effective! Some products already incorporate this resistor…if you’re not sure, add one…there’s no harm in doubling up!
Try to minimize the distance between the Arduino and first pixel.
Avoid connecting NeoPixels to a live circuit. If you simply must, always connect ground first, then +5V, then data. Disconnect in the reverse order.
If powering the pixels with a separate supply, apply power to the pixels before applying power to the microcontroller.
...
Quelle: https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices
Eventuell liegts auch an einem der Punkte dort.

Auf jeden Fall weiter viel Erfolg mit dem Projekt. Sollte ich endlich mal dazu kommen meine Sachen in der Richtung voran zu treiben melde ich mich auf jeden Fall auch hier.:daumen:
 
Aufgegeben hab ich noch nicht :D Nur eine kleine Pause :schief: Werde mir jetzt nochmal LEDs bestellen...
Bin schon zu weit :daumen:

Den Fehler habe ich auch gefunden...habe einen Denkfehler gehabt beim Verbinden der LEDs mit dem Molex-Stecker und 5V mit 12V verwechselt. Da die Kabel im Hadron alle schwarz sind ist mir das nicht aufgefallen.... :klatsch:
Und wärend die LEDs dann so lustig geblinkt haben hab ich mir erstmal überlegt ob ich einen Speicherzugriffsfehler oder so habe und als ich dann nach einer Minute zu dem Schluss gekommen bin das das nicht sein kann war es zu spät :ugly:
 
So, ich melde mich mal wieder nachdem 4 Wochen nichts passiert ist. Bis zum 3.12. bin ich auf der Arbeit noch extrem eingebunden aber danach will ich wieder durchstarten. Die neuen LEDs liegen schon vor mir auf dem Tisch, bereit zum Einbau. Am naechsten Wochenende gehts los (und hoffentlich dann auch gleich fertig)!

Kurzer Nachtrag:
Durch Zufall hab ich letzte Woche auf der Arbeit ein Projektle gehabt das auch auf die LEDs gesetzt hat und aus Zeitdruck ist mein Arduino da eingeflossen und ist jetzt fest verbaut :ugly: Nächste Woche kommt ein neuer, dann geht es endlich los

Nachtrag 2:
Mit reichlich Verspätung habe ich gestern meinen neuen Arduino bekommen. Ich werde mich am Wochenende gleich ans Werk machen und die LEDs in meinen Rechner einbauen. Dann geht es nochmal ans programmieren, ich will bis Januar alles fertig haben :)
 
Zuletzt bearbeitet:
Sooo, lange ist es her :D

Heute habe ich - endlich - die LEDs in meinen PC eingebaut. Es lief alles soweit recht problemlos ab. Ich habe die LEDs an einen Molexstecker gelötet, damit ich sie sauber an das NT anschliessen kann:
IMG_20141219_150212.jpg

Bei dem Projekt im Geschäft habe ich lernen müssen das ein "paar" LEDs ziemlich viel Strom ziehen können. Pro LED sollte man zwischen 20mA (Rot, Grün oder Blau bei voller Helligkeit) und 60mA (weiß bei voller Helligkeit) rechnen. Klingt nicht viel, sollten aber einige hundert LEDs im Rechner zum Einsatz kommen, kann sich das schnell aufsummieren. Bei 100 LEDs sind es schon 6A, was bei 5V schon 36 Watt. Bei PC Netzteilen i.d.R. nicht die Welt, aber man sollte es im Hinterkopf haben. Von einer Stromversorgung über USB oder sogar direkt über den Arduino sollte dringend abgesehen werden!

Inzwischen habe ich alle 3 Qualitätsstufen der Neopixels vor Ort: Meine zerstörten 60er, die nachgekauften 30er und 0,5m der 144er als "Schnittreste" von der Arbeit.
Die 30er sind fast etwas zu wenig, die 60er sind ein super Kompromiss. Die 144er sind etwas tricky wenn man löten will wegen der extrem kleinen Lötpunkte. Ansonsten sind die Dinger der Hammer, das maximum was geht. Hier sind sie noch in Aktion (14 Stück). Wie ich schonmal erwähnt hatte blenden die Dinger ziemlich, auch wenn das auf den Bildern nicht so wirken mag...
IMG_20141219_175436.jpg IMG_20141219_175559.jpg

Ich habe die LEDs mit Heißkleber in mein Gehäuse eingeklebt, das hält zwar, geht bei Belastung aber schnell in die Brüche. Der Heißkleber hält nicht optimal auf der Silikonhülle. Diesmal habe ich die Silikonhülle drauf gelassen, bei den alten 60ern hatte ich sie entfernt. Grund ist einfach das das Silikon das Licht streut und man so nicht so starke einzelne Lichtpunkt erhält, zusätzlich sind die LEDs geschützt und der Streifen knickt nicht so leicht. Hier mal ncoh ein paar Bilder vom Ergebnis:
IMG_20141219_175530.jpg IMG_20141219_191130.jpg IMG_20141219_175538.jpg

Mir gefällt es soweit sehr gut, mit den 60ern wäre es villeicht noch etwas "bunter", aber das ist für den Anfang top :)


Das Einkleben war in meinem Hadron Air nicht so trivial :ugly:
IMG_20141219_181833.jpg


Jetzt könnte man meinen der Abend war sehr erfolgreich :D Leider gab es beim Einbau einmal einen Kurzschluss...den hat mein neuer Arduino anscheinend nur beschädigt überstanden. Beim Upload von neuen Programmen kommt immer ein Fehler...
Ich untersuche das mal noch weiter, vll. habe ich Glück. Ansonsten wird morgen direkt ein neuer bestellt :(
 
Zurück