How do i hide these individual leds?

Im working on this nanoleaf like project, and each individual LED is popping through these 3 printed light diffusers. Does anyone have any advice on how to hide this? so you just see a ambient type light

Hi,

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Do you flicker or fad them?
If not, then you can increase the value of the series current limit resistor to each of the LEDs.

Is this post to do with this post?

Thanks.. Tom.. :slight_smile:

Harvest diffuser from an defective LCD-panel. (3+ layers)

Where are the pictures of this?

Use a thicker diffuser.

Use more, smaller LEDs.

Cut diffusers from milk jugs.

TomGeorge:
Hi,

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Do you flicker or fad them?
If not, then you can increase the value of the series current limit resistor to each of the LEDs.

Is this post to do with this post?
https://forum.arduino.cc/index.php?topic=606187.0

Thanks… Tom… :slight_smile:

sorry ima complete beginner with this stuff so i dont know all the terms and stuff. Im literally learning as im working and thats how i learn the best. Basically i have the 5v wire running to the 5v of the arduino the GND to the GND and the data pin into Pin 6 of the arduino. I then ran a sample FastLED code i got off the internet to just test the lights and see how they look synced up. Here is the code…

CODE:

#include <FastLED.h>

#define LED_PIN 6
#define NUM_LEDS 110
#define BRIGHTNESS 96
#define LED_TYPE WS2811
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];

#define UPDATES_PER_SECOND 100

// This example shows how to cross-fade between different color palettes
// using the function nblendPaletteTowardPalette.
//
// The basic idea is that you always have a “current palette” that you’re
// pulling colors from with ColorFromPalette, and you have a “target palette”
// which is the ‘next’ palette that you want to get to.
//
// After that, implementation is relatively simple: just periodically call
// nblendPaletteTowardPalette( currentPalette, targetPalette);
// If the current palette is not yet equal to the target palette, this
// function will make a few small changes to the current palette to make
// it slightly more like the target. Over time, the current palette will
// come to be equal to the target.
// There’s no need to test the current and target for equality; it’s safe
// to keep calling nblendPaletteTowardPalette even after current reaches target.
// For faster blending, call nblendPaletteTowardPalette twice per loop.

CRGBPalette16 currentPalette( CRGB::Black);

CRGBPalette16 targetPalette( PartyColors_p );

void setup() {
delay( 3000 ); // power-up safety delay
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
FastLED.setBrightness( BRIGHTNESS );
}

void loop()
{
ChangePalettePeriodically();

// Crossfade current palette slowly toward the target palette
//
// Each time that nblendPaletteTowardPalette is called, small changes
// are made to currentPalette to bring it closer to matching targetPalette.
// You can control how many changes are made in each call:
// - the default of 24 is a good balance
// - meaningful values are 1-48. 1=veeeeeeeery slow, 48=quickest
// - “0” means do not change the currentPalette at all; freeze

uint8_t maxChanges = 48;
nblendPaletteTowardPalette( currentPalette, targetPalette, maxChanges);

static uint8_t startIndex = 0;
startIndex = startIndex + 1; /* motion speed */
FillLEDsFromPaletteColors( startIndex);

FastLED.show();
FastLED.delay(1000 / UPDATES_PER_SECOND);
}

void FillLEDsFromPaletteColors( uint8_t colorIndex)
{
uint8_t brightness = 255;

for( int i = 0; i < NUM_LEDS; i++) {
leds = ColorFromPalette( currentPalette, colorIndex + sin8(i*16), brightness);

  • colorIndex += 3;*

  • }*
    }
    void ChangePalettePeriodically()
    {

  • uint8_t secondHand = (millis() / 1000) % 60;*

  • static uint8_t lastSecond = 99;*

  • if( lastSecond != secondHand) {*

  • lastSecond = secondHand;*

  • CRGB p = CHSV( HUE_PURPLE, 255, 255);*

  • CRGB g = CHSV( HUE_GREEN, 255, 255);*

  • CRGB b = CRGB::Black;*

  • CRGB w = CRGB::White;*

  • if( secondHand == 0) { targetPalette = RainbowColors_p; }*

  • if( secondHand == 10) { targetPalette = CRGBPalette16( g,g,b,b, p,p,b,b, g,g,b,b, p,p,b,b); }*

  • if( secondHand == 20) { targetPalette = CRGBPalette16( b,b,b,w, b,b,b,w, b,b,b,w, b,b,b,w); }*

  • if( secondHand == 30) { targetPalette = LavaColors_p; }*

  • if( secondHand == 40) { targetPalette = CloudColors_p; }*

  • if( secondHand == 50) { targetPalette = PartyColors_p; }*

  • }*
    }

Sorry guys here are a couple images. Forgot to post them

You need to -

  1. Shield the LED hotspot from the front view (NOT too close to the viewing surface, or it will be a dark spot)
  2. Test your current diffuser then
  3. Make the bacck surface silver matte (reflective) to get the most fro your LEDs
  4. Find a thicker diffuser to reach the level of diffusion you want

"corn cob effect"..

as everyone else mentions...

better diffuse material and distance from the 'surface'...

lastchancename:
You need to -

  1. Shield the LED hotspot from the front view (NOT too close to the viewing surface, or it will be a dark spot)
  2. Test your current diffuser then
  3. Make the bacck surface silver matte (reflective) to get the most fro your LEDs
  4. Find a thicker diffuser to reach the level of diffusion you want

How do you suggest I shield the LEDs?

A bit of white poly, paper,plastic or similar fixed close to the LED ?

See how they do it with those flat LED ceiling downlights.
The LEDs shine on the side of a 3mm thick frosted acrylic disc, and that lights up the whole disc evenly.
A thin white sheet on the back only lets the light out on one side.
Leo..

Thank you guys, I’m going to try some of the options you guys provided and keep y’all updated on how it goes!