ChromoFlex

ChromoFlex Vollfarblicht-Steuerung für LED-Stripes

Hersteller: Barthelme KG
Info als PDF, Bezugsquelle: u.a. Reichelt

Preise: Steuergerät ca. € 35,50 und 9-fach RGB LED-Stripe ca. 25,50

Bei entsprechender Resonanz gibt es ein „IPS-ChromoFlex-Modul“ bis dahin vorab ein PHP-Skript zum „Spielen“:


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : ChromoFlex.ips.php
Trigger  : 
Interval : 
*/

$id=32742; //InstanceID ComPort
$head=chr(0xCA); //StartByte (Muss nicht verändert werden)
$addr=chr(0).chr(0).chr(0); //Adresse 0,0,0 = Broadcast

//RESET
//$cmd=chr(0).chr(0).chr(0xFE);

//KONTROLLE ÜBERNEHMEN - WICHTIG NACH RESET!
//$cmd=chr(0).chr(3).chr(0x7E).chr(0x11).chr(0x01).chr(0x01);

//INKREMENTIERUNG FESTLEGEN -> 255 = sofort, 1 = 2,55ms für Änderungen von 0 auf 255
/*
define('RED', 255);
define('GREEN', 255);
define('BLUE', 255);
$cmd=chr(0).chr(5).chr(0x7E).chr(8).chr(RED).chr(GREEN).chr(BLUE).chr(0x00);
*/

//FARBE SETZEN
/*
define('RED', 255);
define('GREEN', 255);
define('BLUE', 200);
$cmd=chr(0).chr(5).chr(0x7E).chr(4).chr(RED).chr(GREEN).chr(BLUE).chr(0x00);
*/

//Ab hier muss nichts verändert werden
//------------------------------------------
if(!isset($cmd) || $cmd=="") {
 die("Kein Befehl angegeben!");
}

$txt=$addr.$cmd;
$crc=crc16($head.$txt);
$txt=str_replace(chr(0xCB), chr(0xCB).chr(0x01), $txt);
$txt=str_replace(chr(0xCA), chr(0xCB).chr(0x00), $txt);

COMPort_SendText($id, $head.$txt.$crc);

function crc16($string,$length=0){

    $auchCRCHi=array(    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
                0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
                0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
                0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
                0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
                0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
                0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
                0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
                0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
                0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
                0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
                0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
                0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
                0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
                0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
                0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
                0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
                0x40);
    $auchCRCLo=array(    0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
                0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
                0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
                0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
                0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
                0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
                0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
                0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
                0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
                0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
                0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
                0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
                0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
                0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
                0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
                0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
                0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
                0x40);
    $length        =($length<=0?strlen($string):$length);
    $uchCRCHi    =0xFF;
    $uchCRCLo    =0xFF;
    $uIndex        =0;
    for ($i=0;$i<$length;$i++){
        $uIndex        =$uchCRCLo ^ ord(substr($string,$i,1));
        $uchCRCLo    =$uchCRCHi ^ $auchCRCHi[$uIndex];
        $uchCRCHi    =$auchCRCLo[$uIndex] ;
    }
    return(chr($uchCRCHi).chr($uchCRCLo));
}

?>

MST

hallo steiner,
schön das sich jetzt doch jemand des themas annimmt. ich hatte im feb. schon mal versucht in dieser richtung etwas anzustossen. ich würde mich jedenfalls freuen, wenn es ein ips-modul gäbe. ich habe nähmlich mehrere module davon.
mfg mas

Hallo Steiner,

finde die Idee ganz interessant - hätte auf alle Fälle Interesse an einer steuerung.

Ich schliess mich an. Das hat was !

mfG Franz

Ich habe jetzt auch eine ChromoFlex Steuerung.
Über ein Modul würde ich mich auch freuen.

mfg Swen

Ich wollt mich auch mal mit Chromoflex beschäftigen. Ich will eine Fensterfront über drei Stockwerke gleichmässig Beleuchten. RS 232 Kabel wäre zu lang. Würde die Steuerung mit drei mal XBEE an drei Chromoflex funktionieren?

MfG Heiner

Hat sich einer von Euch schon genauer mit Chromoflex beschäftigt? (ggf neues Thema aufmachen) Wenn man mehrere verbindet sollen sie über den RS232 Bus Komunizieren. Das heist ein, an einem Kontoller eingestellter, Efekt wird auf die anderen übertragen. Auch ein Kontroller mit IR Emfänger soll den Befehl an die anderen über den RS232 Bus mit zwei Drähten Rx+GND weiterleiten. Hat jemand eine Idee wie man dies über drei Stockwerke verteillen kann und über IPS steuert?
MfG Heiner

