verschwoerhaus wiki

das matelight.

nach der vorlage des matelights in der cbase, jedoch mit anderer hardware/ansteuerung.

setup matekisten

Benötigt wird:

  • Matekiste (mit möglichst sauberer Unterseite)
  • Mateflaschen (leer)
  • Alufolie + Tesa
  • WS2811 5v LED-Kette. LEDs einzeln, in “Daumenform” (eBay / aliexpress)
  1. Mateflaschen auswaschen
  2. Flasche mit Alufolie umwickeln, Boden und Flaschenkopf freihalten
  3. Alufolie mit etwas Klebeband fixieren
  4. LED in Flasche, Flasche in Kiste
  5. Datenleitung an Fadecandy anschließen, +/- an Verteiler

setup raspberry

Benötigt wird:

  • fadecandy
  • netzteil, 5V, >2 A

https://gist.github.com/robbi5/fd0c92ef4264bdda4a6a

software

Am Raspberry Pi ist ein fadecandy angeschlossen, mit dem sich die LEDs über das Open Pixel Control-Protokoll steuern lassen.

Im fadecandy Repository sind im examples-Ordner einige funktionierende Programmierbeispiele in verschiedenen Sprachen verfügbar.

Damit das Matelight in Zeiten, in denen es nicht angesteuert wird, nicht einfach nur statisch leuchtet, ist seit dem 2018-01-03 dort der matelight-idle-animation.service aktiv. Dieser kann mittels sudo systemctl stop matelight-idle-animation.service gestoppt werden.

konfiguration

/etc/fadecandy.json:

{
    "listen": [null, 7890],
    "verbose": true,

    "color": {
        "gamma": 2.5,
        "whitepoint": [1.0, 1.0, 1.0]
    },

    "devices": [
        {
            "type": "fadecandy",
            "map": [
                [ 0, 0, 0, 20 ],
                [ 0, 20, 64, 20 ],
                [ 0, 40, 128, 20 ]
            ]
        }
    ]
}

Da die aktuell drei LED-Stränge an den ersten drei Ausgängen des Fadecandys angeschlossen sind, wird in der map die einzelnen Pixel wieder zu einer zusammenhängenden Kette kombiniert. (Kasten 1: 0-19, Kasten 2: 20-39, Kasten 3: 40-59)

browser

http://matelight.local:7890 - Test und An/Aus-Steuerung möglich.

Processing

https://github.com/scanlime/fadecandy/tree/master/examples/processing

Einfaches Ändern der Zeile opc = new OPC(this, “matelight.local”, 7890); (IP in matelight.local) reicht, um die meisten Beispiele auszuprobieren.