Difference between revisions of "Starburst"
(first version) |
m |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 7: | Line 7: | ||
|ECMD=no | |ECMD=no | ||
|DEPENDS=[[DMX Storage]] [[PCA9685]] | |DEPENDS=[[DMX Storage]] [[PCA9685]] | ||
| − | |REQUIRES= a [http://www.nxp.com/products/ | + | |REQUIRES= a [http://www.nxp.com/products/lighting_driver_and_controller_ics/i2c_led_display_control/series/PCA9685.html PCA9685]on the i2c bus |
|CODE=[https://github.com/ethersex/ethersex/tree/master/services/starburst https://github.com/ethersex/ethersex/tree/master/services/starburst] | |CODE=[https://github.com/ethersex/ethersex/tree/master/services/starburst https://github.com/ethersex/ethersex/tree/master/services/starburst] | ||
}} | }} | ||
| + | [[File:Pca9685pw-pcb.JPG|right|thumb|400px| A PCA9685PW (TSSOP-28 Package) soldered onto a breakout board]] | ||
| − | Starburst uses the DMX data stored in [[DMX Storage]] and transmits it using [[I2C]] to a [http://www.nxp.com/products/ | + | Starburst uses the DMX data stored in [[DMX Storage]] and transmits it using [[I2C]] to a [http://www.nxp.com/products/lighting_driver_and_controller_ics/i2c_led_display_control/series/PCA9685.html PCA9685] PWM controller. The PCA9685 is best for driving other circuits like high power LED drivers. Starburst is part of the [[Ethersex Lighting Architecture]]. |
== Starburst vs. [[StellaLight]] == | == Starburst vs. [[StellaLight]] == | ||
| Line 30: | Line 31: | ||
Enter the [[I2C]] address of the PCA9685 in the menuconfig in decimal format. Here's how to calculate it: | Enter the [[I2C]] address of the PCA9685 in the menuconfig in decimal format. Here's how to calculate it: | ||
| + | |||
| + | Fill in the values for {A0-A5} according to your layout. | ||
| + | |||
| + | High: 1 | ||
| + | Low: 0 | ||
| + | |||
| + | The 7th bit has a fixed value ('''1''') | ||
| + | |||
| + | This is a sample for A5=>5V ; {A4-A0}=>GND | ||
{| border="1" | {| border="1" | ||
Latest revision as of 22:53, 3 October 2014
| Starburst | |
|---|---|
| Status | Stable
|
| menuconfig | Applications->Starburst |
| Pinning | yes (optional) |
| Ecmd | no |
| Depends on | DMX Storage PCA9685 |
| Requires | a PCA9685on the i2c bus |
| Code | https://github.com/ethersex/ethersex/tree/master/services/starburst |
Starburst uses the DMX data stored in DMX Storage and transmits it using I2C to a PCA9685 PWM controller. The PCA9685 is best for driving other circuits like high power LED drivers. Starburst is part of the Ethersex Lighting Architecture.
Contents
Starburst vs. StellaLight
Starburst advantages:
- just needs two pins (3 pins for stroboscope)
- has 12-bit PWM, thus can apply the Stevens' power law
- delegates PWM generation => no load on the AVR
- saves program space
StellaLight advantages:
- does not need an extra controller
Slave Address
Enter the I2C address of the PCA9685 in the menuconfig in decimal format. Here's how to calculate it:
Fill in the values for {A0-A5} according to your layout.
High: 1 Low: 0
The 7th bit has a fixed value (1)
This is a sample for A5=>5V ; {A4-A0}=>GND
| fixed | A5 | A4 | A3 | A2 | A1 | A0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 |
to decimal => 96
DMX layout
| DMX 0 | DMX 1 | DMX 2 | DMX 3 | DMX 4 | DMX 5 | DMX 6 | DMX 7 | DMX 8 |
| channel 1 | channel 2 | channel 3 | channel 4 | mode 1 | mode 2 | mode 3 | mode 4 | global strobo (optional) |
Valid Values
channel n : 0-255
mode n : 0 (instant change) 1 (fade to target)
global strobo : 1-25 (results in 1hz - 25hz) - 0 => no strobo
Stroboscope support
If you want to use the output enable pin, tick
[*] Strobo Effect
and add the pin to your hardware pinning file (in this case PORTA PIN0):
PCA9685_OE(PA0)