Hier mal ein kleiner Erfahrungsbericht über den Chromoflex LED Controller. Vielleicht gibt es ja noch mehr Chromoflex Benutzer und man eröffnet hier einen Chromoflex Bereich.
Eigentlich wollte ich nur drei übereinander liegende Fenster farblich beleuchten. Ich habe die Controller erstmal in meinem Arbeitszimmer aufgebaut um mit der Ansteuerung über IPS oder den Chromoflex Editor zu experimentieren. Angeschlossen habe ich Seoul P5 RGB Power LEDs. Stück ca. 12,-€ (3 Chromoflex I350, 2x 3 LEDs an 12V, 1x 6 LEDs an 24V).
Ich bin so begeistert von den satten, reinen Farben dass ich den Aufbau zur Zimmerbeleuchtung benutzen werde und für die Fenster neue kaufen muss. Unter Winamp AdIn kann ich sie auch als Lichtorgel betreiben. Meine Frau hat mich schon gefragt ob bei mir die Jugendzeit zurückgekehrt ist.
Angesteuert werden die Controller zurzeit noch über RS232 Kabel. Die 2x 4 Programme des Chromoflex kann ich auch über FS20 SM4 per Funk schalten. Per Infrarot Fernbedienung Logitech 525 geht es nur teilweise. Ich habe noch nicht den passenden Code für Mute/Prg gefunden. Zum Anlernen habe ich keine originale Fernbedienung. Die RS232 Funkverbindung ist mangels XBee noch nicht getestet.
Der Chromoflex ist so gut zu steuern das ich ihn auch zur Ansteuerung von weißen Power LEDs benutzen werde. Drei einzelne Konstandstromquellen 350 mA kosten einzeln je gut 10,-€ und lassen sich nicht steuern.
Nur mit dem Erstellen von Effekten komme ich noch nicht klar. Mit dem Chromoflex-Composser können vorhandene Effekte zusammengestellt und auf die 8 Programmplätze verteilt werden. Aber Effekte erstellen?
Im Chromoflex-Editor gibt es rechts einen Bereich zum Einstellen von Parametern. Aber bei welchen Effekten werden die gebraucht?
Mit den eingebauten Dip Schaltern kann man die Gruppen Adresse des Controllers einstellen, aber gleichzeitig ändere ich damit die Startfarbe. Wie kann ich die Adresse unterschiedlich einstellen und trotzdem die Startfarbe bei allen gleich lassen?
Das mit den verschiedenen Controller Adressen wird unter XBee Verbindung nicht mehr relevant sein da man dann die einzelnen XBee anspricht, nicht die Controller selbst (Hoffe ich mal).
Das wäre es erstmal. Vielleicht finden sich noch einige die dazu ihren Kommentar abgeben können.

du musst mit dem editor einmal die adresse (zufallsadresse) im chromoflex setzen, diese notieren und im script angeben. damit kannst du jedes modul einzeln ansprechen. funktioniert problemlos. alle dip-schalter default lassen. habe mitlerweile 6 module vernetzt.
mfg mas

Hallo Heiner,

ich suche für den „IPS-EngTanzAbend“ noch die passende Beleuchtung…
Wo hast Du das „Winamp AdIn“ her und gibt es bei der Installation etwas zubeachten?
Ich war leider nicht erfolgreich - die DLL war wohl falsch?!
Oder muss ich wieder ein paar Widerstände, Kondensatoren und Triacs zusammen braten
für die 3-Kanal-Power-Schauer-Hit-Lichtorgel …

MST

Du hast Post.
Zu finden ist das Addin direkt über das WinAmp Forum. Einfach mal dort Chromoflex eintippen.

… die „SVIS“ hatte ich gefunden, nur leider bekomme ich zig Fehlermeldungen (u.a. CW3230.dll nicht gefunden
oder auf einem anderem PC: ""DLL nicht gefunden).
Die Version von Wiamp ist 5.35. Auch habe ich nicht gefunden, wo man den COM-Port einstellt …

MST

So unterschiedlich können die Systeme sein.
Ich habe die Dateien in Programme\WINAMP\PLUGINS\vis_test\ geschoben und es lief (WINAMP V5.35, Deutsch V0.1). Bei der Svis.DLL war ich mir nicht ganz sicher wohin, daher habe ich sie auch noch eine Stufe drüber also Programme\WINAMP\PLUGINS\ . Die extra besorgte USP3TCOM.dll (hatte ich vergessen dir mit zu senden) in …\WINAMP\PLUGINS\ . Eine cw3230.dll gibt es auch unter Programme\WINAMP\ muss aber vorher schon da gewesen sein.
Ja und COM Port einstellen? Weiß ich nicht. Da Chromoflex an COM 1 angeschlossen ist ging es eben auf Anhieb. Es scheint aber in der USP3TCOM.dll/SVIS.C vorgegeben zu sein.

Könnt Ihr mal einem Unwissenden sagen, wo man das Addin für WinAmp bekommt? :rolleyes:

Gruß
Klaus

Todesmutig hab ich mal einen Selbstversuch gestartet und bei google „Chromoflex“ und „Winamp“ eingegeben. Gleich der [b]Erste Hit[/b] verweist auf einen Thread im Winamp-Forum. Den würd ich mir mal ansehen. :rolleyes:

Habs aber nicht getestet - Hab keine passende hardware…

Toni

Hallo Toni - Du Held,

kannst Du mir mal bitte den Link von Google schicken.

Danke für die Mühe, die ich Dir gemacht habe

MST :wink:

… nee - Spaß beiseite: leider habe ich das Plugin bis heute noch nicht zum laufen bekommen.
… außerdem suche ich noch eine Möglichkeit die „Beats“ in IPS zu bekommen - bin für jeden Tipp dankbar…

Na ich will mal nicht so sein… :wink:

Also, wie gesagt, ich kann nix testen… Aber laut dem Winamp-Forum sollte im Anhang alles drin sein was man benötigt.

@steiner: vesuchs mal hier: http://www.noogle.de die Suchmaschiene für alle, die Wunschlos glücklich sind. :wink:

Toni

ChromoSorglos.zip (602 KB)

Danke! Werde es am Wochenende ausprobieren.

@Toni: Manchmal ist man mit Blindheit geschlagen. :o

… nachdem das „ChromoSorglos“ PlugIn über 30 mal herunter geladen wurde:
Hat es jemand zum Laufen gebracht :confused: - bin am verzweifeln :mad:
oder möchte jemand ein IPS-Beat-Modul programmieren :rolleyes:

MST

ich muss gestehen, ich habe übersehen, dass ich keine serielle Schnittstelle mehr frei habe.
Cromoflex muss warten bis aufgerüstet ist. :frowning: