Giter VIP home page Giter VIP logo

odd's Introduction

odd

One Dimensional Display

http://blog.gonyeo.com/category/odd.html

This project aims to create a single row of RGB LEDs that can be individually controlled by a Raspberry Pi. The Pi will be able to display single colors, basic hardcoded animations, dynamic animations (like audio visualization), and animations in reaction to various events (like someone entered a room, or the user reveived a message on Facebook).

The hardware will consist of packages of one TLC5947, eight RGB LEDs, one voltage regulator, and some capacitors and resistors on a PCB. These circuit boards will be daisy chainable, with an end goal of about 30 boards (240 LEDs).

The hardware will be controlled in roughly the following fashion:

HTML/CSS/Javascript ---> C ---> TLC5947 ---> LEDs

Here's an imcomplete parts list:

  • Raspberry Pi
  • TLC5947 (LED Driver)
  • RGB LEDs (8x the # of TLCs)
  • One of the PCBs from the eagle board folder for each TLC
  • Resistors & capacitors
  • LM3940 (Voltage Regulator)

odd's People

Contributors

dgonyeo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

fossrit

odd's Issues

Voltage regulator throws off excessive heat

When is use, the voltage regulator will generate enough heat to melt the chassis of a thinkpad laptop. It is completely possible that being soldered to a pcb will provide the voltage regulator with enough heat dissipation. If not, heat dissipation will need to be provided or another regulator will need to be purchased.

Website doesn't correctly remove controls

Controls are first generated when one animation is visited, and if the user navigates to a different animation without refreshing the page, the correct controls will not be displayed.

Basic site sliders laggy

If the user slowly drags a slider in the basic site, messages to be sent to the server are generated faster than we can push them out. Either sending an update only on mouse up or limiting the rate at which new messages can be generated would both be solutions.

Can't run for long periods of time

When the computer side program has been running for a long-ish period of time it breaks in a strange way. cylonEye gets shifted by ~20 LEDs and smoothStrobe just makes it look like it has a seizure.

I suspect the formatTime function is at fault.

Move hardware onto a pcb

Next step for the hardware is to have the eagle design fabricated and move all hardware onto it.

Enable full color support

Due to current hardware limitations (standard LEDs are being used, as opposed to RGB LEDs), only the red channel of each LED is being used. This should be changed to use all three channels.

Create audio visualization animation

Use FFT to analyze audio stream and calculate what frequencies are playing. Use this information to light up sections of LEDs in different colors.

Note: should probably wait for project to be moved to raspberry pi.

PortAudio on the RasPi can't find any audio devices

Progress cannot be made on dammitAnimation due to the fact that once I moved over to the raspberry pi, the portaudio library cannot find any audio devices. Mplayer is able to play audio out over the 3.5mm jack, so I believe the problem lies with the library.

C program can only accept 2 commands per message

Server should be able to accept infinite commands in one line. Can only accept what I believe to be two. Not really a big issue with the way the website is set up, but should be done eventually.

Get board controllable with python

This is so that eventually a web ui can be created to control the LEDs.

I hear that I should open a port with a very high number to enable communications between the C program and a python program on the same machine.

Allow animations to store information

Make an array of a data struct that will allow animations to write down information about their current state. Would allow for significantly more advanced animations.

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.