- is the wall between our mainroom and the library
- in this wall are 9x5=45 glassbricks installed
- next to every glassbrick there is one RGB-led with a pretty neat chip attached
- these presoldered boards are called Shiftbrite
- they are currently controlled from an arduino this may change soon for something with more computational power :)
- Click here to draw something nice on the wall!!
SVN with current software https://whatever.metalab.at/projects/blinkenwall
We just connected the Arduino to a fonera 2202 over serial.
Now its possible to stream data for display to the blinkenwall using your favourite webbrowser.
- one can simply connect RX/TX from fonera to arduino
- no stty in default openwrt busybox build
- openwrt building is an fairly easy task
- replacing the busybox binary on a live system during operation is insane and possible! :)
- Overflo - electronics, soldering, webinterface, fonera setup
- Wizard23 - help with electronics, basic software setup
- Metaz - arduino library software for shiftbrites
- Nex arduino software for webinterface streaming
- Mactux CSS + iphone webinterface
- Natano .C program to decode webinterface streaming files
Now with ~30 fps and network mode! Go to http://blinkenwall.in.metalab.at/ to activate network mode and send your P6 PPM frames to port 1337/tcp. Make sure that all your frames are exactly 146 bytes in size or you'll risk graphics glitches at higher frame rates.
- netcat has fixed-length 8K RX/TX buffers.
- The Arduino Duemilanove resets on DTS low (the IDE uses that to reset before programming).
- The Arduino Serial class implements an RX ringbuffer of 128 bytes. Patch the Arduino SDK to adjust this to your needs; RX_BUFFER_SIZE in hardware/arduino/cores/arduino/HardwareSerial.cpp.
- mkfifo(1) is neat when opening ttyUSB* devices leads to an Arduino reset.
- blinkblink -- old-school animations
- blinkenfft -- real-time audio FFT
- mplayer -vo blinkenwall -- watch movies in a stunning resolution of 9x5
Upgrade to Raspi
To stream to the Blinkenwall from your computer, open http://10.20.30.26/togglesocket.cgi and wait for the test frame to appear, then send RGB data for the 45 pixels as before, but without the PPM header (9*5*3 = 135 bytes per frame). Open the URL again to switch back to animations.
Blinkenwall after resurrection at Hackathon_8
- Sample effect - https://whatever.metalab.at/user/meta/blinkenwall/WallSample
- SVN with current software https://whatever.metalab.at/projects/blinkenwall