2019-10-02 12:00:20 +02:00
|
|
|
`/usr/space` ColorStrip
|
|
|
|
=======================
|
|
|
|
|
|
|
|
Code für die LED-Beleuchtung beim Eingang zum `/usr/space`
|
|
|
|
|
|
|
|
Specs
|
|
|
|
-----
|
|
|
|
|
|
|
|
- Arduino UNO
|
|
|
|
- Data Pin: 4
|
|
|
|
- Interrupt Pin: 2
|
2019-10-02 13:17:47 +02:00
|
|
|
- Helligkeit: Potentiometer auf Pin A0
|
|
|
|
- Geschwindigkeit: Potentiometer auf Pin A1
|
2019-10-02 12:00:20 +02:00
|
|
|
- LED Strip:
|
|
|
|
- 5m lang
|
|
|
|
- 10 Pixel/m
|
|
|
|
- 3 RGB-LEDs/Pixel
|
|
|
|
- WS2818B Controller
|
|
|
|
|
2019-10-02 13:17:47 +02:00
|
|
|
Die Potentiometer auf Pins A0 und A1 steuern die Helligkeit (zwischen
|
|
|
|
1/16-tel und voll) bzw. Geschwindigkeit (zwischen 100ms und 1000ms
|
|
|
|
zwischen den Schritten) der Animation.
|
|
|
|
|
2019-10-02 12:00:20 +02:00
|
|
|
Code
|
|
|
|
----
|
|
|
|
|
|
|
|
Neue Visualisierungen dürfen gerne hinzugefügt werden. Die Funktionen
|
|
|
|
dafür brauchen die Signatur `void func(unsigned char)` und müssen als
|
|
|
|
Funktions-Pointer zum Array `viz` hinzugefügt werden (in `setup()`). Der
|
|
|
|
einzige Parameter ist ein Offset, der nach jedem Tick (derzeit 100ms)
|
|
|
|
erhöht wird und im Bereich 0-255 liegt.
|
|
|
|
|
|
|
|
In der Funktion selbst müssen die Farbwerte für jedes Pixel in das Array
|
|
|
|
`pixels` geschrieben werden, welches automatisch beim nächsten Refresh
|
|
|
|
ausgegeben wird.
|
2019-10-02 12:04:54 +02:00
|
|
|
|
|
|
|
Existierende Visualisationen
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
### `sineRed`
|
|
|
|
|
|
|
|
Eine einfache Sinus-Funktion über eine Periode in Rot.
|
|
|
|
|
|
|
|
### `falloffRed`
|
|
|
|
|
|
|
|
Ein rotes Pixel läuft herum und wird dabei immer lichtschwächer &
|
|
|
|
blasser.
|