[Projekt] Arduatmo - Ambilight auf Arduino-Basis

  • ...mal so am Rande. Ich habe vor in naher Zukunft meine Befestigung nochmals zu ändern und habe folgendes bei ebay gefunden:


    LINK


    Die Profile möchte ich schwärzen und auf Modellbau-Kugelköpfe setzen (Beispiel) LINK damit sie leicht ausrichtbar sind. Die Kugelpfanne (Gegenstück) bekommt eine kleine Bodenplatte und wird dann wie jetzt auch auf das TV-Gehäuse geklebt...


    Fehlt noch etwas Zeit dafür (und Lust) ;D


  • 570 cm?? was ist das für ein tv???


    ich vermute mal eine Leistung von ca. 5 watt pro meter. also ca. 28,5 watt für die gesamte länge. bei 5 Volt brauchst du also 5,7 Ampere, das 7 Ampere Netzteil sollte reichen. ich würde lieber noch etwas reserve draufpacken. auf jeden fall würde ich bei der länge mehrfach einspeisen, meinetwegen an jeder ecke.


    gruß


    g3joker

    Client 1 Hardware : MSI Z87-G43, I5-4570, 4 GB Ram (oversized aber war über :) ),Zotac NVidia GT630 (25 Watt),Thermaltake DH202 mit iMon-LCD ( 0038 ) und vdr-plugin-imon 
    Software : yaVDR 0.6,sofhhddevice @ 1920x1080@50Hz
    Server Hardware : MSI Z87-G43, I7-4790, 16 GB RAM, 4x3 TB WD Red,Nova DVB-S2, Cine S2 5.5 
    Software : Ubuntu 12.04 LTS mit yavdr-Paketen,virtualbox,diverse VM's


    Yoda: Dunkel die andere Seite ist...sehr dunkel!
    Obi-Wan: Mecker nicht, sondern iss endlich dein Toast ...

  • Hallo Zusammen,


    so hab noch mal den Thread komplett gelesen.
    Die LED benötigen ja ca. 14,4 Watt pro Meter, daher habe ich mich für das Netzteil hier entschieden.
    http://www.aliexpress.com/stor…put/701799_701901042.html


    4,7m x 14,4 Watt ergibt knapp 68 Watt bei Vollast, was ja eigentlich nicht zu erwarten ist, daher sollte das NT mit 60 Watt ausreichend dimensioniert sein.


    Dann bleibt nocht die Frage der Stipes:
    WS2812B oder WS2811 mit 60pixel pro Meter?


    Gibt es Vor- / Nachteile dieser Modelle?! Oder ist das eigentlich egal?
    EDIT:
    Hab mir die WS2812B Stripes bei Aliexpress bestellt, mal sehen wie lange der Versand dauert, und ob die Stripes durch den Zoll müssen.

    http://www.aliexpress.com/snapshot/6211419111.html


    Cheers, Stetanchi.

  • Hallo Zusammen,


    meine Hardware ist inzwischen angekommen und ich habe mich an die ersten Tests gemacht.


    Folgender Status:
    - Arduino Sketch ist eingespielt, habe mal int programm = 1 (2 und 3) ausprobiert was auch funktioniert. (Die LED Stripes leuchten wie erwartet)
    - Nun versuche ich geraden den Arduiono auch auf dem VDR (gen2vdr) mal richtig anzusprechen.


    UDEV Regel habe ich eingerichtet.

    Code
    1. SUBSYSTEMS=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="ttyUSB%n"


    Allerdings wird der Arduino erst nach mehrmaligem Stecken der USB Verbinding ekannt und dann wurde er auf ttyUSB3 verlinkt.
    Dann habe ich versucht über...

    Code
    1. echo -n -e "\xc9\xc0\x00\x01\x01\x36" >/dev/ttyUSB3

    den Arduino anzusprechen.


    Das funktioniert aber nicht und ich bekomme folgende Fehlermeldung...

    Code
    1. vdr ~ # echo -n -e "\xc9\xc0\x00\x01\x01\x36" >/dev/ttyUSB3
    2. -bash: echo: write error: Invalid argument


    Habt Ihr einen Tipp für mich wie ich das zum laufen bekomme?
    Benötige ich noch einen Treiber für den Arduino / FTDI?


    EDIT:
    Ich habe den Treiber nun über

    Code
    1. "modprobe -v ftdi_sio"

    geladen, und die UDEV Regel angepasst damit immer der Arduino immer auf ttyUSB0 verlinkt wird.

    Code
    1. SUBSYSTEMS=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="ttyUSB0"

    aber

    Code
    1. echo -n -e "\xc9\xc0\x00\x01\x01\x36" >/dev/ttyUSB0
    2. -bash: echo: write error: Invalid argument

    bringt immer noch den gleichen Fehler.



    Danke, Stef.

  • Ich vermute mal, der Fehler kommt von der verwendeten Bash, sofern der Befehl richtig kopiert wurde. Auf was verlinkt denn /bin/bash bei dir? Bin erst am Sonntag zurück, dann kann ich im Detail helfen. Ansonsten wenn /dev/ttyUSB0 da ist, kannst du auch das Plugin einrichten und probieren.

    - VDR: Thermaltake DH 102 mit 7" TouchTFT * Debian Jessie/vdr-2.1.8/graphtft/MainMenuHooks-Patch * Intel Pentium G3220 * DH87RL * Zotac GT630 * 1 TB System HDD * 4 GB Corsair Vegance * Harmony 900 (39-44W) * satip-Plugin
    - Server: Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Hi TheChief,


    /bin/bash hat keine Verlinkung in meinem VDR.

    Code
    1. vdr bin # ll /bin/bash
    2. -rwxr-xr-x 1 root root 840616 Jun 20 2013 /bin/bash



    Hab zuerst versucht systematisch Schrit für Schritt die Integration zu machen.
    Wollte erst mal sehen ob der Arduino sauber im VDR erkannt und angesprochen werden kann, bevor ich mich an die Konfig der Plugins für VDR und XBMC mache.


    Ich versuche mal das Plugin einzurichten und mal sehen ob es damit geht.


    EDIT:
    Hab mal Sduatmo Plugin kompiliert, konfiguriert und aktiviert, funzt aber immer noch nicht. Auszug aus dem LogFile:

    Code
    1. Sep 11 19:15:01 [vdr] [25321] loading /etc/vdr/themes/nOpacity-darkblue.theme
    2. Sep 11 19:15:01 [vdr] SEDUATMO: atmo Thread started (pid=25321)
    3. Sep 11 19:15:01 [vdr] SEDUATMO: Could not auto detect a usb device like '___|w_' in '/proc/tty/driver/usbserial'
    4. Sep 11 19:15:01 [vdr] SEDUATMO: Falling back to '/dev/ttySEDU'
    5. Sep 11 19:15:01 [vdr] SEDUATMO: Opening '/dev/ttySEDU' succeeded!
    6. Sep 11 19:15:01 [vdr] SEDUATMO: tcsetattr failed!


    Ich vermute, dass die Kommunikation mit dem Arduino über USB irgendwie nich sauber funktioniert.
    Egal ob ich per...

    Code
    1. vdr01_64 ~ # modprobe -v ftdi_sio
    2. insmod /lib/modules/3.16.0-gentoo/kernel/drivers/usb/serial/usbserial.ko
    3. insmod /lib/modules/3.16.0-gentoo/kernel/drivers/usb/serial/ftdi_sio.ko
    4. vdr01_64 ~ #


    den Treiber lade oder nicht ich kann den Arduino nicht ansprechen.


    Ich versuch jetzt noch mal ein anderes System mit Linux Live CD und versuche über "echo -n ..." den Ardiuin und die LED's anzusteuern.


    Danke soweit, Stefan.

  • Hallo,


    so bin nun einen Schritt weiter.
    Das Erste was in meinem System fehlte war das Laden der ftdi_sio Kernel Treiber, das habe ich nun aktiviert.


    Nach einen Bootvorgang des VDR funktioniert der Arduino aber immer noch nicht, obwohl er sauber erkannt und über die udev Regel verlinkt scheint.
    Erst wenn ich nach dem Booten das USB Kabel ziehe und wieder stecke wird der Arduino erneut erkannt, und ich kann ihn über das ./test 0 1 Programm, über das Echo Kommando
    und sogar über das Seduatmo Plugin ansprechen und verwenden. (Die LED's funkeln schön bunt :thumbsup: )


    Hat jemand eine Idee wie das auch direkt nach dem Booten erreicht werden kann, ohne das USB Kabel trennen zu müssen?
    Kann man ein USB Device auch softwaretechnisch über ein script o.Ä. trennen und neu erkennen?
    Kann es helfen den Treiber zu entladen und neu zu laden?


    Fragen über Fragen...


    Danke und Gruß, Stefan.

  • Hallo,


    so bin noch einen Schritt weiter und habe mal die Stripes mit der "Lehrrormethode" an meinem TV befestigt.
    Seduatmo Plugin über das beiligende Perl Script konfiguriert. So weit so gut das Plugin funktioniert soweit, allerding stimmt die Reihenfolge der LED nicht.
    Photo im Anhang.
    Meine LED Stripes sind von vorn gesehen unten links angeschlossen und laufen dann gegen den Uhrzeigersinn rund um das TV Gerät.


    Ich suche schon seit geraumer Zeit die Möglichkeit dem Plugin bei zu bringen den Startpunkt festzulegen.


    Das einzige was ich finden konnte ist in der seduconf.pl folgende Zeile:

    Code
    1. @fit = ('bot', 'right', 'top', 'left');><------># pyhsical/technical LED setup


    Allerdings bin ich nicht sicher ob das die richtige Stelle ist und ausserdem ist mir dei Syntax nicht klar.
    Jeder Versuch an der Stelle etwas zu ändern führt bei der Ausführung des Scripts zu einem Syntax Error und das Script lässt sich nicht mehr ausführen.
    Steh irgendwie auf dem Schlauch... ;(


    Anbei ein Photo von dem aktuellen Stand.


    Wie bekomme ich das richtig eingestellt?


    Danke und Gruß, Stefan.

  • Hm, von Haus aus scheint das Skript nicht zu gehen. Kommentier mal die beiden Zeilen aus, die mit $horz1 und $vert1 anfangen - scheinen ungenutzt zu sein. Danach gehts bei mir erstmal.


    Was hast Du denn geändert? Sieht aus, als gehört links bei Dir nach unten und ist seitenverkehrt.


    Code
    1. @fit = ('bot', 'right', 'top', 'left');><------># pyhsical/technical LED setup


    Das ist wohl, wie die LEDs angebracht sind.


    Code
    1. $dir = 'r';<---># forward or reverse (clock) direction (f/r)


    Eventuell hilft das auch.


    EDIT: Bei mir wird das seduatmo eigentlich immer erkannt. Hab auch keine udev-Regel eingerichtet.

    - VDR: Thermaltake DH 102 mit 7" TouchTFT * Debian Jessie/vdr-2.1.8/graphtft/MainMenuHooks-Patch * Intel Pentium G3220 * DH87RL * Zotac GT630 * 1 TB System HDD * 4 GB Corsair Vegance * Harmony 900 (39-44W) * satip-Plugin
    - Server: Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Hi The Chief,


    ich hatte es mit folgender Zeile versucht...

    Code
    1. @fit = ('bot', 'left', 'top', 'right'); # pyhsical/technical LED setup


    um die Orientierung umzukehren.


    Das lässt sich aber mit...

    Code
    1. $dir = 'f'; # forward or reverse (clock) direction (f/r)


    erreichen, jetzt stimmt schon mal die Orientierung, also gegen den Uhrzeigersinn, siehe Photo.


    Jetzt muss der Anfang nur noch von Mitte Oben nach unten links gelegt werden dann wäre es richtig.


    Danke Dir, Stefan.

  • Hallo,


    kurzes update.
    Hab nun auch die Reihenfolge hinbekommen.
    Das Problem bei mir lag am copy & paste.
    Wenn ich diese Zeile kopiert habe...

    Code
    1. @fit = ('bot', 'left', 'top', 'right'); # pyhsical/technical LED setup


    dann hat der editor aus dem TAB Stop Zeichen nach dem Semikolon andere richtige Zeichen erzeugt, die das Script dann nicht verarbeiten konnte.


    Also alles manuell eingetippt und mit...

    Code
    1. @fit = ('left', 'top', 'right', 'bot');


    ... funktioniert nun auch die Orientierung und Reihenfolge der LED's.


    Das Problem mit dem verlinken des Arduino nach dem Boot habe ich auch noch lösen können. (Danke an TheChief)
    Einfach die udev regel entfernt und schon wird der Arduino auch beim booten direkt nach /dev/ttyUSB0 verlinkt.


    Habt Ihr noch einen Tipp wie ich die Farben bei den Einstellungen des Plugins noch vernünftig kalibrieren kann?
    Gibt es eigentlich die ein Testvideo für den VDR der unter dem softhddevice läuft?
    Auf youtube gibt es das ein oder andere Video (hier ) aber das lässt sich mit dem VDR nicht abspielen.


    Gibt es etwas vergleichbares für den VDR?


    Danke und Gruß, Stefan.

  • Ich hatte irgendwo mal eins von Youtube nach VDR konvertiert. Muss mal schauen, ob ich das noch finde.

    - VDR: Thermaltake DH 102 mit 7" TouchTFT * Debian Jessie/vdr-2.1.8/graphtft/MainMenuHooks-Patch * Intel Pentium G3220 * DH87RL * Zotac GT630 * 1 TB System HDD * 4 GB Corsair Vegance * Harmony 900 (39-44W) * satip-Plugin
    - Server: Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Hallo Ihr,
    habe gerade mal versucht, tpm2arduino zu kompilieren... zuerst einmal musste ich die Beispiele aus pt löschen... nun knallt es bei FastLED


    Wenn ich im folgenden Kopf die Zeile "#define FORCE_SOFTWARE_PINS" rausnehme, läuft es durch....

    C
    1. #include <pt.h>
    2. #define FORCE_SOFTWARE_SPI
    3. #define FORCE_SOFTWARE_PINS
    4. #include <FastSPI_LED2.h>


    Fehlermeldung anbei!


    Gruß
    Sven

    Dateien

    • error.txt

      (30,99 kB, 61 Mal heruntergeladen, zuletzt: )

    Gehäuse: Antec Fusion Remote schwarz/silber
    Mainboard: XFX GeForce 9300
    CPU: Intel Core 2 Duo 6300
    RAM: 2 x 1GB PC2 6400 DDR2 800MHz Corsair Value Select
    Netzteil: be quiet Straight Power 400W ATX 2.2
    Fernbedienung: Logitech Harmony 515
    DVB: Digital Devices Cine S2
    Software: Gen2VDR V3 Beta 8 Update 10
    HD1: OCZ SSD Vertex 2, 60 GB
    HD2: Western Digital WD15EARS Caviar Green 1.5TB
    DVD: derzeit abgestöpselt

  • Werd mal schauen, was sich inzwischen wieder alles bei FastLED geändert hat. Meine Version ist vom 12.2.2014.

    - VDR: Thermaltake DH 102 mit 7" TouchTFT * Debian Jessie/vdr-2.1.8/graphtft/MainMenuHooks-Patch * Intel Pentium G3220 * DH87RL * Zotac GT630 * 1 TB System HDD * 4 GB Corsair Vegance * Harmony 900 (39-44W) * satip-Plugin
    - Server: Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Hab nochmal meine derzeitige Version hochgeladen und meine FastLED Library aktualisert. Soweit kompiliert alles bei mir.


    Vielleicht reicht ja auch eine Änderung in


    Code
    1. #include "FastLED.h"


    Nutze übrigens Arduino 1.5.6-r2, aktuell ist wohl 1.5.8, die hab ich jetzt nicht getestet, die 1.0.6 auch nicht.


    Bei FastLED steht noch:


    Zitat

    IMPORTANT NOTE: If you are building for AVR based systems, please do not use any version of the arduino IDE 1.5.7 or greater yet. It messes with some of the asm output which will cause you problems.

    - VDR: Thermaltake DH 102 mit 7" TouchTFT * Debian Jessie/vdr-2.1.8/graphtft/MainMenuHooks-Patch * Intel Pentium G3220 * DH87RL * Zotac GT630 * 1 TB System HDD * 4 GB Corsair Vegance * Harmony 900 (39-44W) * satip-Plugin
    - Server: Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von TheChief ()

  • danke, aber Dein aktualisierter Quellcode lässt sich leider auch nicht kompilieren


    Gehäuse: Antec Fusion Remote schwarz/silber
    Mainboard: XFX GeForce 9300
    CPU: Intel Core 2 Duo 6300
    RAM: 2 x 1GB PC2 6400 DDR2 800MHz Corsair Value Select
    Netzteil: be quiet Straight Power 400W ATX 2.2
    Fernbedienung: Logitech Harmony 515
    DVB: Digital Devices Cine S2
    Software: Gen2VDR V3 Beta 8 Update 10
    HD1: OCZ SSD Vertex 2, 60 GB
    HD2: Western Digital WD15EARS Caviar Green 1.5TB
    DVD: derzeit abgestöpselt

  • Dann oben im Header ändern:


    Code
    1. #define SERIAL Serial // Serial port for communication


    Dein Board hat vermutlich nur einen seriellen Port.

    - VDR: Thermaltake DH 102 mit 7" TouchTFT * Debian Jessie/vdr-2.1.8/graphtft/MainMenuHooks-Patch * Intel Pentium G3220 * DH87RL * Zotac GT630 * 1 TB System HDD * 4 GB Corsair Vegance * Harmony 900 (39-44W) * satip-Plugin
    - Server: Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Oh man... erst mal vieles, was man beachten muss, wenn man es nicht gewohnt ist, mit Arduino zu arbeiten ;)
    daher: Vielen Dank!


    Aber die nun fehlenden defines werden nicht mehr benötigt?

    Gehäuse: Antec Fusion Remote schwarz/silber
    Mainboard: XFX GeForce 9300
    CPU: Intel Core 2 Duo 6300
    RAM: 2 x 1GB PC2 6400 DDR2 800MHz Corsair Value Select
    Netzteil: be quiet Straight Power 400W ATX 2.2
    Fernbedienung: Logitech Harmony 515
    DVB: Digital Devices Cine S2
    Software: Gen2VDR V3 Beta 8 Update 10
    HD1: OCZ SSD Vertex 2, 60 GB
    HD2: Western Digital WD15EARS Caviar Green 1.5TB
    DVD: derzeit abgestöpselt