Bookshelves: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
Network protocol: Update network address
Line 13: Line 13:


{| border="1"
{| border="1"
| Strip || Arduino Pin || Number of LEDs
| Strip || ESP8266 Pin || Number of LEDs
|-  
|-  
| Strip 1 || 2 ||  277
| Strip 1 || 1 ||  277
|-  
|-  
| Strip 2 || 3 ||  277
| Strip 2 || 2 ||  277
|-  
|-  
| Strip 3 || 4 ||  24
| Strip 3 || 3 ||  24
|-  
|-  
| Strip 4 || 5 ||  39
| Strip 4 || 4 ||  39
|-  
|-  
| Strip 5 || 6 ||  14
| Strip 5 || 5 ||  14
|-  
|-  
| Strip 6 || 7 ||  9
| Strip 6 || 6 ||  9
|-  
|-  
| Strip 7 || 8 ||  105
| Strip 7 || 7 ||  105
|-  
|-  
| Strip 8 || 9 ||  65
| Strip 8 || 8 ||  65
|}
|}



Revision as of 20:13, 6 June 2016

Construction Plans

Error creating thumbnail: Unable to save thumbnail to destination

LED Strips

Error creating thumbnail: Unable to save thumbnail to destination

Network protocol

The LEDs are controlled by an esp8266 that's on the network. The network address is bookcase.noise. It uses the flaschen taschen UDP protocol on port 1337. The bookcase is addressed as a 810x1 pixel grid. More info and libraries can be found on Github. The mapping from this grid to the strips is documented below.

LED Strip Mapping

Strip ESP8266 Pin Number of LEDs
Strip 1 1 277
Strip 2 2 277
Strip 3 3 24
Strip 4 4 39
Strip 5 5 14
Strip 6 6 9
Strip 7 7 105
Strip 8 8 65

The LEDs are WS2812B chips, with color order GRB.

LED segments

If you want to do animations that take into account the specific locations of the leds on the bookcase, here's a complete mapping of each led segment, where a segment is defined as the strip of led between any intersection with another led strip.

Here's a sample sketch that makes use of these segments: squares.ino

Error creating thumbnail: Unable to save thumbnail to destination

segment, strip, start_index, num_leds
1, strip2, 0, 40
2, strip2, 40, 65
3, strip1, 0, 41
4, strip8, 0, 40
5, strip2, 105, 66
6, strip4, 0, 24
7, strip4, 24, 5
8, strip4, 29, 10
9, strip1, 41, 26
10, strip3, 0, 10
11, strip6, 0, 9
12, strip8, 40, 10
13, strip5, 0, 4
14, strip5, 4, 10
15, strip3, 10, 14
16, strip8, 50, 15
17, strip7, 0, 25
18, strip7, 25, 15
19, strip7, 40, 65
20, strip1, 67, 105
21, strip2, 171, 106
22, strip1, 172, 105