PanStamp RGBWW Board mit DMX und IR: Unterschied zwischen den Versionen
TeeVau (Diskussion | Beiträge) (Inhalt aus panStamp Diskussion übernommen) |
(→IR-Belegung Panstamp RGB-Board TBC: Nutzung von Link2Forum-Vorlage) |
||
(14 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Baustelle}} | {{Baustelle}} | ||
{{SEITENTITEL:panStamp RGBWW Board mit DMX und IR}} | |||
{{Infobox Hardware | {{Infobox Hardware | ||
|Bild= | |Bild=panStampRGBv1.0.jpg | ||
|Bildbeschreibung=RGBWW Board | |Bildbeschreibung=RGBWW Board | ||
|HWProtocol=SWAP | |HWProtocol=SWAP | ||
Zeile 14: | Zeile 15: | ||
|HWSize= | |HWSize= | ||
|HWDeviceFHEM=[http://fhem.de/commandref.html#SWAP_0000002200000003 35_SWAP_0000002200000003.pm] [http://fhem.de/commandref.html#SWAP 34_SWAP.pm] | |HWDeviceFHEM=[http://fhem.de/commandref.html#SWAP_0000002200000003 35_SWAP_0000002200000003.pm] [http://fhem.de/commandref.html#SWAP 34_SWAP.pm] | ||
|ModOwner= | |ModOwner=justme1968 <br />({{Link2FU|430|Forum}} / [[Benutzer:Justme|Wiki]]) | ||
|HWManufacturer=panStamp | |HWManufacturer=panStamp | ||
}} | }} | ||
[[ | [[panStamp RGBWW Board mit DMX und IR]] unterstützt RGBW LEDs und lässt sich per Infrarot Fernbedienung, DMX Controller (z.B. als Unterputz Touchpanel) und FHEM bedienen. | ||
Es ist eine Hard- und Softwareentwicklung auf Basis von panStamp Modulen und verwendet zusätzlich das FHEM Modul [[SWAP 0000002200000003]] als 3. Ebene | Es ist eine Hard- und Softwareentwicklung auf Basis von panStamp Modulen und verwendet zusätzlich das FHEM Modul [[SWAP 0000002200000003]] als 3. Ebene | ||
Der Funktionsumfang wird in diesem | Der Funktionsumfang wird in diesem {{Link2Forum|Topic=12487|Message=81923|LinkText=Forenthread}} vorgestellt. Die Hardware für das Board wird {{Link2Forum|Topic=13890|LinkText=hier}} im FHEM Forum vorgestellt und ein Prototyp ist {{Link2Forum|Topic=12487|Message=85777|LinkText=hier}} zu sehen. | ||
== Hardware == | == Hardware == | ||
Zeile 26: | Zeile 27: | ||
=== Kompatibilität RBG-Board mit NRG-panStamps === | === Kompatibilität RBG-Board mit NRG-panStamps === | ||
Mit dem hier beschriebenen Sketch ist das Board nur mit den AVRs kompatibel. | Mit dem hier beschriebenen Sketch ist das Board nur mit den panStamp AVRs kompatibel. Die Pinbelegung zwischen AVR und NRG ist im Prinzip gleich bis auf Pin 23. Das ist bei dem NRG ein IO Pin und nicht GND wie beim AVR. Das wäre kein Problem wenn man entweder hardwareseitig den Kontakt unterbricht oder aber programmiertechnisch diesen Pin '''NIE''' als Ausgang definiert. Ansonsten gibt’s einen „kurzen“. Oder wenn er als Ausgang definiert ist darf er nur das GND Potential haben, also Low, 0. {{Link2Forum|Topic=13890 |Message=247069}} | ||
Die Pinbelegung zwischen AVR und NRG ist im Prinzip gleich bis auf Pin 23. Das ist bei dem NRG ein IO Pin und nicht | |||
Das wäre kein Problem wenn man entweder hardwareseitig den Kontakt unterbricht oder aber programmiertechnisch diesen Pin '''NIE''' als Ausgang definiert. Ansonsten gibt’s | |||
{{Link2Forum|Topic=13890 |Message=247069}} | |||
Da es derzeit (Stand 01.05.2015) aber keinen Sketch gibt, der auf den NRG lauffähig ist, wäre vorher noch diese Herausforderung zu lösen. | Da es derzeit (Stand 01.05.2015) aber keinen Sketch gibt, der auf den NRG lauffähig ist, wäre vorher noch diese Herausforderung zu lösen. | ||
=== Eigenschaften des fade TBC === | === Eigenschaften des fade TBC === | ||
{{ | Der wichtige Punkt ist das das RGBWW-Board Farbübergänge autonom macht und FHEM nur den Trigger zum starten und Rückmeldung über den Status gibt. d.h. wie ruckelfrei das faden ist hängt nicht von äußeren Bedingungen wie Funklast, FHEM timing oder FHEM Auslastung ab. Im Board gibt es 15 '''Register''' die jeweils eine Farbe und eine Anzeigedauer enthalten. Diese werden (ein mal) von FHEM aus programmiert. Zum starten wird dann nur noch das Anfangs- und das Endregister gesendet und das Board überblendet zwischen allen Farben der Register zwischen Anfang und Ende in der eingestellten Zeit. | ||
Die eigentliche Einschränkung ist das die aktuelle AVR Version der panstamps ''nur'' 8bit pwm kann (jedenfalls wenn es 3 oder mehr Kanäle sein sollen und die Hardware PWM genutzt wird). Wenn dir diese 256 Stufen pro Grundfarbe reichen ist es absolut Ruckelfrei. d.h. es gibt keinen zeitlichen Jitter. Ob dir die Anzahl der Helligkeitsstufen reicht hängt ein wenig von den LEDs selber ab und davon zwischen welchen Farben du konkret wechselst. Im dunklen Bereich wirst du vermutlich stufen sehen (also beim aufblenden von dunkel zu hell). wenn du zwischen zwei hellen Farben (z.b. von rot nach grün) blendest wirst du keine stufen sehen. {{Link2Forum|Topic=13890|Message=106644}} | |||
== Software == | == Software == | ||
Eine Übersicht über die derzeit vorhandene Funktionalität des [[SWAP_0000002200000003| | Eine Übersicht über die derzeit vorhandene Funktionalität des [[SWAP_0000002200000003|FHEM Moduls]] und panStamp Sketches (Stand 01.05.2015): | ||
{{Link2Forum|Topic=13890 |Message=1205404}} | {{Link2Forum|Topic=13890 |Message=1205404}} | ||
was geht: | was geht: | ||
* | * Bis zu vier LED Kanäle (je nach Kombination von ir und soft PWM) | ||
* | * Ir senden | ||
* | * Ir empfangen | ||
* | * Messen ob die LED Versorgungsspannung an ist | ||
* | * Helligkeit eines an Pin <code>A2</code> angeschlossenen Helligkeitssensors (LDR) | ||
* | * Konfiguration der DMX Basisadresse über das SWAP Register <code>0x12</code> | ||
* | * Optional soft on auf letzten RGBW Wert | ||
* | * Alles was auch vorher schon ging: dimmen, faden, ir fernbedienungen anlernen, ... | ||
wichtig zu wissen: | wichtig zu wissen: | ||
* | * Wenn ir aktiv ist und kein soft PWM lässt sich der 4. Kanal nur ein und aus schalten | ||
* | * Wenn ir aktiv ist muss soft PWM aktiv sein um den 4. Kanal auch zu dimmen | ||
* | * Es wird nur ein zusätzlicher LED Kanal tatsächlich schon unterstützt. Der fünfte kommt noch | ||
* | * Bei ir senden sind nur die Aufrufe für Sony und NEC tatsächlich eingebaut. Die Anderen sind aber einfach zu ergänzen | ||
* | * Beim ir senden sind noch keine Wiederholungen eingebaut. Die müssen laut Protokoll aber eigentlich sein | ||
was noch kommt: | was noch kommt: | ||
* besseres soft | * besseres soft PWM | ||
* mehr | * mehr Konfiguration bezüglich default verhalten. ramp zeiten, delays, ... | ||
* hsv | * hsv Farbmodell um besser zu faden und vor allem um den Weißanteil automatisch auf die weißen LEDs zu legen | ||
* die virtuellen channel | * die virtuellen channel | ||
* fhem kompatibles ir senden | * fhem kompatibles ir senden | ||
* sofortiges senden von | * sofortiges senden von Helligkeit und LED Spannung bei Änderung | ||
* andere ir lib mit sehr viel besserer | * andere ir lib mit sehr viel besserer Geräte Unterstützung | ||
wie gehabt muss alles über config.h mit Compilerschalter konfiguriert werden. | wie gehabt muss alles über <code>config.h</code> mit Compilerschalter konfiguriert werden. | ||
=== Arduino IDE 1.5 / 1.6 einrichten === | === Arduino IDE 1.5 / 1.6 einrichten === | ||
Mit der Arduino IDE 1.5.x gab es zusätzlich eine grundlegende Umstellungen der Arduino SWAP Library, für die der derzeitige Sketch [r4716] angepasst werden muss. Der Sketch ist nur kompatibel zur alten SWAP Library, die unter Arduino IDE 1.0 installiert werden muss (Stand 01.05.2015). | Mit der Arduino IDE 1.5.x gab es zusätzlich eine [http://www.panstamp.com/news/panstamp-is-now-fully-arduino-1-5-enabled/ grundlegende Umstellungen der Arduino SWAP Library], für die der derzeitige Sketch [r4716] angepasst werden muss. Der Sketch ist nur kompatibel zur alten SWAP Library, die unter [[panStamp_Programmierung#Arduino_IDE_1.0.x_vorbereiten|Arduino IDE 1.0 installiert]] werden muss (Stand 01.05.2015). | ||
=== Arduino IDE 1.0 einrichten === | === Arduino IDE 1.0 einrichten === | ||
Zum Flashen der panStamps wird die Arduino IDE | Zum Flashen der panStamps wird die [[panStamp_Programmierung#Arduino_IDE_1.0.x_vorbereiten|Arduino IDE 1.0.x benötigt]]. Für den RGBWW-Sketch sind je nach gewünschtem Funktionsumfang noch folgende libs zu installieren: | ||
Für den | |||
* Die Dateien der '''Panstamp Lib''' läd man von hier [[http://old.panstamp.com/downloads]] (panstamp_library.zip, 129k v.25, May 31, 2013). Mit der neueren Lib v.4 läuft die Kompillierung des derzeitigen Sketches nicht durch. Die Dateien der Lib speichert man in einem entsprechend neuen Unterordner, z.B. hierin C:\Users\<username>\Documents\Arduino\libraries. Am Ende der ganzen Aktion | * Die Dateien der '''Panstamp Lib''' läd man von hier [[http://old.panstamp.com/downloads]] (panstamp_library.zip, 129k v.25, May 31, 2013). Mit der neueren Lib v.4 läuft die Kompillierung des derzeitigen Sketches nicht durch. Die Dateien der Lib speichert man in einem entsprechend neuen Unterordner, z.B. hierin <code>C:\Users\<username>\Documents\Arduino\libraries</code>. Am Ende der ganzen Aktion sollten sich in diesem Unterordner 3 neue Unterordner befinden: <code>IRremote, DMXSerial und panstamp</code>. | ||
* Die Dateien der '''IR Remote Lib''' kopiert man von hier [[https://github.com/shirriff/Arduino-IRremote]] und speichert sie ebenfalls in einem passenden Unterordner von libraries. | * Die Dateien der '''IR Remote Lib''' kopiert man von hier [[https://github.com/shirriff/Arduino-IRremote]] und speichert sie ebenfalls in einem passenden Unterordner von <code>libraries</code>. | ||
* Die Dateien der '''DMX Lib''' kopiert man von hier [[http://www.mathertel.de/Arduino/DMXSerial.aspx]] und speichert sie ein weiteres Mal in einem weiteren Unterordner von libraries. Weitere Informationen zur Verwendung von Arduino | * Die Dateien der '''DMX Lib''' kopiert man von hier [[http://www.mathertel.de/Arduino/DMXSerial.aspx]] und speichert sie ein weiteres Mal in einem weiteren Unterordner von <code>libraries</code>. Weitere Informationen zur Verwendung von Arduino Librarys finden sich hier [[http://arduino.cc/en/Hacking/Libraries]]. Dass die Librarys richtig erkannt worden sind, lässt sich dadurch erkennen, dass unter dem Menüpunkt <code>Sketch/Library importieren</code> die 3 weiteren Punkte unten unter <code>beigetragen</code> auftauchen. | ||
Die Librarys sollten entweder mit dem entsprechenden Menüpunkt in die IDE integriert werden oder jeweils nach auspacken des zip files als als kompletten Ordner im Arduino libraries | Die Librarys sollten entweder mit dem entsprechenden Menüpunkt in die IDE integriert werden oder jeweils nach auspacken des zip files als als kompletten Ordner im Arduino <code>libraries</code> Verzeichnis abgelegt werden (siehe [http://www.arduino.cc/en/Hacking/Libraries)]). | ||
* Windows IDE only: Falls alles so bleibt, wie es heruntergeladen wurde, wechselt man wieder auf den Reiter | * Windows IDE only: Falls alles so bleibt, wie es heruntergeladen wurde, wechselt man wieder auf den Reiter Sketch und importiert über ->Sketch Library importieren die entsprechenden Libs für IRremote und DMX. Dadurch werden 3 neue Zeilen hinzugefügt. | ||
* Nun sollte über Sketch/Überprüften/Kompillieren die Erstellung des Sketches möglich sein. | * Nun sollte über Sketch/Überprüften/Kompillieren die Erstellung des Sketches möglich sein. | ||
* Falls erfolgreich unter Datei/Hochladen (ohne Programmer) den Sketch auf den Panstamp laden. | * Falls erfolgreich unter Datei/Hochladen (ohne Programmer) den Sketch auf den Panstamp laden. | ||
Für das kompilieren mit INO siehe [[ | Für das kompilieren mit INO siehe [[panStamp_Programmierung#INO|hier]]. | ||
=== Link zum Sketch === | === Link zum Sketch === | ||
Die aktuelle Version des | Die aktuelle Version des RGBWW-Driver Sketches findet sich im [https://svn.fhem.de/trac/browser/trunk/fhem/contrib/arduino/ FHEM-SVN]. {{Link2Forum|Topic=13890 |Message=201391}} | ||
{{Link2Forum|Topic=13890 |Message=201391}} | Dieser muss in <code>Arduino\libraries\panstamp\examples\sketches</code> entpackt und die <code>rbgdriver.ino</code> gestartet werden. In der Arduino IDE sollte unter Tools->Board "Arduino Pro or Pro Mini (3.3V, 8MHz) w/ Atmega328" eingestellt sein. Wenn man das boards.txt file von [http://code.google.com/p/panstamp/downloads/detail?name=boards.txt&can=2&q= hier] installiert kann man in der IDE auch direkt panStamp als Plattform auswählen. | ||
Dieser muss in Arduino\libraries\panstamp\examples\sketches entpackt und die rbgdriver.ino gestartet werden. In der Arduino IDE sollte unter Tools->Board "Arduino Pro or Pro Mini (3.3V, 8MHz) w/ Atmega328" eingestellt sein. Wenn man das boards.txt file von [http://code.google.com/p/panstamp/downloads/detail?name=boards.txt&can=2&q= hier] installiert kann man in der IDE auch direkt panStamp als Plattform auswählen. | |||
==== Kompillierte hex version ==== | ==== Kompillierte hex version ==== | ||
Eine kompiliertes HEX-File für drei (vier) Kanäle plus IR-Empfang und DMX ist hier im Forum zu finden: | Eine kompiliertes HEX-File für drei (vier) Kanäle plus IR-Empfang und DMX ist hier im Forum zu finden: {{Link2Forum|Topic=13890 |Message=121619}} | ||
{{Link2Forum|Topic=13890 |Message=121619}} | |||
==== HEX-File ohne IR und DMX ==== | ==== HEX-File ohne IR und DMX ==== | ||
Eine kompiliertes HEX-File ohne IR-Empfang und DMX ist hier im Forum zu finden: | Eine kompiliertes HEX-File ohne IR-Empfang und DMX ist hier im Forum zu finden: {{Link2Forum|Topic=13890 |Message=201955}} | ||
{{Link2Forum|Topic=13890 |Message=201955}} | |||
=== Compilerschalter === | === Compilerschalter === | ||
Welche Features der sketch bietet lässt sich im config.h file durch ein- oder auskommentieren der < | Welche Features der sketch bietet lässt sich im <code>config.h</code> file durch ein- oder auskommentieren der <code>#define ENABLE_...</code> Zeilen festlegen. {{Link2Forum|Topic=13890 |Message=173431}} | ||
==== #define ENABLE_DMX ==== | ==== #define ENABLE_DMX ==== | ||
Zeile 117: | Zeile 102: | ||
Ermöglicht die Nutzung eines DMX RGB Einstellers zur Steuerung der RGB LEDs | Ermöglicht die Nutzung eines DMX RGB Einstellers zur Steuerung der RGB LEDs | ||
Hierbei ist darauf zu achten, dass in der DMX-Lib in der Datei <code>DMXSerial.h</code> die Zeile | |||
Hierbei ist darauf zu achten, dass in der DMX-Lib in der Datei DMXSerial.h die Zeile | |||
#define DmxModePin 2 // Arduino pin 2 for controlling the data direction | #define DmxModePin 2 // Arduino pin 2 for controlling the data direction | ||
in | in | ||
#define DmxModePin 7 // Arduino pin 7 for controlling the data direction | #define DmxModePin 7 // Arduino pin 7 for controlling the data direction | ||
abgeändert werden muss. | abgeändert werden muss. | ||
==== #define HAS_SENSOR ==== | ==== #define HAS_SENSOR ==== | ||
Zeile 135: | Zeile 116: | ||
ENABLE_REPEATER; | ENABLE_REPEATER; | ||
In der IRremote.cpp Datei in der Irremote Library muss die Zeile | In der <code>IRremote.cpp</code> Datei in der Irremote Library muss die Zeile | ||
<pre> | <pre> | ||
void IRrecv::disableIRIn() | void IRrecv::disableIRIn() | ||
Zeile 143: | Zeile 124: | ||
</pre> | </pre> | ||
sowie die Irremote.h Datei unter Public: um die Zeile | sowie die <code>Irremote.h</code> Datei unter <code>Public:</code> um die Zeile | ||
void disableIRIn(); | void disableIRIn(); | ||
erweitert werden. | erweitert werden. | ||
Der Daten-Pin des DHT22 Sensors muss hierfür an A2 des panStamps angeschlossen werden. | Der Daten-Pin des DHT22 Sensors muss hierfür an Pin <code>A2</code> des panStamps angeschlossen werden. | ||
Ein Beispiel für die Umrechnung der userReading für Spannung Temp etc. ist hier beschrieben | Ein Beispiel für die Umrechnung der userReading für Spannung Temp etc. ist hier beschrieben: {{Link2Forum|Topic=12487 |Message=76489}} | ||
{{Link2Forum|Topic=12487 |Message=76489}} | |||
=== Zusammenhänge der Konfiguration === | === Zusammenhänge der Konfiguration === | ||
Die Zusammenhänge der Konfiguration sind hier beschrieben | Die Zusammenhänge der Konfiguration sind hier beschrieben {{Link2Forum|Topic=13890 |Message=175181}} | ||
{{Link2Forum|Topic=13890 |Message=175181}} | |||
=== 4. und 5. LED Kanal TBC === | === 4. und 5. LED Kanal TBC === | ||
{{Link2Forum|Topic=13890|Message=169741}}<br> | |||
{{Link2Forum|Topic=13890|Message=192132}}<br> | |||
{{Link2Forum|Topic=13890|Message=201922}}<br> | |||
{{Link2Forum|Topic=13890|Message=201936}} | |||
=== Alternativer Fade per Patch === | === Alternativer Fade per Patch === | ||
Als Alternative zum im Sketch und im Modul eingebauten Fade-Befehl ist hier ein Patch vorgestellt: | Als Alternative zum im Sketch und im Modul eingebauten Fade-Befehl ist hier ein Patch vorgestellt: | ||
{{Link2Forum|Topic=12487 |Message=133096}} | {{Link2Forum|Topic=12487 |Message=133096}} | ||
{{Link2Forum|Topic=12487|Message=133096}} | |||
Der Patch ist '''nicht eingecheckt'''. | Der Patch ist '''nicht eingecheckt'''. | ||
Zeile 171: | Zeile 150: | ||
== IR Schnittstelle TBC == | == IR Schnittstelle TBC == | ||
=== IR TBC === | === IR TBC === | ||
{{Link2Forum|Topic=13890|Message=107061}}<br> | |||
{{Link2Forum|Topic=13890|Message=107197}}<br> | |||
{{Link2Forum|Topic=13890|Message=107415}}<br> | |||
{{Link2Forum|Topic=13890|Message=122021}}<br> | |||
{{Link2Forum|Topic=13890|Message=122077}}<br> | |||
{{Link2Forum|Topic=13890|Message=167351}}<br> | |||
{{Link2Forum|Topic=13890|Message=175269}}<br> | |||
{{Link2Forum|Topic=13890|Message=175285}}<br> | |||
{{Link2Forum|Topic=13890|Message=182582}}<br> | |||
{{Link2Forum|Topic=13890|Message=245597}}<br> | |||
{{Link2Forum|Topic=13890|Message=259267}}<br> | |||
=== IR-Belegung Panstamp RGB-Board TBC === | === IR-Belegung Panstamp RGB-Board TBC === | ||
{{Link2Forum|Topic=13890|Message=163008}}<br> | |||
{{Link2Forum|Topic=13890|Message=163153}}<br> | |||
Es gibt Unterschiede in der Pinbelegung zwischen dem Panstamp rgbdriver Board und dem rgbdriver Board aus dem fhem Forum. | |||
Original Panstamp rgbdriver Board: | |||
Der IR Empfänger läuft auf Pin D0 des PanstampAVR auf. | |||
Panstamp rgbdriver Board aus dem Forum: | |||
Der IR Empfänger läuft auf Pin A0 des PanstampAVR auf. | |||
Im Sketch sollte die folgende Zeile demnach angepasst werden: | |||
# define IR_RECV_PIN 0 //Orginal Board 0; fhem Board A0 | |||
=== Ircluster TBC === | === Ircluster TBC === | ||
Zeile 199: | Zeile 189: | ||
* [http://www.panstamp.com/home panStamp] panStamp Hersteller | * [http://www.panstamp.com/home panStamp] panStamp Hersteller | ||
* [http://itse.homeip.net/projekte/12/6/ Projektseite] für das RGB-Multi-Board. | * [http://itse.homeip.net/projekte/12/6/ Projektseite] für das RGB-Multi-Board. | ||
* [ | * [https://svn.fhem.de/trac/browser/trunk/fhem/contrib/arduino/ rgbdriver Sketch] im FHEM-SVN | ||
[[Kategorie:panStamp]] |
Aktuelle Version vom 21. September 2017, 08:16 Uhr
An dieser Seite wird momentan noch gearbeitet. |
PanStamp RGBWW Board mit DMX und IR | |
---|---|
Allgemein | |
Protokoll | SWAP |
Typ | Sender, Empfänger, Sensor, Interface |
Kategorie | |
Technische Details | |
Kommunikation | 868MHz |
Kanäle | |
Betriebsspannung | 12V |
Leistungsaufnahme | |
Versorgung | Netzteil |
Abmessungen | |
Sonstiges | |
Modulname | 35_SWAP_0000002200000003.pm 34_SWAP.pm |
Ersteller | justme1968 (Forum / Wiki) |
Hersteller | panStamp |
panStamp RGBWW Board mit DMX und IR unterstützt RGBW LEDs und lässt sich per Infrarot Fernbedienung, DMX Controller (z.B. als Unterputz Touchpanel) und FHEM bedienen. Es ist eine Hard- und Softwareentwicklung auf Basis von panStamp Modulen und verwendet zusätzlich das FHEM Modul SWAP 0000002200000003 als 3. Ebene
Der Funktionsumfang wird in diesem Forenthread vorgestellt. Die Hardware für das Board wird hier im FHEM Forum vorgestellt und ein Prototyp ist hier zu sehen.
Hardware
Die Projektseite zur Hardware findet sich hier. Eine Version 2 des Boards in geplant.
Kompatibilität RBG-Board mit NRG-panStamps
Mit dem hier beschriebenen Sketch ist das Board nur mit den panStamp AVRs kompatibel. Die Pinbelegung zwischen AVR und NRG ist im Prinzip gleich bis auf Pin 23. Das ist bei dem NRG ein IO Pin und nicht GND wie beim AVR. Das wäre kein Problem wenn man entweder hardwareseitig den Kontakt unterbricht oder aber programmiertechnisch diesen Pin NIE als Ausgang definiert. Ansonsten gibt’s einen „kurzen“. Oder wenn er als Ausgang definiert ist darf er nur das GND Potential haben, also Low, 0. Beitrag
Da es derzeit (Stand 01.05.2015) aber keinen Sketch gibt, der auf den NRG lauffähig ist, wäre vorher noch diese Herausforderung zu lösen.
Eigenschaften des fade TBC
Der wichtige Punkt ist das das RGBWW-Board Farbübergänge autonom macht und FHEM nur den Trigger zum starten und Rückmeldung über den Status gibt. d.h. wie ruckelfrei das faden ist hängt nicht von äußeren Bedingungen wie Funklast, FHEM timing oder FHEM Auslastung ab. Im Board gibt es 15 Register die jeweils eine Farbe und eine Anzeigedauer enthalten. Diese werden (ein mal) von FHEM aus programmiert. Zum starten wird dann nur noch das Anfangs- und das Endregister gesendet und das Board überblendet zwischen allen Farben der Register zwischen Anfang und Ende in der eingestellten Zeit. Die eigentliche Einschränkung ist das die aktuelle AVR Version der panstamps nur 8bit pwm kann (jedenfalls wenn es 3 oder mehr Kanäle sein sollen und die Hardware PWM genutzt wird). Wenn dir diese 256 Stufen pro Grundfarbe reichen ist es absolut Ruckelfrei. d.h. es gibt keinen zeitlichen Jitter. Ob dir die Anzahl der Helligkeitsstufen reicht hängt ein wenig von den LEDs selber ab und davon zwischen welchen Farben du konkret wechselst. Im dunklen Bereich wirst du vermutlich stufen sehen (also beim aufblenden von dunkel zu hell). wenn du zwischen zwei hellen Farben (z.b. von rot nach grün) blendest wirst du keine stufen sehen. Beitrag
Software
Eine Übersicht über die derzeit vorhandene Funktionalität des FHEM Moduls und panStamp Sketches (Stand 01.05.2015): Beitrag was geht:
- Bis zu vier LED Kanäle (je nach Kombination von ir und soft PWM)
- Ir senden
- Ir empfangen
- Messen ob die LED Versorgungsspannung an ist
- Helligkeit eines an Pin
A2
angeschlossenen Helligkeitssensors (LDR) - Konfiguration der DMX Basisadresse über das SWAP Register
0x12
- Optional soft on auf letzten RGBW Wert
- Alles was auch vorher schon ging: dimmen, faden, ir fernbedienungen anlernen, ...
wichtig zu wissen:
- Wenn ir aktiv ist und kein soft PWM lässt sich der 4. Kanal nur ein und aus schalten
- Wenn ir aktiv ist muss soft PWM aktiv sein um den 4. Kanal auch zu dimmen
- Es wird nur ein zusätzlicher LED Kanal tatsächlich schon unterstützt. Der fünfte kommt noch
- Bei ir senden sind nur die Aufrufe für Sony und NEC tatsächlich eingebaut. Die Anderen sind aber einfach zu ergänzen
- Beim ir senden sind noch keine Wiederholungen eingebaut. Die müssen laut Protokoll aber eigentlich sein
was noch kommt:
- besseres soft PWM
- mehr Konfiguration bezüglich default verhalten. ramp zeiten, delays, ...
- hsv Farbmodell um besser zu faden und vor allem um den Weißanteil automatisch auf die weißen LEDs zu legen
- die virtuellen channel
- fhem kompatibles ir senden
- sofortiges senden von Helligkeit und LED Spannung bei Änderung
- andere ir lib mit sehr viel besserer Geräte Unterstützung
wie gehabt muss alles über config.h
mit Compilerschalter konfiguriert werden.
Arduino IDE 1.5 / 1.6 einrichten
Mit der Arduino IDE 1.5.x gab es zusätzlich eine grundlegende Umstellungen der Arduino SWAP Library, für die der derzeitige Sketch [r4716] angepasst werden muss. Der Sketch ist nur kompatibel zur alten SWAP Library, die unter Arduino IDE 1.0 installiert werden muss (Stand 01.05.2015).
Arduino IDE 1.0 einrichten
Zum Flashen der panStamps wird die Arduino IDE 1.0.x benötigt. Für den RGBWW-Sketch sind je nach gewünschtem Funktionsumfang noch folgende libs zu installieren:
- Die Dateien der Panstamp Lib läd man von hier [[1]] (panstamp_library.zip, 129k v.25, May 31, 2013). Mit der neueren Lib v.4 läuft die Kompillierung des derzeitigen Sketches nicht durch. Die Dateien der Lib speichert man in einem entsprechend neuen Unterordner, z.B. hierin
C:\Users\<username>\Documents\Arduino\libraries
. Am Ende der ganzen Aktion sollten sich in diesem Unterordner 3 neue Unterordner befinden:IRremote, DMXSerial und panstamp
.
- Die Dateien der IR Remote Lib kopiert man von hier [[2]] und speichert sie ebenfalls in einem passenden Unterordner von
libraries
.
- Die Dateien der DMX Lib kopiert man von hier [[3]] und speichert sie ein weiteres Mal in einem weiteren Unterordner von
libraries
. Weitere Informationen zur Verwendung von Arduino Librarys finden sich hier [[4]]. Dass die Librarys richtig erkannt worden sind, lässt sich dadurch erkennen, dass unter dem MenüpunktSketch/Library importieren
die 3 weiteren Punkte unten unterbeigetragen
auftauchen.
Die Librarys sollten entweder mit dem entsprechenden Menüpunkt in die IDE integriert werden oder jeweils nach auspacken des zip files als als kompletten Ordner im Arduino libraries
Verzeichnis abgelegt werden (siehe [5]).
- Windows IDE only: Falls alles so bleibt, wie es heruntergeladen wurde, wechselt man wieder auf den Reiter Sketch und importiert über ->Sketch Library importieren die entsprechenden Libs für IRremote und DMX. Dadurch werden 3 neue Zeilen hinzugefügt.
- Nun sollte über Sketch/Überprüften/Kompillieren die Erstellung des Sketches möglich sein.
- Falls erfolgreich unter Datei/Hochladen (ohne Programmer) den Sketch auf den Panstamp laden.
Für das kompilieren mit INO siehe hier.
Link zum Sketch
Die aktuelle Version des RGBWW-Driver Sketches findet sich im FHEM-SVN. Beitrag
Dieser muss in Arduino\libraries\panstamp\examples\sketches
entpackt und die rbgdriver.ino
gestartet werden. In der Arduino IDE sollte unter Tools->Board "Arduino Pro or Pro Mini (3.3V, 8MHz) w/ Atmega328" eingestellt sein. Wenn man das boards.txt file von hier installiert kann man in der IDE auch direkt panStamp als Plattform auswählen.
Kompillierte hex version
Eine kompiliertes HEX-File für drei (vier) Kanäle plus IR-Empfang und DMX ist hier im Forum zu finden: Beitrag
HEX-File ohne IR und DMX
Eine kompiliertes HEX-File ohne IR-Empfang und DMX ist hier im Forum zu finden: Beitrag
Compilerschalter
Welche Features der sketch bietet lässt sich im config.h
file durch ein- oder auskommentieren der #define ENABLE_...
Zeilen festlegen. Beitrag
#define ENABLE_DMX
#define ENABLE_DMX
Ermöglicht die Nutzung eines DMX RGB Einstellers zur Steuerung der RGB LEDs
Hierbei ist darauf zu achten, dass in der DMX-Lib in der Datei DMXSerial.h
die Zeile
#define DmxModePin 2 // Arduino pin 2 for controlling the data direction
in
#define DmxModePin 7 // Arduino pin 7 for controlling the data direction
abgeändert werden muss.
#define HAS_SENSOR
#define HAS_SENSOR
Ermöglicht die Nutzung eines DHT22 Sensors zur Auswertung von Temperatur und Luftfeuchtigkeit Dafür sollten diese Konfigurationszeilen auskommentiert sein:
USE_SOFT_PWM; ENABLE_IR_SEND; ENABLE_REPEATER;
In der IRremote.cpp
Datei in der Irremote Library muss die Zeile
void IRrecv::disableIRIn() { TIMER_DISABLE_INTR; }
sowie die Irremote.h
Datei unter Public:
um die Zeile
void disableIRIn();
erweitert werden.
Der Daten-Pin des DHT22 Sensors muss hierfür an Pin A2
des panStamps angeschlossen werden.
Ein Beispiel für die Umrechnung der userReading für Spannung Temp etc. ist hier beschrieben: Beitrag
Zusammenhänge der Konfiguration
Die Zusammenhänge der Konfiguration sind hier beschrieben Beitrag
4. und 5. LED Kanal TBC
Beitrag
Beitrag
Beitrag
Beitrag
Alternativer Fade per Patch
Als Alternative zum im Sketch und im Modul eingebauten Fade-Befehl ist hier ein Patch vorgestellt: Beitrag Beitrag
Der Patch ist nicht eingecheckt.
IR Schnittstelle TBC
IR TBC
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
Beitrag
IR-Belegung Panstamp RGB-Board TBC
Es gibt Unterschiede in der Pinbelegung zwischen dem Panstamp rgbdriver Board und dem rgbdriver Board aus dem fhem Forum.
Original Panstamp rgbdriver Board: Der IR Empfänger läuft auf Pin D0 des PanstampAVR auf.
Panstamp rgbdriver Board aus dem Forum: Der IR Empfänger läuft auf Pin A0 des PanstampAVR auf.
Im Sketch sollte die folgende Zeile demnach angepasst werden:
- define IR_RECV_PIN 0 //Orginal Board 0; fhem Board A0
Ircluster TBC
http://forum.fhem.de/index.php?topic=13890.msg175331#msg175331
Irgate TBC
http://forum.fhem.de/index.php?topic=13890.msg175278#msg175278
DMX Schnittstelle
Da die DMX-Schrittstelle kein direktes Interface zu FHEM hat, sondern nur die direkte Kommunikation zwischen DMX-Kontroller und RGB-Board betrifft, ist die Schnittstelle nur bei der Konfiguration des Sketches und über die Dokumentation des Boards beschrieben.
Weblinks
- panStamp panStamp Hersteller
- Projektseite für das RGB-Multi-Board.
- rgbdriver Sketch im FHEM-SVN