mediola

LED Stripe Control

User stellen ihre Haussteuerung vor

Werbung


LED Stripe Control

Beitragvon thkl » 17.09.2013, 11:09

Moin,

ich habe mir mal Gedanken über die Ansteuerung von RGB LED Stripes gemacht. Das hat hier ja schon mal jemand hier mit der Ansteuerung der Fernbedienung dieser Stripes realisiert. Ich habe jedoch den Ansatz gewählt die Stripes direkt über ein Arduino Ethernet Modul direkt anzusteuern. Die Farben und Leuchtstärken können dann direkt per HTTP und damit auch aus der CCU gesteuert werden.

Wenn Interesse besteht kann ich hier ja mal Schaltplan & Software einkippen.

Gruß Thomas
Gruß Thomas
- sent from my dishwasher -


- Head of HomeControl for iOS -
- Steuerung der CCU über HomeKit (Siri) -
Benutzeravatar
thkl
 
Beiträge: 1193
Registriert: 15.07.2013, 13:32
Wohnort: dickes B

Re: LED Stripe Control

Beitragvon Boris » 17.09.2013, 11:11

Interesse besteht auf jeden Fall!
CCU2 / Homeputer CL Studio / 348 Kanäle in 120 Geräten:
-------------------------------------------------------------------
1x HM-RC-19-B, 3x HM-PB-6-WM55, 3x HM-PB-2-WM55, 3x HM-Sec-MDIR, 3x HM-Sen-MDIR-O, 1x HM-Sec-SC-2, 8x HM-Sec-RHS, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-SM, 1x HM-Sec-TiS, 2x HM-ES-TX-WM, 5x HM-LC-Sw1-FM, 1x HM-Sen-DB-PCB, 5x HM-ES-PMSw1-Pl, 12x HM-CC-RT-DN, 8x HM-CC-VG-1, 7x HM-TC-IT-WM-W-EU, 1x HM-WDC7000, 4x HM-LC-Bl1-FM, 2x HM-LC-Sw1-Ba-PCB, 7x HM-LC-Bl1PBU-FM, 3x HM-LC-Sw1PBU-FM, 1x HM-LC-Dim1PWM-CV, 4x HM-LC-Sw2-FM, 1x HM-LC-Sw1-DR, 4x HM-LC-Sw1-Pl-2, 1x HM-LC-RGBW-WM, 1x HM-LC-Dim1T-FM, 1x HM-Dis-TD-T, 1x HM-OU-CFM-Pl, 1x HM-Sec-SD-Team, 3x HM-Sec-SD, 1x HM-ES-PMSw1-DR, 2x HM-OU-LED16, 2x HM-PBI-4-FM, 1x HM-WDS30-OT2-SM, 2x HM-WDS10-TH-O, 2x HM-WDS40-TH-I, 1x HM-SCI-3-FM, 1x HM-LC-Sw4-Ba-PCB, 3x HM-Sec-SCo, 2x HM-Sec-SC, 1x HM-Sec-WDS, 1x HM-WDS100-C6-O
-------------------------------------------------------------------
Benutzeravatar
Boris
 
Beiträge: 617
Registriert: 03.12.2012, 14:45
Wohnort: Elsass, Frankreich

Re: LED Stripe Control

Beitragvon Benny » 17.09.2013, 13:22

Ja, Interesse ist da :mrgreen:
Benny
 
Beiträge: 236
Registriert: 19.11.2012, 09:20

Re: LED Stripe Control

Beitragvon Vestnetz » 17.09.2013, 14:17

Hallo,

Interesse ist auf alle Fälle da, vor allem wäre eine Lösung super wo man nicht mehr unbedingt zum Lötkolben greifen muss.

Das hat nix mit Faulheit zu tun sondern einfach gibt es ein paar kleine Probleme mit den Augen die es recht schwierig machen solche Aufgaben zu erledigen.

Aber ich würde mich auf jeden Fall über den Schaltplan+Software freuen
Vestnetz
 
Beiträge: 19
Registriert: 16.02.2013, 16:41

Re: LED Stripe Control

Beitragvon pix » 17.09.2013, 14:43

Ja, Interesse besteht auf jeden Fall!
150 Kanäle in 75 Geräten und 103 CUxD-Kanäle in 25 CUxD-Geräten (HomeMatic, FS20), CCU1 FW1.519, AddOns: CUxD 1.0, dropbear, E-Mail 1.2, ftp_server und regaWatchdog.
Logik und Visualisierung mit ioBroker auf Mac OS X Node.js. Eingebundene Systeme: Sonos, Rademacher Homepilot, Roomba, Network-OWL. Danke für das Homematic-Inventur-Skript von EnergyStar
pix
 
