Git Product home page Git Product logo

teensy-underlights's Introduction

LED Strip MIDI for Teensy - controlling LED strips via MIDI

This Arduino project allows for controlling a LED strip from a DAW program (via MIDI) over a Teensy microcontroller.

System Requirements

  • LED Strip
    • The LPD8806 and WS2812B strips are implemented in separate Arduino projects.
  • USB Development Board
    • A 32-bit PJRC Teensy is highly recommended. A Teensy-LC was used while developing this project and is officially supported alongside other Teensy 3 models.
    • Teensy 2 (8-bit) and certain Arduino boards might work, but have not been tested and are not officially supported.
  • Arduino Software
  • OS
    • Windows, Linux and macOS are officially supported.
  • DAW Software
    • Ableton Live is recommended due to its flexibility in creating MIDI Effects.

Hardware

Connect your board with the LED strip using the schematic. You can attach the strip to any object, I used a short wooden cylinder which I wrapped the strip around and it works well.

Software

If you haven't already, install Teensyduino for Arduino, and the LPD8806 libraries if applicable (the correct path for the LPD8806.cpp and LPD8806.h files from the adafruit repository is Documents/Arduino/libraries/LPD8806/) Modify the Arduino script according to your LED strip configuration (_nLED = Number of LEDs < 128, _dLED = Data pin, _cLED = Clock pin LPD8806 only). Under Tools, make sure USB Type: "MIDI", Optimize Code: Fastest and your board are selected, then compile and upload to your board. You can also change your MIDI device name by editing name.c.

Retina Palettes

The retinaConverter.py Python 3 script will take a Retina palette file as input, and output equivalent _r, _g and _b arrays to replace in the script. Before running the script, you should uncomment one of these lines depending on your LED strip. Then, run it with:

$ python3 retinaConverter.py < paletteFile > array.txt

Usage

Sending standard MIDI note-offs and note-ons on any channel will trigger the LED with the matching color (from the palette arrays). Sending a SysEx message in the format F0 PP RR GG BB F7 (where PP is the LED index, RR is the red component of the color, GG is the green component of the color, and BB is the blue component of the color) will directly set the LED to a desired color.

teensy-underlights's People

Contributors

mat1jaczyyy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

teensy-underlights's Issues

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.