Blinkencontrol: Difference between revisions

From Chaosdorf Wiki
(→‎Protokoll: Modus≠0 ⇒ RGB=0)
mNo edit summary
 
(13 intermediate revisions by the same user not shown)
Line 5: Line 5:
|location=Laptop Lounge
|location=Laptop Lounge
|image=blinkencontrol hardware.jpg
|image=blinkencontrol hardware.jpg
|status=beta
|status=obsolete
|people={{U|derf}}
|people={{U|derf}}
|source=https://github.com/derf/dorfmap{{!}}github
|source=https://github.com/derf/dorfmap{{!}}github
}}
}}
[[File:Blinkencontrol.png|Schaltplan für RGB|200x200px|thumb|right]]


[[File:Blinkencontrol.png|Schaltplan für RGB|200x200px|framed|right]]
Aktuell gibts zwei Instanzen:
* [[Laptop Lounge]] an {{H|donationprint}} (RGB-Streifen im Fenster, eigenes 9V-Netzteil)
* [[Hackcenter]] an {{H|feedback}} (oberes Regal neben dem Drucker, [[Kabelbaum]]-Netzteil)


Eine Instanz hängt in der [[Laptop Lounge]] und steuert den RGB-Streifen im Schaufenster. Angeschlossen per GPIO an {{H|donationprint}}, Ansteuerung wie gewohnt per [http://dorfmap/blinkencontrol/lounge_rggb dorfmap] (siehe auch [[Lichtsteuerung]]).
Angeschlossen via [[SI2C]], Ansteuerung per [http://dorfmap.chaosdorf.dn42 dorfmap] (siehe [[Lichtsteuerung]]).


== Protokoll ==
== Protokoll ==


Vier Byte: <tt>mode red green blue</tt>. Zuerst wird <tt>mode</tt> übertragen, danach die Farben.
Die Firmware führt beliebige Animationen aus, wobei eine Animation aus bis zu 24 Schritten aus Farbe und Fadedauer besteht. Nach einer Übertragung wird die Animation immer vom ersten bis zum letzten übertragenen Schritt ausgeführt.
Jeweils most significant bit first.


<tt>red</tt>, <tt>green</tt> und <tt>blue</tt> sind PWM-Level von 0 (aus) bis 255 (maximale Helligkeit). Beachten: Es findet derzeit keine Helligkeitsanpassung statt, d.h. es wird linear gefadet, während das menschliche Auge Helligkeit [http://www.mikrocontroller.net/articles/LED-Fading logarithmisch wahrnimmt].
Eine Animation mit nur einem Schritt entspricht Dauerleuchten, über die Fadedauer kann aber eingestellt werden, wie schnell der Übergang von der aktuellen Farbe dauert.
 
Animationen können immer nur schrittweise übertragen werden, da sie beim letzten übertragenen Enden, sollte der letzte Schritt auch zuletzt gesendet werden.


<tt>mode == MMMS SSSS</tt> setzt sich aus dem Betriebsmodus (MMM) und der Fade- / Blinkgeschwindigkeit (SSSSS) zusammen. Geschwindigkeit 0 ist am schnellsten, Geschwindigkeit 31 am Langsamsten. Wenn ein anderer Modus als <tt>000</tt> übertragen wird, müssen red, green und blue Null sein. Modi:
Das Datenformat ist <tt>slot delay red green blue addrhi addrlo</tt>, wobei <tt>slot</tt> der Animationsschritt (0 .. 23) ist.
Beispiel für rotes Pulsieren (wechselnd an/aus):<tt>0 64 255 0 0 0 1</tt>, <tt>1 64 0 0 0 0 1</tt>.


{| class="wikitable"
<tt>red</tt>, <tt>green</tt> und <tt>blue</tt> sind PWM-Level von 0 (aus) bis 255 (maximale Helligkeit). Beachten: Es findet derzeit keine Helligkeitsanpassung statt, d.h. es wird linear gefadet, während das menschliche Auge Helligkeit [http://www.mikrocontroller.net/articles/LED-Fading logarithmisch wahrnimmt].
! Modus (Bits) !! Wat
|-
| 000 || steady (Dauerleuchten)
|-
| 001 || RGB, kein Fading
|-
| 010 || Zufallsfarbe, kein Fading
|-
| 011 || ''none''
|-
| 100 || ''none''
|-
| 101 || RGB Fading
|-
| 110 || Zufallsfarbe Fading
|-
| 111 || ''none''
|}

Latest revision as of 18:27, 30 June 2020

Blinkencontrol obsolete
Blinkencontrol hardware.jpg
generischer Blinkenlightfoo
Ort Laptop Lounge
Beteiligt derf
Quelltext github
Schaltplan für RGB

Aktuell gibts zwei Instanzen:

Angeschlossen via SI2C, Ansteuerung per dorfmap (siehe Lichtsteuerung).

Protokoll[edit | edit source]

Die Firmware führt beliebige Animationen aus, wobei eine Animation aus bis zu 24 Schritten aus Farbe und Fadedauer besteht. Nach einer Übertragung wird die Animation immer vom ersten bis zum letzten übertragenen Schritt ausgeführt.

Eine Animation mit nur einem Schritt entspricht Dauerleuchten, über die Fadedauer kann aber eingestellt werden, wie schnell der Übergang von der aktuellen Farbe dauert.

Animationen können immer nur schrittweise übertragen werden, da sie beim letzten übertragenen Enden, sollte der letzte Schritt auch zuletzt gesendet werden.

Das Datenformat ist slot delay red green blue addrhi addrlo, wobei slot der Animationsschritt (0 .. 23) ist. Beispiel für rotes Pulsieren (wechselnd an/aus):0 64 255 0 0 0 1, 1 64 0 0 0 0 1.

red, green und blue sind PWM-Level von 0 (aus) bis 255 (maximale Helligkeit). Beachten: Es findet derzeit keine Helligkeitsanpassung statt, d.h. es wird linear gefadet, während das menschliche Auge Helligkeit logarithmisch wahrnimmt.