Oh... ich glaube, ich hab's...
Ich habe bisher immer einen Symlink von /dev/ttyACM0 auf /dev/ttySEDU gemacht... das war wohl falsch, oder?!?
[Projekt] Arduatmo - Ambilight auf Arduino-Basis
-
-
Das ist sogar notwendig. ttyACM0 kennt das Plugin nicht.
-
Schon klar.. ich war eben nur verwirrt, warum der im seduatmo einmal nach /dev/ttyUSBx und dann nach /dev/ttySEDU sucht...
ich sehe dann gerade echt nicht, warum dein Beispiel verhältnismässig schnell (12Hz) gegenüber seduatmo (~1Hz) ist... -
Quote
Stimmt... "SainSmart Duemilanove" ist bereits bestellt... braucht aber leider noch..
Der Nano hat auch noch einen FTDI drauf und sollte auch funktionieren. Und baut kleiner.
Vom Chinamann günstig zu bekommen. -
Hast Du einen Link?
Die, die ich eben gefunden habe, haben einen CH340 oder so drauf...Gruß
Sven -
Soooo.... der Duemilanove-Nachbau ist angekommen...
leider ist der FTDI darauf auch nur ein Nachbau... einmal unter Windows angesteckt, wird die PID überschrieben und das Ding ist erstmal wertlos... zum Glück gibt's Tools, die das wieder Rückgängig machen können...
Und: voll die Verbesserung!!! Nun sind 5 Hz möglich
Also warte ich, bis der Nano-Nachbau da ist... -
Kauf halt notfalls ein Original Nano oder ein FTDI Breakout irgendwo in DE, wo man auch vorher nachfragen kann, was drauf ist.
-
Hallo,
versuche gerade auf Basis von seduatmo + Arduino Ambilight nachzurüsten und stoße gerade auf Probleme.
Zuerst einmal was ich habe:5m WS2801 (160LED)
Arduino Nano mit FTDI (wahrscheinlich ein Clone, kommt von ali)Auf dem Arduino habe ich das tpm2arduino.ino gespielt und die Effekt funktionieren auch.
Also scheint die Software auf dem Arduino zu laufen (die Police Effekte find ich witzig)Das seduatmo Plugin wurde auch erfolgreich gebaut und geladen.
Eine config wurde mit dem beiliegende perl script erstellt. Wenn ich den VDR (ist auf TPM2 eingestellt) starte kommt dabei nicht wirklich ein flüssiges Ambilight raus. Ich würde sagen er aktualisiert ca alle 3 Minuten...
Daraufhin habe ich das test Programm von Seite 3 (Post 59) runtergeladen und kompiliert.
Ab >123 bytes ist alles vorbei:Code./test 123 [...] Sending frame with 123 bytes Received (after 11ms): AC 11ms elapsed 9ms waiting 50 fps 12800 bytes send 6400 bytes/s
Code
Display More./test 126 [...] Sending frame with 126 bytes .. no data available 101ms elapsed Sending frame with 126 bytes .. no data available 100ms elapsed 12 fps 13100 bytes send 1637 bytes/s
Stelle ich im seduatmo nun 40 LED ein geht es auch, zumindest sieht es so aus.
Ist der Arduino Müll oder kann es noch eine andere Ursache haben? -
Ich würde meinen yaVDR auch gerne "erleuchten".
Allerdings habe ich noch einige Fragen:
- Ist es mit dieser Lösung auch möglich, nur die oberen 3 Seiten zu beleuchten? An der Unterseite des TVs benötige ich kein Ambilight
- als LEDs könnte man dann 3m von diesen nehmen?
- woran kann ich erkennen, ob dies der passende Arduino ist? Man benötigt ja anscheinend mit FTDI und das steht nie(?) dabei?
- wie lang darf die Verkabelung vom Arduino bis zu den Stripes sein? Mein VDR steht ca. 3m entfernt.Da ich nicht soooo der Bastler bin: Es reicht, die Stripes mit dem Arduino entsprechend zu verkabeln, für stabile 5V zu sorgen und im yaVDR dann ein Plugin (seduatmo?) zu installieren und entsprechend zu konfigurieren?
-
- Ist es mit dieser Lösung auch möglich, nur die oberen 3 Seiten zu beleuchten? An der Unterseite des TVs benötige ich kein Ambilight
Das hab ich nie probiert.- als LEDs könnte man dann 3m von diesen nehmen?
Ja, die sind ok.- woran kann ich erkennen, ob dies der passende Arduino ist? Man benötigt ja anscheinend mit FTDI und das steht nie(?) dabei?
Am besten den Verkäufer fragenDa ich nicht soooo der Bastler bin: Es reicht, die Stripes mit dem Arduino entsprechend zu verkabeln, für stabile 5V zu sorgen und im yaVDR dann ein Plugin (seduatmo?) zu installieren und entsprechend zu konfigurieren?
Ich bin auch kein Elektronik-Experte, aber die Verkabelung hab ich noch hinbekommen. All zu kompliziert ist das nicht, vorausgesetzt man hat einen brauchbaren Lötkolben zur Hand. -
Moin...
Quote- Ist es mit dieser Lösung auch möglich, nur die oberen 3 Seiten zu beleuchten? An der Unterseite des TVs benötige ich kein Ambilight
Da sag ich mal.. ja.. das geht...hängt halt von der genauen Konfiguration ab...Quoteals LEDs könnte man dann 3m von diesen nehmen?
Ich habe die gleichen, also ja...Quote- woran kann ich erkennen, ob dies der passende Arduino ist? Man benötigt ja anscheinend mit FTDI und das steht nie(?) dabei?
Hmm..das kann ich dir auch nicht genau sagen... Im Zweifel lieber fragen...zum Glück hatte ich damals gleich 3Stk. gekauft
QuoteDa ich nicht soooo der Bastler bin: Es reicht, die Stripes mit dem Arduino entsprechend zu verkabeln, für stabile 5V zu sorgen und im yaVDR dann ein Plugin (seduatmo?) zu installieren und entsprechend zu konfigurieren?
Naja... entsprechend Verkabeln ist schon eine heiden Bastelarbeit... und dann muss der Arduino auch noch mit dem passenden Sketch bespielt werden...
Es gibt glaube ich auch fertig Lösungen zu kaufen...Lies dir dieses Thread am besten mal von vorne bis hinten durch...
//edit: Chief war schneller... sind ja fast die gleichen Antworten
-
hier nochmal eine Alternative zum Plastikrohren. Ich habe runde Alu Profile benutzt wie diese: http://www.ebay.de/itm/171415062751 mit WS2812B LED Strips mit 60 LEDs/m herein geklebt. Die LEDs werden gesteuert von ein billig Arduino Nano V3.0 Clone (mit FT232RL, wahrscheinlich auch ein Clone) und der schafft (jetzt) 50 fps bei 188 LEDs.
Auf die Ecken habe ich ein LED unter 45 Grad montiert (2. Bild), so das die Ecken auch ausgeleuchtet werden. Das ist immer die letzte LED im Profil. Die Verbindung zum nächsten Profil ist zwischen der letzte und vorletzte LED angelötet. Also, der vorletzte LED steuert 2 LEDs an. Dieses letztes LED zählt man nicht mit für die Konfiguration (!)
Meinem Samsung 46" TV hat ein transparente Rand, was das licht von die LEDs auch durch lässt, und der Rand noch schmaler aussieht (3. Bild).
Leider musste ich das Sketch von TheChief ändern, weil der Nano zu langsam war, und maximal nur 40 - 50 LEDs schaffte. Das Problem lag an der träge rx-ringbuffer von Arduino, wo die bytes erst empfangen werden, um danach nach die LED buffer zu verschieben. Bei 500kbps ist der Nano einfach zu träge und läuft der ringbuffer voll. oberlon, wahrscheinlich hast du das gleiche Problem.
Ich habe eine alternative ISR (interrupt service routine) geschrieben, der die bytes direkt nach die LED buffer schreibt. Leider habe ich keine Elegante Lösung gefunden um die originale ISR zu ersetzen und habe den im Arduino code auskommentiert. Wer möchte, kann mein Sketch gerne ausprobieren: https://github.com/jhorck/tpm2ard…tpm2arduino.ino. Nur noch der originale ISR auskommentieren: ISR(USART_RX_vect), steht in HardwareSerial0.cpp (Arduino 1.6).
Auch funktioniert FastLED 3.0.x bei mir nicht gut, die Farben haben einen Grünstich. Mit FastLED 3.1 (und v2) sieht es gut aus.
-
Na das sieht doch super aus.
Was die Änderungen im Sketch angeht: so tief eingestiegen bei Arduino war ich noch nicht. Aber wenn Deine Änderungen das ganze schneller macht, dann kann ich das auch übernehmen. Werd das bei Gelegenheit mal testen und schauen, ob ich das verstehe.
Grüsse
TheChief -
Wenn ich noch einmal ein Atmolight bauen würde, dann mit den APA102 LEDs. Die sind zwar ein bisschen teurer als die WS2812* sind aber wesentlich unkritischer was das Timing angeht, da sie quasi per SPI mit eigener Clock-Leitung angesprochen werden.
https://cpldcpu.wordpress.com/2014/08/27/apa102/ -
Man kann auch die guten alten bewährten WS2801 nehmen, die gehen auch über SPI.
-
Ok, die hatte ich nicht auf dem Schirm. Allerdings gibt es die WS2801 auf den ersten Blick nur mit maximal 32LEDs/m. Die APA102 gibt es auch als 60 und 144 LEDs/m. Ist halt die Frage ob man das braucht.
-
Sollte eigentlich reichen. Ich hatte mich damals für die WS2811 entschieden, weil die günstiger waren mit mehr LEDs. Wie es heute aussieht, weiss ich nicht. Zuvor hatte ich auch WS2801 mit dem seduboard laufen.
-
... und schauen, ob ich das verstehe.
Ansonsten einfach nachfragen
Die APA102s haben Vorteile, aber ich muss sagen das ich keine Timing Probleme zwischen Arduino und WS2812B habe, somit reichen mir die WS2812Bs auch. Da haben die bei FastLED einen Super Job gemacht!
-
Nachtrag meinerseits:
Hatte zu Ostern wieder etwas Zeit und habe die LED Stripes aus dem Schrank geholt.
Den Arduino neu bespielt und siehe da es geht. Dachte erst es liegt vielleicht am neuen Kernel im VDR, ein Test mit der alten IDE(1.0.6) zeigte aber das Arduino irgendwas in den Libs geändert haben muss.
Sketch und FastLED 3.0.3 sind die selben. Mit IDE 1.6.3 ist es ok mit 1.0.6 geht es nicht mehr.Auch mein Nano mit CH340 funktioniert, muss ihn nur manuell nach ttySEDU linken.
edit:
oder man ändert seduatmo
Diff
Display Morediff --git a/seduthread.c b/seduthread.c index ae9b1ec..cff36e9 100644 --- a/seduthread.c +++ b/seduthread.c @@ -596,7 +596,7 @@ void cSeduLine::setMode(SeduMode aMode, int channels) int cSeduLine::detect() { - const char* pattern = "module:ftdi_sio"; // move to config? + const char* pattern = "(module:ftdi_sio|module:ch341)"; // move to config? FILE* fd; regex_t reg;
-
Ich integriere gerade die LED (APA102) Streifen in meine Hifi-Wand um da gegen Ende des Jahres (?) auch so ein Ambilight in Betrieb zu nehmen.
Ist es notwendig das eine gerade Anzahl von LED´s auf jeder Seite ist, oder funktioniert es auch mit einer ungeraden Anzahl?
Sorry wenn die Frage blöd klingt, aber mir fehlt derzeit die Zeit mich durch den Code zu arbeiten, momentan befasse ich mich nur mit der
"Hardware" meines neuen Wohnzimmers. -
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!