Beiträge: 604
Registriert: 23.01.2012, 16:40

Re: LED Stripe Control

Beitragvon mikewolf99 » 17.09.2013, 17:36

Auch ich hätte Interesse !
CCU2 mit Cuxd und HP CLX ,3 x FHZ2000,2 Funkgateway neu(eckig),und 2Funkgateway(rund),RS LanGate
ca 520 Komponenten gemischt HM und FS20 mit nur ,keine FHT`s mehr,KS300-1
da die FHT Regelung in HPCL "unzureichend" ist !!(FUZZY LOGIC)
Dafür die "neuen" HM Wandthermostate(12stk) mit den dazugehörigen Stellantrieben(18stk)
CCU auf Cubie the,CCU2,Raspi,Raspi2,BananaPI,5xArduino,Odroid,
mikewolf99
 
Beiträge: 1079
Registriert: 13.08.2008, 20:57
Wohnort: Österreich nähe Wien

Re: LED Stripe Control

Beitragvon grissli1 » 17.09.2013, 18:42

Hi,

möchte auch Interesse anmelden falls es günstiger als eine Artnetsteuerung (100 Euro) ist.

Viele Grüße
Chris
System: LXCCU auf RPi2 mit Funkmodul; Creator; Mediola Gateway v2 und Harmony Hub
Testing: YAHM auf RPi3 mit Funkmodul; Creator NEO, Mediola Gateway v3 und v4
grissli1
 
Beiträge: 1813
Registriert: 22.06.2012, 17:46
Wohnort: Tirol/Austria

Re: LED Stripe Control

Beitragvon thkl » 17.09.2013, 21:06

Nabend,

so hier im Anhang der Schaltplan und die Programmierung. Letztere ist noch etwas quick and dirty aber funktioniert erstmal ;)
Ich erklär mal das Prinzip:

Das Arduino Ethernet Board (kosten so um die 50 Eur) ist ein programmierbarter Microcontroller mit (sagt ja der Name schon) Ethernet Anschluß.
Die Programmierung erfolgt (anders als bei den üblichen Arduino Boards) nicht über eine USB Schnittstelle sondern über ein serielles USB Interface (Mal bei Amazon nach FTDI Kabel suchen (14,99 Eur). Auf dem Controller kann dann mit kleinstem Aufwand ein HTTP Server laufen. Dieser kann abhängig von den Requests die Ausgänge des Microcontrollers steuern.

Damit kommen wir zur Ansteuerung der LED Stripes. Die meissten Stripes haben eine gemeinsame +12 V Versorgung und für jede Farbe einen einzelnen Ausgang der LED Kathode. Je nachdem wie hell die jeweilige Farbe jetzt leuchtet wird eine Mischfarbe erzeugt. In meinem Fall werden die Kathoden der LED Stripes über ein MOSFET auf Masse gezogen. Gesteuert wird der jeweilige Farbkanal über die PWM (Pulsweitenmodulation) Ausgänge des Arduino. Damit kann also die
jeweilige Farbe recht einfach gedimmt werden.

Komplette Hardwarekosten belaufen sich auf um die 60 Euro (ohne das optionale Relaismodul bzw das Programmierkabel)

Der Rechte Teil der Schaltung ab J6/R5 ist optional. Da der Controller noch freie Ausgänge hat habe ich einfach diese über einen Treibertransistor noch mit einem Relais versehen man kann die also noch einzeln als geschaltete Ausgänge nutzen.(In der derzeitigen Software noch nicht implementiert).

Die Software ist so geschrieben, das das Board sich via DHCP eine IP vom Router holt. Ein Request http://ip/?r=[0-255]&g=[0-255]&b=[0-255] schaltet dann die jeweilige Farben. Die Software versucht schon die Farben beim Wechsel nicht hart zu wechseln sondern entsprechend überzublenden.

Ich hab der CCU ein Programm verpasst welches auf einen Wandtaster reagiert und den anzuzeigenden Farbwert in eine Systemvariable schreibt.
Ein zweites Script reagiert auf die Änderung der Variable und erzeugt den passenden HTTP Call. (Das habe ich deswegen getrennt, weil ich ein Script habe was alle Lichter aus schaltet und an der Stelle nur die Variable geändert werden muss)

Die Software des Boards muss sicher noch angepasst werden so ganz zufrieden bin ich noch nicht, aber make it run then make it right
Denkbar wäre hier noch eine eigene Weboberfläche für die Steuerung der LED Stripes (auf dem Ethernet Board ist noch ein SD Slot der genutzt werden kann um html Dateien zu speichern die der Webserver dann ausliefert)
Dateianhänge
WebServer.txt
Server Software
(6.45 KiB) 235-mal heruntergeladen
Shield_Sketch_Schaltplan.pdf
Schaltplan
(925.93 KiB) 463-mal heruntergeladen
Zuletzt geändert von thkl am 19.09.2013, 21:16, insgesamt 1-mal geändert.
Gruß Thomas
- sent from my dishwasher -


- Head of HomeControl for iOS -
- Steuerung der CCU über HomeKit (Siri) -
Benutzeravatar
thkl
 
Beiträge: 1193
Registriert: 15.07.2013, 13:32
Wohnort: dickes B

Re: LED Stripe Control

Beitragvon thkl » 17.09.2013, 21:17

Hier noch die CCU Scripts

Es wird eine Variable vom Type String gebraucht (in meinem Fall LCD_CH_1)

Das Script hier reagiert auf den Tastendruck eines Wandschalters.
In der var Presets sind derzeit 7 voreingestellte Farben gespeichert.
Bei jedem Auslösen des Scripts wird zuerst der Inhalt der Systemvariable gelesen.
Dieser ist der aktuelle Farbwert + der Indes in der Presettabelle also bsp für die 3. Farbe aus der Tabelle: 0-0-255-2
Dieser Index wird dann um 1 erhöht und der passende Wert aus den Presets genommen.
Das ganze wird zusammengesetzt und in der Variablen gespeichert. Damit wird also bei jedem Tastendruck die nächste Farbe gewählt. (bzw Aus für 0-0-0-0)

Code: Alles auswählen
var ch1 = dom.GetObject("LED_CH_1").Value();
var id =ch1.StrValueByIndex("-", 3);
var presets = "0-0-0;255-0-0;0-255-0;0-0-255;255-0-235;255-255-0;0-255-255;163-232-255";
if (id){
 id = id.ToInteger();
} else {
 id = 0;
}
id = id+1;
if (id>7) {
  id = 0;
}
var pr = presets.StrValueByIndex(";",id);
ch1 = pr + "-" + id;
dom.GetObject("LED_CH_1").State(ch1);


Und hier das 2. Script welches auf die Aktualisierung der Variable reagiert um die Farben an das Modul zu senden:

Code: Alles auswählen
var ch1 = dom.GetObject("LED_CH_1").Value();
if (ch1)
{
  var r = ch1.StrValueByIndex("-", 0);
  var g =ch1.StrValueByIndex("-", 1);
  var b =ch1.StrValueByIndex("-", 2);
  system.Exec("wget -q -O /dev/null http://[ip des moduls]/?&r="+r+ "&g=" + g + "&b="+b+"&1=2");
}


Der letze Parameter &1=2 ist aktuell nötig da die Systemsoftware des Moduls einen Bug hat und den letzten Parameter nicht richtig erkennt.
Das fix ich noch
Gruß Thomas
- sent from my dishwasher -


- Head of HomeControl for iOS -
- Steuerung der CCU über HomeKit (Siri) -
Benutzeravatar
thkl
 
Beiträge: 1193
Registriert: 15.07.2013, 13:32
Wohnort: dickes B

Re: LED Stripe Control

Beitragvon thkl » 19.09.2013, 21:15

So ich hab mal 2 Fotos des fertigen Moduls auf Lochrasterplatine angehangen. Es ist die Version mit 2 zusätzlichen Relais.
Die Software des Servers ist auch aktualisiert. Relais werden unterstützt und es gibt die Möglichkeit die Farbinfos an ein 2. Modul weiterzureichen.
Dateianhänge
Foto 2.JPG
Modul alleine
Foto 1.JPG
Modul huckepack auf Arduino Ethernetboard
Gruß Thomas
- sent from my dishwasher -


- Head of HomeControl for iOS -
- Steuerung der CCU über HomeKit (Siri) -
Benutzeravatar
thkl
 
Beiträge: 1193
Registriert: 15.07.2013, 13:32
Wohnort: dickes B

Nächste

Zurück zu Projektvorstellungen

Wer ist online?

Mitglieder in diesem Forum: Mac_ und 6 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.