Bookshelves: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
Line 8: Line 8:
=== Network protocol ===
=== Network protocol ===


The LEDs are controlled by an esp8266 that's on the network.  The network address is listed on the front of the shelves.  It uses the flaschen taschen UDP protocol on port 1337. More info and libraries can be found on [https://github.com/hzeller/flaschen-taschen Github].  The bookcase is addressed as a 809x1 pixel grid.  The mapping from this grid to the strips is documented below.
The LEDs are controlled by an esp8266 that's on the network.  The network address is listed on the front of the shelves.  It uses the flaschen taschen UDP protocol on port 1337. More info and libraries can be found on [https://github.com/hzeller/flaschen-taschen Github].  The bookcase is addressed as a 810x1 pixel grid.  The mapping from this grid to the strips is documented below.


=== LED Strip Mapping ===
=== LED Strip Mapping ===

Revision as of 13:10, 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 listed on the front of the shelves. It uses the flaschen taschen UDP protocol on port 1337. More info and libraries can be found on Github. The bookcase is addressed as a 810x1 pixel grid. The mapping from this grid to the strips is documented below.

LED Strip Mapping

Strip Arduino Pin Number of LEDs
Strip 1 2 277
Strip 2 3 277
Strip 3 4 24
Strip 4 5 39
Strip 5 6 14
Strip 6 7 9
Strip 7 8 105
Strip 8 9 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