Git Product home page Git Product logo

myelin / myelin-matrix-display Goto Github PK

View Code? Open in Web Editor NEW
3.0 6.0 2.0 1.11 MB

Code for the LED matrix display I made for Burning Man 2012 (also shown at BM 2013, Lunacy 2012, Lucidity 2014, Sea of Dreams NYE 2013 + 2015)

Home Page: http://mx.myel.in/

C++ 10.55% Makefile 9.80% Perl 0.56% Arduino 2.12% C 48.13% Shell 3.22% TeX 15.08% Python 2.63% KiCad Layout 2.83% Batchfile 0.06% Groff 1.78% Yacc 1.77% Lex 0.64% Mask 0.01% M4 0.45% Processing 0.36%

myelin-matrix-display's Introduction

Myelin Matrix Display

http://mx.myel.in/

Copyright (C) 2012-2016 Phillip Pearson

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Introduction

The Myelin Matrix Display is a 25x12 LED matrix, that I built as my project for Burning Man 2012. I installed it at my camp, Want It! (9:15 and Esplanade). It consists of 300 WS2801-controlled 5050 LEDs, mounted on a roughly 6' x 3' board.

It supports the UDP protocol used by Disorient's Art Car Wash code, allowing a Processing app, or any of the targets in the c_client folder, to control the system from anywhere on the network.

Current version (2)

A Raspberry Pi B (the original version, with 256 MB of RAM) is connected via an MX2 board (see MX2_remote_control_pcb for schematics and layout) to an nRF24L01+ radio module and to the WS2801 string.

On powerup, the ATMEGA328P on the MX2 board runs an internal animation. Once the RPi boots, it takes over, resetting the AVR and then setting /SS low, to signal it to release the LED output lines. The RPi then outputs directly to the LEDs.

The code in rpi_controller/proxy talks to the radio module and receives display frames via UDP, passing them on to the LED string.

Animation code lives in c_client. In production, this sends frames to the local UDP receiver, but it can run on another host and send frames to an RPi elsewhere on the network.

Old versions

Version 1 had a Freetronics Etherten, running the code in the arduino_matrix_driver folder -- doing everything the AVR on the MX2 board does, plus listening on UDP on its builtin ethernet port, and also listening on its serial port.

Connecting a laptop running the code in the linux_daemon folder and sending video frames via the USB serial port will override this, allowing more complex patterns.

Programming patterns

If you'd like to program patterns for the display:

  • Open and run matrix_simulator/matrix_simulator.pde with Processing

  • cd python_client; python matrix.py

  • Mess with the examples in python_client and c_client

myelin-matrix-display's People

Contributors

follower avatar mattstep avatar myelin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mattstep arnonh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.