Bookshelves: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
Line 36: Line 36:
=== LED segments ===
=== 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 complete mapping of each led segment, where a segment is defined as the strip of led between any intersection with another led strip. This is handled for you if you use the Bookcase class in bookcase.py.
 
Here's a sample sketch that makes use of these segments: [https://gist.github.com/scottyallen/ecaee28f537cf94e3aa30bb8347e0654 squares.ino]


[[File:Bookcase_led_segments.png]]
[[File:Bookcase_led_segments.png]]

Revision as of 20:15, 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. Check out client/rainbowbookcase.py or client/squares.py for simple examples of how to address the bookcase.

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

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. This is handled for you if you use the Bookcase class in bookcase.py.

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