Tagebuch [Tagebuch] LED-Beleuchtung mit Arduino

Sehr cool, gute Arbeit! Ich hatte vor einigen Tagen eine ähnliche Idee, allerdings ist mir fast wichtiger, dass ich meine Lüfter steuern kann, resp. diese automatisch reguliert werden (eine Idee ist, dass auf dem PC eine Software läuft, vllt. auch Restful, welche die Temperaturen ausliest. Ich bin noch nicht schlüssig, mit welcher Plattform ich das umsetzen will. Der Arduino ist ansich wohl eine gute Wahl, allerdings spiele ich mit dem Gedanken, den rund gleichteuren Raspberry Pi A+ zu nehmen. Der braucht dann zwar wiederum ein OS, aber mal sehen.. Die technischen Spezifikationen kenne ich bei beiden zuwenig. Müsste wohl mal genau meine Anforderungen aufschreiben.

Ist dein Code eigentlich frei verfügbar? (: Den Github Link habe ich gesehen (und beobachte das Repo nun hrhrhrhr), aber Lizenzinfo konnte ich noch keine finden..
 
Lüfter hab ich mir auch schon überlegt, aber da hab ich so wenige :D
Der Rasberry ist für sowas eher ungeeignet, das ist ja quasi ein kompletter PC im Kleinformat. Heißt der ist furchtbar überdimensioniert und hat zu wenige I/O Pins. Mit einem Arduino fährst du da besser, du wirst aber in beiden Fällen noch eine kleinen elektrische Schaltung brauchen um die Spannung zu regulieren oder den Lüfter über PWM zu steuern. Problem ist das der Arduino bei 5V operiet, du aber die Lüfter mit 12V ansteuern musst (auch das PWM Signal müsste bei 12V liegen).

Lizenz stand da auch keine :D Ich hab mal kurz die MIT License hinzugefügt, will heißen mach damit was du willst aber ich bin nicht schuld :ugly:
Mein erster Follower auf dem Repo :banane:
 
Lüfter hab ich mir auch schon überlegt, aber da hab ich so wenige :D
Der Rasberry ist für sowas eher ungeeignet, das ist ja quasi ein kompletter PC im Kleinformat. Heißt der ist furchtbar überdimensioniert und hat zu wenige I/O Pins. Mit einem Arduino fährst du da besser, du wirst aber in beiden Fällen noch eine kleinen elektrische Schaltung brauchen um die Spannung zu regulieren oder den Lüfter über PWM zu steuern. Problem ist das der Arduino bei 5V operiet, du aber die Lüfter mit 12V ansteuern musst (auch das PWM Signal müsste bei 12V liegen).

Lizenz stand da auch keine :D Ich hab mal kurz die MIT License hinzugefügt, will heißen mach damit was du willst aber ich bin nicht schuld :ugly:
Mein erster Follower auf dem Repo :banane:

Ja, der Raspberry ist tatsächlich überdimmensioniert. Warum ich ihn in Erwägung gezogen habe: Der Kopf tut sich etwas schwer, 2€ mehr für einen Arduino zu bezahlen :ugly:. Und mit Lowlevelprogrammierung kenne ich mich (noch) nicht sonderlich gut aus.
Die Idee ist schlussendlich halt, dass ich (nebst den Farben :D) auch die Temperatur mitgeben will, damit ich die Lüfter automatisch nach Temperatur steuern könnte. Afaik geht das z.B. mit Mainboards meistens nur mit 4Pin PWM Lüfter, und für 200/230mm gibts das kaum..

Hintergrund ist, dass ich mit einem Konstrukteur an einem Gehäuse arbeite, das wirklich meinen Ansprüchen 1:1 entspricht. Wir sind noch in der Brainstormphase, weswegen ich noch nicht viel vorlegen kann, und weswegen ich am "forschen" bin, was alles schon so da ist, was möglich und was sinnvoll ist..

Ein Display anzusteuern wäre auch toll.. :ugly:
 
Der Arduino ist das Geld wert :D Außerdem bekommst du die China Varianten schon ab 5€ auf Amazon un Co.. Du willst also Lüfter und LEDs über ein Tool steuern?
 
Naja, ich bin Schweizer, da sind die Preise etwas gesalzener. Dafür kann ich das Zeug morgen abholen. ;) Jedenfalls die LEDs und den Arduino, dann kann ich morgen damit rumspielen.. Lüfter müsste ich auch noch irgendwo haben, aber dafür brauche ich sonst noch Material..

Die Idee ist schlussendlich, dass die Lüftersteuerung automatisch regelt. Allerdings nicht durch Temperatursensoren, sondern durch echte CPU/GPU Temperatur. Daher das Tool. Natürlich sollte ich auch eingreifen können in die Steuerung, aber primär will ich nicht wie bei den meisten Steuerungen manuell regeln müssen. ;)
 
Dann musst du nur z.B. einmal pro Sekunde die Temps abfragen und dem Arduino über USB/COM (Serielleschnittstelle) die neuen Drehzahlen durchgeben...ist eigentlich recht simpel :D
Bin mal gespannt ;)
 
