Go Down

Topic: LEDs will not light up on their own (Read 1 time) previous topic - next topic

Grumpy_Mike

I can't see your large capacitor on the supply output.

DJSammit

I can't say that I've figured out what that is. In all the wiring diagrams I've been looking at (specifically for setting up ambilight) there isn't anything that I see about a capacitor. All I see besides the physical wires in those diagrams is a ~440ohm resistor from the arduino to the data cable. Do I need this capacitor?


DJSammit

Ah I see. Thanks for the link!

That being said, it looks like the capacitor is only there to prevent power surges from the power supply. Important - yes and I will be getting one. However, I do not think that would cause erratic behavior.

Update: I got a second arduino now as well in case that was causing the issue. At this point, I'm not sure if that resolved my problem or if it was something else... When I first hooked it up, I was getting the same behavior as before. However, I then came upon the FastLED examples that come with the library. I clicked on the "DemoReel100" (code below) and it seems to work!

That being said, my code that I posted here still does not work and I do not know why if it was working fine for you... I have now given the arduino the 'Adalight' sketch book and my AmbiBox application (which can run adalight in the background) can perform my screen capture, solid colors, dynamic colors, etc.

Studying up a little on that code I was able to get my own sketch working using the built in rainbow effect that comes with the FastLED library. See code below:

Code: [Select]
#include "FastLED.h"

// fast led constants
#define DATA_PIN    7

#define COLOR_ORDER RGB
#define NUM_LEDS    300

#define BRIGHTNESS  96
#define FRAMES_PER_SECOND  120

#define LED_TYPE    WS2812B

// this creates an LED array to hold the values for each led in the strip
CRGB leds[NUM_LEDS];

void setup()
{
  delay(3000); // 3 second delay for recovery
 
  FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
  // set master brightness control
  FastLED.setBrightness(BRIGHTNESS);
}

uint8_t gHue = 0; // rotating "base color" used by many of the patterns

void loop()
{
    // FastLED's built-in rainbow generator
    fill_rainbow( leds, NUM_LEDS, gHue, 7);
 
    // send the 'leds' array out to the actual LED strip
    FastLED.show(); 

    // insert a delay to keep the framerate modest
    FastLED.delay(1000/FRAMES_PER_SECOND);

    EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow
}




So, thanks to your help I think I may be good to go although I'm not entirely sure where my problem was in the first place which is mildly frustrating...

The last issue I'm having is some changing colors as the strip goes on. I'm wondering if this has to do with voltage drop or something similar but, the 'stronger' the color (white being the 'strongest' in this case, blues/reds being much less so) the less of that color is shown throughout the strip. It's not the end of the world but would be nice to keep color consistency. I'm just wondering if you know the reason WHY this is happening? (See attached screenshot for an example of me trying to turn the entire strip white)

Grumpy_Mike

Quote
That being said, it looks like the capacitor is only there to prevent power surges from the power supply.
Exactly the opposite. It holds up the supply voltage in the face of rapidly changing current demand. This is caused by the PWM or switching on and off of the LEDs.

See the power and ground coming out of the end of the reel? Connect this to the power and ground you are already using at the other end of the reel. That will help with power distribution.

DJSammit

Wow... So I got the TV all wired up, was about to put it up on the wall to be finished and one of my solder connections came lose. Took the TV back down, re-soldered it and now the lights dont work....  >:(

However, if I wiggle the data cable near the arduino and/or plug/unplug it, some of the lights turn on with random colors. I know the lights have power because they all will turn on. Just seems like something is wrong with the data cable... Any ideas? Ive re-soldered that connection twice just to ensure that there wasnt a loose connection but even if the data cable isnt plugged into the arduino and i touch it with my finger, some of the lights will come on.

Grumpy_Mike

Quote
but even if the data cable isnt plugged into the arduino and i touch it with my finger, some of the lights will come on.
That sounds like the ground connection might be faulty.

DJSammit

It's been a few weeks now but I just wanted to send a quick update and thank you as I have officially got this working. I can't tell you exactly what changed since my last issue that cause it to work but I would guess that you were right and it was something to do with the ground connection.
The colors aren't perfect yet, and the LEDs could be more precise with the section of screen they are monitoring but for my first go at this I'm satisfied. Already received many compliments on it. Thanks again to everyone for your help troubleshooting the issues. I would not have been able to get this far without it!  :)

PaulRB


Go Up