Najad
Published © GPL3+

Reactive Sound Color Changing Cube!

Here We are going to make a light cube which will change color accordingly with surrounding sounds. This work is featured in Hackspace mag

IntermediateFull instructions provided5,434

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
×1
Addressable LED UCS1903B
×1
SparkFun Electret Microphone Breakout
SparkFun Electret Microphone Breakout
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

Superglue
White wood
Acrylic

Story

Read more

Schematics

soundcube_sche_e8rNHAumPl.jpg

Soundcube sche e8rnhaumpl

Code

Code

C/C++
#include "FastLED.h" //fast led library 
#define NUM_LEDS 10 //total no. of leds used
#define DATA_PIN 5 //digital pin at which the data pin is connected
#define mic A5 //analog input from mic module
int mic_Value; //to save raw value from mic
int red, green, blue; //to store RGB color values
CRGB leds[NUM_LEDS]; //fast led function 

void setup() {
  FastLED.addLeds<UCS1903B, DATA_PIN, RGB>(leds, NUM_LEDS); //as our led IC is UCS1903B,fast led support lots of ICs, find more
  LEDS.setBrightness(200); //setting brightness of LED (0 to 255) //info at fastled.io
  randomSeed(analogRead(0));// for generating random no. by taking noise from analog pin 0
  for (int i = 0; i <= 9; i++) //for changing color of all 10 LEDs
  {
    leds[i] = CRGB(200, 200, 200); //for initial white color
    LEDS.show(); //fastled function, without this function the colors won't be updated
  }

}

void loop() {

  mic_Value = analogRead(mic); //storing analog values from mic to mic_value
  if(mic_Value>100) //to avoid small noise
  {
    for(int i=0;i<=9;i++)//for changing color of all 10 LEDs
    {
    red=random(255); //random red color value between 0 to 255
    green=random(255); //random green color value between 0 to 255
    blue=random(255); //random blue color value between 0 to 255
    leds[i]=CRGB(red,green,blue); //assigning color values to LEDs
    LEDS.show();
  }
 }
}

Credits

Najad

Najad

3 projects • 24 followers

Comments