Nein, sollte zu bewerkstelligen sein. ;)

Spiele mit dem Gedanken, dass ich deine Applikation zur Basis/Vorbild nehme. Würde aber gerne mal eine Node-Webkit App bauen, vielleicht darüber legen. Ich liebe CLIs, aber ebenso ein schönes GUI.. :D

Wirklich eingebaut werden wird es wohl noch etwas länger nicht, denn im jetztigen Gehäuse (NCase M1) hat es nicht wirklich Platz, und bis ich das Geld für einen neuen PC zusammenhabe geht es wohl noch ein Weile..
 
Kurzer Zwischenbericht:
Der Arduino scheint leider tatsächlich defekt. Anscheinend ist der Controller der das Serielle-Interface (USB/COM) steuert defekt. Die Receive-LED blinkt fleissig beim Upload, aber der Chip reagiert nicht mehr, die Transmit-LED bleibt also dunkel. Daher kommt auch der Fehler von avrdude "Out of sync". Schade...

Heut morgen kam der neue Arduino (hier nochmal Lob an flikto.de und DHL für die fixe Lieferung kurz vor Weihnachten), der Einbau verlief diesmal absolut problemlos (langsam kommt Routine :ugly:). Ich hab ein kurzes Demo Programm geschrieben das die LEDs einfach fix ansteuert um alles zu testen. Leider deutet sich schon an das der Verlaufseffekt nicht richtig wirkt. Ich habe im oberen Bereich noch ein paar der 144er LEDs verbaut um eine bessere Ausleuchtung zu ermöglichen, das zerstört natürlich jeglichen Farbverlauf weil die obere Farbe viel zu dominant ist. Da probiere ich aber mal rum wenn das System fertig ist . Hier mal der optische Eindruck:
IMG_20141223_120022.jpg IMG_20141223_120007.jpg IMG_20141223_115927.jpg IMG_20141223_115907.jpg IMG_20141223_115851.jpg IMG_20141223_115831.jpg

Ich beginne jetzt mit der Fertigstellung des Arduino-Programms, das sollte heute über die Bühne gehen. Anschließend fehlen noch ein paar Details am Server und der Weboberfläche, dann müsste alles fertig sein für Version 1.0. Hoffe bis Ende der Woche :)
 
Erstmal frohe Weihnachten allerseits :D
Ich muss leider etwas zurückrudern da ich bis Jahres Ende leider deutlich weniger Zeit habe als erhofft und ab Ende Januar erstmal im Ausland bin. Um das jetzt mal einzutüten habe ich eine "Simple" Version gebaut, die keine Animationen und Verläufe beinhaltet, dafür aber komplett fertig und funktionstüchtig ist. Hier gehts zum Download bei GitHub.

Mit Version 1.0-simple könnt ihr:
- Die LEDs in eurem Gehäuse in beliebigen Farben leuchten lassen
- Änderungen der Farbe werden umgehend übernommen
- Die Helligkeit von 0 - 100% Regeln
- Beliebig viele LEDs ansteuern*
- Die LEDs werden automatisch beim Start des PCs angeschaltet mit der letzten Einstellung
- Die Farbe/Helligkeit bleibt auch bei Stromunterbrechung gesichert
- Gesamte Oberfläche im Systemtray bequem aufrufbar
- Die Software muss nicht im Hintergrund laufen, nur zum Ändern der Farbe/Helligkeit

Hier noch ein paar Screenshots der Software, das visuelle Ergebnis der LEDs entspricht dem aus dem letzten Post.
Screenshot (26).png Screenshot (25).png Screenshot (24).png


Aktuell sind noch 2 mir bekannte Bugs enthalten:
- Beim Ändern der Farbe wird die Helligkeit auf 100% zurückgesezt
- Wird in der Farbauswahl einfach geklickt wird die Farbe falsch interpretiert, die Auswahl muss auf die gewünschte Farbe gezogen werden

Die Probleme werde ich in den nächsten Tagen noch ausbessern. Außerdem will ich eine Ausführliche Do-It-Yourself Anleitung schreiben wie man das System bei sich in den PC einbauen kann.
Grundsätzlich brauch man folgende Dinge:
- Arduino Uno/Micro/o.ä. am besten mit ATmega 32
- Neopixels in gewünschte Anzahl/Dichte
- Lötkolben und grundlegende Lötkentnisse (man kann auch alles mit Klemmen machen, aber das klappt nicht garantiert)
- Heißkleber o.ä. um die LEDs einzukleben
- Ein paar lose Kabel und ein 5V Adapter für Lüfter
- 2h oder mehr, je nach Können und Perfektionismus

Gesamtkosten fangen bei 30€ an für China-Arduino und 1m 30er LEDs.

Ich würde mich über ein bisschen Feedback und Vorschläge zum System freuen :)

-------
*begrenzende Komponente ist der RAM des Arduino. Maximale Anzahl LEDs ist *Ramgröße*/3, macht bei 2048 Byte RAM also rund 650 LEDs. Bisschen Luft sollte sein...
 
