artv2100

150 LEDs, more problems.

Turns out the Pololu Voltage Booster couldn’t handle the current required and the over current protection was kicking in about twice a second, making the whole circuit flicker. And this was just testing 75 LEDs. I’ve put in an order for another DC-DC voltage booster that can apparently take 3A input. Hopefully this will be able to solve some problems, otherwise I could buy two more Pololus, but then efficiency would decrease a bit more.

Each matrix of 25 LEDs draws approximately 350mA at highest load, thus 6 panels requires an output of 350mA x 6 panels x 5 volts = 10.5W. This doesn’t include the dual Arduinos or the 4 sensors.

The 2000mAh battery is looking a bit short on juice.

youtube

Here’s a quick update of what the prototype side looks like.

In continuation from my previous videos - http://youtu.be/CgW6VczpMF0 , I’ve arranged the RGB LED’s in a 5x5 square as a prototype for the what-will-be 5x5x6 LED cube. Not much has changed except the layout.

There is a thin plastic layer that acts as a diffuser for the LEDs, and the Arduino is strapped onto the back of the panel.

10

My delivery from Littlebird Electronics is finally here, and with it, over $150 of sensors and whatnot. Here’s a quick photoset captioned with what each component is, and what role it will play in the final project.

Lessons on Soldering

When I first search on what you need when soldering, one piece of advice stood out: always use a variable temperature soldering iron. I decided not to and suffered the consequences. So, first things first; use a variable temperature soldering iron if you want to avoid tearing your hair out every 5 minutes.

The problem with a fixed temperature iron, and despite the fact that I bought a fairly high-powered one, is that the heat required to solder is relatively precise. If the temperature isn’t high enough, you will have an agonising time trying to melt the solder, and if the temperature is too high, the solder melts quickly into a pool of mess. And it doesn’t help that the temperature varies based on the type of solder, time of day, and the alignment of planets.

And honestly, that’s the only tip you’ll need for a sane time whilst soldering. I initially bought a 40W fixed soldering iron. It started out alright, but soon enough, the solder was a mess to try and work with. Now, with a 40W variable temperature soldering iron borrowed from the School of Art, soldering is painless.

Some quick tips I discovered:

  • Find the ideal temperature first. The solder shouldn’t melt immediately, but also shouldn’t take too long to melt. I have mine set at around 80% power for at 40W iron. You might find that you have to adjust the temperature throughout the session; this is normal as the temperature may vary.
  • Don’t apply solder onto the soldering iron. The solder should be alongside the component/wire that you are trying to solder, and you heat up the solder with the component you are soldering.
  • If possible, apply the solder onto the surface before attaching the component. For my LEDs, I went through each contact and make little solder balls on the contacts first. The second time round, I simply heated the wire on top of the solder and they joined easily. This is especially helpful if you don’t have three hands.
  • Use a continuity checker on the wires after you’re finished to check that you haven’t shorted anything and have made good contacts. You can find a continuity checker on most digital multimeters.
  • Finally, use hot glue over the joints once you’re sure everything works. This prevents wires from touching due to flexing or other movements. It also helps protect other components from contact or sometimes piercing due to some pointy wire at the end. Note that hot glue would be a hassle to remove, so make sure the previous tip is fulfilled first.

youtube

In continuation from my previous post, I have extended the scrolling rainbow to react to sound in a simple manner. Basically, by using the breakout electret microphone as a serial input, it pulses white light when sound exceeds a certain loudness threshold. The benefit of this is that the microphone is good at detecting low bass notes, which generally form the beat of a song. (Apologies for the music, this was the one song that I could find with defined beats.)

The limitation at the moment is that the threshold is hard-coded, meaning that the music being played has to be of similar volume for the beats to be detected. The next step is to average values and compare to that to a dynamic threshold so that beats can be detected in soft and loud music accurately.

Although I’m not too sure how I can integrate this, the next update will include a light sensor to affect the led strip. Also planned, are alternating visualisations.

This is the main part that drives the system, so you can see how simple it is to set up:

  for(int k = 0 ; k < 256; k++) {
    
    //Set LEDs
    memset(leds, 0, NUM_LEDS * 3);
    
    //Get serial data from the microphone. audioIn is simply the pin number for the microphone
    val = analogRead(audioIn);
    Serial.println(val);
    
    //If value exceeds threshold. Note the the silence value is around 400 and variations are either +/- of that middle value.
    if (val > 500 || val < 300) {
     
      j = 255;


      //Pulse White
      for(int i = 0 ; i < NUM_LEDS; i++ ) {
        leds[i].r = j;
        leds[i].g = j;
        leds[i].b = j;
      }
    } else {
      
      //Play rainbow
       for(int i = 0 ; i < NUM_LEDS; i++ ) {
        leds[i].r = getRGB((k*2+i*255/NUM_LEDS)%255,255,255,0);
        leds[i].g = getRGB((k*2+i*255/NUM_LEDS)%255,255,255,1);
        leds[i].b = getRGB((k*2+i*255/NUM_LEDS)%255,255,255,2);
        
      }
    }
    
    //Show LEDs
    FastSPI_LED.show();
    
    //If pulse is on, pause for a moment other the pulse happens too quickly
    if (j != 0) {
      delay(100);
      j = 0;
    }
    
  }

youtube

I’m getting started on my physical computing major project. I currently have a 32 RGB LED strip hooked up to an Arduino board and generating a rather mesmeric rainbow pattern.

The basic overview of the project is a portable LED cube that reacts to lights, sounds, beats and wireless commands. More details are being planned and hopefully I will have the proposal approved and posted soon. I plan to document the development process of the project on this tumblog, so follow me if you are interested.

For the proof of concept, I am currently building an LED strip that reacts to sound and light using a simple microphone, light detector and LED strip connected to an Arduino Uno board. Once the concept is validated, a formal design process will follow.