[HowTo] RGB Beleuchtung mit Arduino: ownFX

Kleines Update: Dashboard mehr oder weniger komplett überarbeitet. Der Graph für die GPU fehlt noch. Die einzelnen Panels kann man zuklappen wie Spoiler. Ist allerdings im Moment alles nur mit Zuffalsdaten aus JS gefüttert. Die Implementierung der richtigen Funktionalität muss wohl noch warten, wegen Klausurvorbereitung und so :D

dashboard.png
 
Du könntest mit der USB-Versorgung einen Optokoppler schalten, der bei 5V Strom vom Netzteil durchlässt... somit hast du auch eine absolut galvanische Trennung. Alternative dazu, die aber wesentlich mehr Strom frisst, wäre ein Relais.

Musst halt eine Doppellitze ausm PC hoch ziehen zur Tastatur.
 
Dann kann man mit dem Arduino Optokoppler zwischenschalten ;) Diese werden dann mit 8A versorgt und kümmern sich um die LEDs, während der Arduino nur die Optokoppler schalten muss. Wäre wohl die sicherste Methode, da kommt garantiert kein zu großer Strom auf den Controller.

Und Optokoppler sind günstig :D Ein 4N35 kostet 0,33€. Der wird aber nicht reichen, IF= 50mA... aber allgemein sind die Teile nicht teuer, Relais kosten mehr und sind laut ^^
 
Zuletzt bearbeitet:
Mal was generellen:

Bisher wird mit dem Projekt ja nur eine einheitliche Beleuchtung realisiert (was mir auch eigentlich reicht).
Dafür braucht man ja aber eigentlich keine (teuren), einzeln adressierbaren LED-Stränge.

Ne Idee, wie man das ganze auf die billigen LED Leisten ändern kann?
 
RGB LEDs funktionieren normalerweise so, dass du eine Masse hast und eine Leitung für die R, G und B LEDs. Die LEDs werden über diese Leitung mit Strom versorgt. Um solche LEDs zu steuern wird der Strom auf den einzelnen Leitungen angepasst. Dafür müsste der Arduino diesen Strom direkt kontrollieren, dafür ist er aber zu schwach. Folglich brauchst du vermutlich (ich bin in dem Bereich kein Profi) eine Relaischaltung.
 
Sicher funktioniert dass auch mit den billigen nur brauchst du halt 3 MOSFET´s (Transistor).
Das sind im Endeffekt elektronische "Relais" Der Vorteil darin ist dass man den MOSFET beliebig schnell schalten kann. Ein Relais wird irgendwann an der Selbstinduktionsspannung sterben.
Das schnelle Schalten braucht man für PWM (dimmen)
Wenn du jetzt 3 hast kannstu jeden einzigen Farbkanal dimmen sprich Farben mischen
 
Ich würd mit einer leicht anderen Denkweise herran gehen:
Leider ist der WS2812B als integrierter Chip gedacht, aber der WS2811 (es sollte kein Problem sein das Tool dafür ab zu ändern) ist auch als Chip zu bekommen.
Hier mal das Datenblatt http://www.vh-data.de/ebay/ws2811chip.pdf
Wenn ich jetzt zwei LEDs an den Chip löte, sollten sie ja gleichzeitig und identisch leuchten (der Arduino steuert sie als eine).
Die Preisfrage ist nur: Spielt die Anzahl der LEDs für den CHip eine Rolle?

Letztendlich sollte man das Signal einfach an solch einen Streifen geben können 5M 50CM 30LED/m 5050 SMD RGB LED Strip Streifen leiste Band Fernbedienung IP65 | eBay
und ein Chip steuert alle LEDs (für dein Tool // den Arduino ists, als wär nur eine angeschlossen).


 
So, da ich noch einige streifen mit WS2811 da hab, hab ich mir jetzt mal einen simplen 5m 5050 Streifen für 3€ in China bestellt, dann schauen wir mal, was ich damit hinkriege.

Einzig unschönes: Der 5050 Streifen braucht 12v.
 
12V hast du ja im PC, Leistung auf der Schiene mehr als genug :daumen:
Freue mich auf dein Ergebnis, sparen ist immer super :D
 
Sicher funktioniert dass auch mit den billigen nur brauchst du halt 3 MOSFET´s (Transistor).
Das sind im Endeffekt elektronische "Relais" Der Vorteil darin ist dass man den MOSFET beliebig schnell schalten kann. Ein Relais wird irgendwann an der Selbstinduktionsspannung sterben.
Das schnelle Schalten braucht man für PWM (dimmen)
Wenn du jetzt 3 hast kannstu jeden einzigen Farbkanal dimmen sprich Farben mischen

Jein. Wenn man ein Leistungs-MOSFET (geringe RDS(ON) bzw. hohe Eingangskapazität) einfach an PWM-Pin eines Mirocontrollers, darf die PWM-Frequenz nicht all zu hoch gewählt werden, sonst kriegt man Probleme beim Gate umladen und das MOSFET wird "glühen". Da nimmt man einfach einen LogicLevel MOSFET (beispielsweise IRLIZ44N, 55v bei 30A) mit dem passenden Treiber. Und zum Anderen muss man auch noch die Ton und Toff Zeiten im Auge behalten.
 
Ein sehr interessantes Thema und schöner Code. Befasse mich auch gerade mal wieder aktiver mit dem Arduino. Bisher habe ich immer alles "klassisch" gelöst.

Mittlerweile gibt es die WS2812B für sehr wenig Geld bei Alibaba zu kaufen. Wem die 5V nicht reichen, der könnte auch mit einem Festspannungsregler die 12V anzapfen. Entweder selber bauen oder für wenig Geld fertig kaufen. Meine laufen mit max. 8A stabil und werden etwas mehr als handwarm.

Relaiskarten haben, meiner Erfahrung nach, den Nachteil, dass die viel Platz wegnehmen und gern mal ausfallen.
 
Hallo, ich habe hier ein Problem mit ownFX. Kann dieses Programm nicht öffnen. Mit normalen anklicken passiert nix und über "cmd" kommt folgende Fehlermeldung:

C:\Users\xxx\Desktop>java -jar ownFx.jar
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while
loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in java
.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:123)
at de.crysxd.ownfx.SerialSupport.getSerialInterfaces(SerialSupport.java:
13)
at de.crysxd.ownfx.SerialSupport.getSerialInterfaceNames(SerialSupport.j
ava:24)
at de.crysxd.ownfx.Ui.queryComPort(Ui.java:52)
at de.crysxd.ownfx.Main.<init>(Main.java:57)
at de.crysxd.ownfx.Main.main(Main.java:32)

Hat jemand eine Idee an was es liegt? Betriebsystem Windows7 und Java ist installiert.

Grüße

P.S.: Achso, hab vergessen zu erwähnen das ich ein Arduino Nano 328P 16Mhz (5V) habe.

Update: Im Netz stand was von rxtxparallel.dll und rxtxserial.dll... gesagt... getan. Fehlermeldung von oben ist weg aber das Programm öffnet sich noch immer nicht.

C:\Users\xxx\Desktop>java -jar ownFx.jar
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Connection established. Waiting for Arduino to reboot...
-> Done after 1467 ms

... dann passiert nix weiter.
 
Zuletzt bearbeitet:
Zurück