Flaschen Taschen: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
{{art}} | {{art}} | ||
{{blackbox}} | |||
You are standing at the '''Flaschen Taschen''', a glowing display wall showing animated artwork on a grid of LED lit bottles in a grid of black crates. | |||
You see instructions on how to send graphics to the Flaschen Taschen remotely. | |||
'''EXITS:''' [[Hackitorium]], [[Shop]] | |||
[[File:Noisebridge_Logo_FlaschenTaschen.jpg|800px]] | [[File:Noisebridge_Logo_FlaschenTaschen.jpg|800px]] | ||
Revision as of 15:33, 2 January 2022
| Noisebridge | About | Visit | 272 | Manual | Contact | Guilds | Stuff | Events | Projects | Meetings | Donate | E |
| Guilds (Volunteer) | Maintainers | Meta | Code | Electronics | Fabrication | Games | Sewing | Music | AI | Neuro | Philosophy | Funding | Art | Security | Ham | WGs | E |
| Art | Artbridge | Decorating Noisebridge | Posters | Wall Art | LED Art | LED Signage | ANSI Art | Projection | Payphone | NoiseCanvas | E |
|
You are standing at the Flaschen Taschen, a glowing display wall showing animated artwork on a grid of LED lit bottles in a grid of black crates. You see instructions on how to send graphics to the Flaschen Taschen remotely. EXITS: Hackitorium, Shop What's the project?The Award Winning Flaschen Taschen is a 10’ by 9’ (3m x 2.75m) video display made out of clear glass bottles, milk crates, RGB LED strings (with a total of 1575 LEDs), and a controller board. Each bottle is capped with a single addressable RGB LED. The bottoms of the bottles act as lenses for the emitted light. The project has a German name as homage to c-base’s Mate-Light project. After seeing Mate-Light at Chaos Communication Congress, we were inspired to build a similar project at Noisebridge to present at the 2016 Maker Faire. Another inspirational build is the Muro de botellas project. Our goal was to have it completed for Maker Faire 2016 to be shown as part of our booth and we were two weeks ahead of schedule. After the MakerFaire, the display will be permanently installed within Noisebridge and possibly made available for events. Our code and hardware that drives up to 16 LED strips from a Raspberry Pi is on Flaschen-Taschen github. We only need 9 strips in this project, one for each crate column. The update rate of the full FlaschenTaschen display is up to 160fps! Here is the first view of the completed project Showing the Plasma written By Carl - Find the code for this demo here https://github.com/cgorringe/ft-demos Backstage view. Network protocol and Utilities to send contentThe network protocol is quite simple: essentially send a PPM picture (P6) in a UDP packet to ft.noise:1337. For instance, try the following all in the comfort of you shell (in bash, to be precise, that conveniently provides the /dev/udp pseudo-path): bash$ jpegtopnm myimage.jpg | stdbuf -o64k pnmscale -xysize 45 35 > /dev/udp/ft.noise/1337 Flaschen Taschen accepts a footer that defines an offset in x,y space as well as a layer z index. To write images which cover the default demo visualization, you can send a higher -index by appending this footer after your sends. We still need to make sure to send everything in one packet, so on the shell this is a bit awkward as we first have to store the full content temporarily in a file. For instance, to position the image at (x=0 y=0, z=5): bash$ ( jpegtopnm myimage.jpg | pnmscale -xysize 45 35; echo "0 0 5" ) > /tmp/tmp-out ; cat /tmp/tmp-out > /dev/udp/ft.noise/1337 There are utilities in the repository to send and scroll arbitrary images (including animated gifs), videos or text, so the above, sending an image to layer 5, would be as simple as: bash:flaschen-taschen/client$ ./send-image -l5 myimage.jpg There is a C++ and Python client library that you can use right away to send images to Flaschen Taschen including a couple of examples. It is simple to write your own client in any language that supports networking (See protocols section in documentation). There is also a Node.js module flaschenode in the npm registry (https://www.npmjs.com/package/flaschenode). Or you can clone it from github or help hack on it if somehow you have node working but don't like npm (https://github.com/mpmckenna8/flashenode). See all the details here: https://github.com/hzeller/flaschen-taschen FlaschenToyOne of the examples in the Flaschen Taschen github is FlaschenToy. This is a Flask app that sends the contents of a WebGL canvas to the Flaschen Taschen. The web page takes GLSL code from a text area input, and displays it on the Flaschen Taschen using the the ShaderToy conventions. It is currently hosted on noisebridge you can try it at: http://noisebridge.noise/FlaschenToy I've not added it to the to the startup scripts, so if that site is dead you can restart on by running sudo run.sh in ~/github/flaschen-taschen/examples-api-use/flask (you'll need to be logged in as noisebridge and have the admin password) Try pasting some of the shaders from the ShaderToy page: https://www.shadertoy.com/browse into the text area Most examples will just work. E.g. this meta ball example: https://www.shadertoy.com/view/Mss3WN The code is currently in my fork of the project (will get merged into main page in the future): https://github.com/griffin2000/flaschen-taschen List of Devices at Noisebridge running the Flaschen Taschen Protocol
Current Mechanical Design DocumentationThis .PDF file is the current drawing set. Please take a look. https://noisebridge.net/images/8/8c/2016_0518_FlaschenTaschen_Sheet1-0_AsBuilt_Noisebridge.pdf Rough Take-down ProcedureFlaschen Taschen takedown and setup notes: (does not include electronics) 2016-06-13 draft by Jarrod |
Take pictures of how things are setup for reference! | Take care to collect all the parts as you disassemble, there are many parts and some are small, but important!
NOTE: The crates have an orientation. Remember this. Take a photo
Remove these screws. The supports are kind of floppy and are really only meant to be supportive in a direction parallel to the face of the display During setup any forward or backward lean of the display can be adjusted slightly by screwing these supports back on to the top crates at a distance that pushes them forward or pulls them backward
NOTE: The bottom row of crates do not have bottles with LEDs, so as to provide a space for the hardware and lift the display of the floor for improved visibility. NOTE: The two end crates have 2x4 supports in them. The others have plywood. The assembly is not symmetrical, but each crate has at least one support. Together they are almost exactly as long as the base. These also get zip tied together, but they are harder to tie.
Congratulations, You have now turned the Flaschen Taschen into parts for shipping. The setup procedure is essentially the reverse of this. Just remember:
hackingthe blinky RGB LED's are driven by a WS2801 chip, that uses a clock (green) and data (white) line, that are operated similarly to APA102's, but are not identical in practice. custom code's by teh'x taht served as table ornamite for Mitch's interview of C.M. past 10th anniversary at NB. µPython running on a ESP8266 driving random overflow noise on a milk crate of 5x5 RGB's. # 2 CM w/<3
import time
from machine import Pin
from apa102 import APA102
clock = Pin(14, Pin.OUT) # set GPIO14 to output to drive the clock
data = Pin(13, Pin.OUT) # set GPIO13 to output to drive the data
apa = APA102(clock, data, 25)
def randomByte():
return int.from_bytes(uos.urandom(1), 'little')
def randomPixel():
return [randomByte(), randomByte(), randomByte(), 31]
def loop():
while True:
for j in range(25):
apa[j] = randomPixel()
apa.write()
time.sleep_ms(round(randomByte()/10))
loop()
|
|---|