Zuletzt bearbeitet:
Tolle Arbeit! Auch mit dem Tool im Tray. Benutzerfreundlichkeit ist heute einfach ein Muss! :) Probiere das Ding gerne bald aus (vielleicht schafft es sogar den Einbau ins NCase .. ;) , aber habe noch keinen Lötkolben zuhause und Kabel/Klemmen vergessen.. Einen Arduino Nano Chinaversion habe ich aber schon bestellt..
 
Hehe, dein erster Git-follower ist er nicht (zumindest falls ich nicht vergessen habe dann doch noch auf den Button zu klicken folge ich dir schon seit ca 1. Monat in dem Repo ;)). Super das es weitergeht. Ich habe auch immer noch fest vor mal an meinem Gehäuse weiter zu bauen und eine eigene Lüfter/Licht Steuerung wird dann auch noch umgesetzt werden. Dann schaue ich mir dein Projekt auf jeden Fall auch nochmal an!

Wegen dem kaputten Arduino: Ich hatte mal ein ähnliches Problem bei dem dann nur der Bootloader auf dem Arduino IC kaputt war. Oft hilft entweder den Bootloader neu drauf zu spielen oder zum Teil auch einfach den IC (ist normalerweise glaub ich nen Atmega 328P) auszuwechseln. Das wäre immer noch günstiger als ein komplett neuer!
 
Wegwerfen tu ich ihn sowieso nicht :D Ich hab auch schon gelesen das es manchmal nur die Firmware ist, ich hab aber gerade keinen ISP-Programmer zur Hand. Ich lager den Arduino mal ein und bei Gelegenheit beschäftige ich mich mal damit. Aber er wird für die Anleitung herhalten ;)

Git hab ich nur einen Follower, extra nochmal geschaut :P

Ich hab jetzt leider nur festgestellt das mein Rechner instabil läuft wenn die LEDs an/nur eingebaut und aus sind. Ich muss das nochmal untersuchen und beobachten. Ich befürchte das die LEDs zu viel Strom ziehen. Mein Netzteil ist für 4A auf der 5V Leitung ausgelegt, die LEDs können bis zu 3,5A ziehen, eher bisschen mehr...
 
Leider nicht fertig und ich habe aktuell keine Zeit mehr und keinen Rechner wo ich es einbauen könnte :P
Trotzdem Danke! :)
 
Danke danke :D
Aktuell geht leider nicht mehr so viel da ich grad im Ausland bin und recht wenig Zeit habe...ich möchte es dennoch mal fertig machen. Im Juli/August müsste sich Zeit finden :daumen:
Ich schreibe gerade auch eine Anleitung, Ziel ist ja das sich das jeder selbst in den Rechner bauen kann :D
 
Habe ich auch schon abonniert. :)
habe mir auch dein Programm runtergeladen und werde mir die Tage das System zusammenschustern. Das Grundsätzliche steht da ja schon und den Rrest schaffe ich schon irgendwie. :D
Was mich interessiert ist, ob es auch mit einem Odroid/RasPi klappt. Werde das mal testen und Report abliefern. ;)
 
Du willst es echt einbauen? Geil :D
Kannst ja gerne hier mal deine Erfahrungen berichten, ich werde dann die Tage auf jeden Fall die Anleitung fertig machen, bei Problemen und Fragen einfach melden :D

Der PI ist als Ersatz für den Arduino nicht bzw. nur bedingt geeignet. Jede LED hat einen eigenen Controller integriert, alle Controller sind über einen I2C Bus verbunden. Das Problem ist jetzt das der data Pin in einem sehr spezifischen Timing gesetzt/gelöscht werden muss um die Daten korrekt über den Bus zu übertragen. Da der Raspberry auf Linux aufbaut ist das recht kompliziert wegen der Multitasking Fähigkeit, es ist nahezu unmöglich die Timings einzuhalten. Man könnte zwar ein Kernel mit harter Echtzeitfähigkeit verwenden, aber das wird dann schon wieder zu kompliziert als das es Sinn macht. Es gibt auch ein Workaround, ist aber ziemliche Bastelei und man kann nicht die Bibliothek des LED-Herstellers verwenden.
 
Klar. Muss kann es ja auch nicht nur in den Rechner einbauen, sondern damit auch alles andere hübsch beleuchten. ;)

Ich meinte nicht den Pi als Ersatz für den Arduino, sondern als Ersatz für den Desktop-Rechner (also LED-Strip ->Arduino->RasPi). Du meintest ja, dass es unter Linux auch klappen müsste. Wobei ich da dann natürlich ein Workaround für die Stromversorgung basteln muss. Mal sehen. Vorerst kann ich's ja an meinen Pc anschließen.
 
Also die Stromversorgung ist außerhalb des PCs der Knackpunkt...Theoretisch kannst du den Arduino auch einmal bespielen mit den Farben und ihn dann vom Rechner trennen, der macht sein Ding weiter. Alternativ kann man das ganze auch abkoppeln und über Netzwerk steuern, das hatte ich auch schon überlegt, muss aber mal gucken.
 
Zurück