Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 6 of 6

Thread: User Configurable 4 channel Color Organ

  1. #1
    Member
    Join Date
    May 2014
    Location
    Black Forest Colorado
    Posts
    74

    User Configurable 4 channel Color Organ

    Hello,

    I've been working on a new generation color organ that uses mostly pjrc.com products in its design. It uses the Teensy Audio library to do most of the heavy lifting, hence I call it the "Teensy Color Organ". I have built many color organs in my lifetime but this is, by far, the most versatile.

    Features include:
    LCD with touch screen display for all user interaction
    Screens for configuring filters, inputs, colors, LED densities and file operations
    Input from a built-in microphone or line level inputs
    4 frequency bands with adjustable frequencies and sharpness
    Each of the four bands controls up to 30 LEDs for a total LED count of 120 (ws2812b strip variety)
    Automatic volume control
    Programmable density of LEDs / band
    Each band has user configurable color
    The ability to store/load current color organ configuration to/from files on the SD memory card
    Special color dynamics mode where LED assigned to a band can change position periodically

    Hardware
    The following hardware items are used in this project
    1. Teensy 3.1/3.2 Micro Controller - pjrc.com
    2. Teensy Audio Adapter Board - pjrc.com
    3. Color 320x240 Touchscreen, 2.8 inch, ILI9341 Controller - pjrc.com
    4. 2 GB (or smaller) microSD card
    5. 74AHCT125 quad level shifter
    6. (2) 100 ohm resistors
    7. Minature SPST pushbutton switch that replaces the Teensy 3.1 reset switch which is covered by the audio adapter
    8. 5 volts DC power supply capable of at least 3 amps of continuous current
    9. 5 volt WS2812B LED strip with density of 30 LEDs/meter. One length of 120 LEDs

    Software
    The following software was used to compile this code
    1. Arduino IDE Version: 1.6.9 - https://www.arduino.cc/en/Main/Software
    2. Teensyduino Version: 1.29 - https://www.pjrc.com/teensy/td_download.html
    3. ILI9341_t3 LCD driver - https://github.com/PaulStoffregen/ILI9341_t3
    4. XPT2046 touch screen driver - https://github.com/PaulStoffregen/XPT2046_Touchscreen
    5. The Audio library - https://github.com/PaulStoffregen/Audio
    6. Adafruit Neopixel library - https://github.com/adafruit/Adafruit_NeoPixel

    Color Organ Concept, Design and Implementation by: Craig A. Lindley

    I've created a github repository for the code which is available at:
    https://github.com/CraigLindley/TeensyColorOrgan

    Since the design in open source you are free to use it anyway you want. Since you have the source you can add new features, increase the LED count or whatever.

    Have fun

    Craig Lindley

  2. #2
    Senior Member
    Join Date
    Jan 2013
    Posts
    184
    Can you show us pictures and video of the results?

    Good job btw.

  3. #3
    Member
    Join Date
    May 2014
    Location
    Black Forest Colorado
    Posts
    74
    Hi markonian,

    I haven't done a video yet because I haven't yet built the enclosure for the color organ. So far I've only driven the string of 120 WS2812b LEDs while they were lying on my floor.

    I've just checked in some images of the various screens into the repository but I'll show them here as well.

    When the color organ starts up the user sees what I call the main screen:
    Click image for larger version. 

Name:	Screen_Main.jpg 
Views:	116 
Size:	82.1 KB 
ID:	7850

    This screen has 2 VU meters on it that monitor the current input (mic/line). If the user touches the screen, the configuration screen comes up:

    Click image for larger version. 

Name:	Screen_Configuration.jpg 
Views:	116 
Size:	91.1 KB 
ID:	7851

    The user can then tap the button for the item he/she wishes to configure. The user can configure each of the four filter bands. The low band screen
    is shown for reference:

    Click image for larger version. 

Name:	Screen_LowBand.jpg 
Views:	94 
Size:	92.1 KB 
ID:	7852

    Here the user can set the band's frequency (cutoff if high or low pass or center frequency if band pass) and the sharpness of the filter's response.
    The user can also touch the Color button to set the hue for the band and can touch the Dens button to set the density of the LEDs for this band. If
    a density of 50% is set, 15 of the 30 LEDs for this band will become active. Touching the back button returns the user to the band's screen.

    The Misc screen is where the user selects the input, whether or not the automatic volume control is engaged and the time interval for the dynamics effect.

    Click image for larger version. 

Name:	Screen_Misc.jpg 
Views:	108 
Size:	102.1 KB 
ID:	7854

    If the dynamics time interval is non zero, the LEDs for each band will dynamic change. That is, they will be reassigned to a different position in the LED
    string. So instead of the LEDs always having a fixed position in the color organ (like every color organ I have ever seen) they will be dynamically reassigned in
    a random fashion. Note, the density of the LEDs and their color don't change during the dynamic reassignment.

    Finally the Files screen

    Click image for larger version. 

Name:	Screen_Files.jpg 
Views:	97 
Size:	109.2 KB 
ID:	7853

    is where the user can store and load the color organ configurations. Say for a certain kind of music you want to change the filter characteristics or the density
    of LED per band or the color of the LEDs in a band you can setup the color organ this way, select a File (1-4) and touch store and that configuration will
    be saved onto the SD card in the audio adapter. Later, when you want to use the stored configuration you select the File the same way and then
    touch of load button.

    I will be uploading a schematic of the color organ when I get the chance to draw one. Most of the connections can be deduced from the information on Paul's Audio Adapter page. Other than that only a single channel of the 74AHCT125 quad level shifter is used. Pin
    3 of the teensy 3.1 connects to input A and the output drives the string of WS2812b LEDs through a 100 ohm resistor.

    Here is an image of the breadboard for the color organ.

    Click image for larger version. 

Name:	BreadboardFront.jpg 
Views:	104 
Size:	118.7 KB 
ID:	7855

    The wires running off to the left are connected to microphone element. The red and black wires middle right are the power supply wires and the lower right wires run off to the LED string. Everything else on the breadboard should look familiar.

  4. #4
    Member
    Join Date
    May 2014
    Location
    Black Forest Colorado
    Posts
    74

    Color Organ Packaged and Working

    I've now got my color organ packaged up and running. You can see some videos of it here:

    Video One - https://www.youtube.com/watch?v=rro2kV_hPF4
    Video Two - https://www.youtube.com/watch?v=pvB-QfkeuwE

    Here is a picture of the side/back where you can see the power switch, power cord and LCD display

    Click image for larger version. 

Name:	BackView.jpg 
Views:	69 
Size:	43.6 KB 
ID:	7919

    I think it turned out nicely though the frequency selectivity isn't what I was hoping for.

    Enjoy

  5. #5
    Member
    Join Date
    May 2014
    Location
    Black Forest Colorado
    Posts
    74
    Because the frequency selectivity was not as great as I had hoped, I have created new software (running on exactly the same hardware) that uses the 1024 point FFT with octave related bands that seems to work much better. Instead of the original 4 bands, with the new software there are 8 bands. The new software is available at: https://github.com/CraigLindley/TeensyColorOrgan-FFT. It turns out this is a much simpler approach than my previous one.

  6. #6
    Member
    Join Date
    May 2014
    Location
    Black Forest Colorado
    Posts
    74
    Hello,

    I thought I would give people interested in this thread a preview of the article I wrote for Nuts and Volts magazine about my color organ. Check out the article at: http://www.craigandheather.net/docs/...ganArticle.pdf

    I don't yet know when it will be published. If you have comments about the article or the design of the color organ you can respond here or send me email at calhjh@gmail.com.

    Cheers

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •