1 / 8
RGB Ambience Light — image 1
1 / 8

RGB Ambience Light

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

RGB Light with WS2812b StripLed / 2 Bases aviable for Arduino nano or Node MCU

Rating
0 / 5
Likes
7
Downloads
38
Makes
0
Views
459
Reviews
0

Updated at source:

Model information

License
Creative Commons — Attribution — Noncommercial

RGB Light with WS2812b StripLed

2 Bases aviable for Arduino nano or Node MCU

Print cover in vase mode or 2 perimeters with white or another clear PLA

 

This is the Arduino code I used for :

 

#include <FastLED.h>

#define LED_PIN     3
#define NUM_LEDS    40
#define BRIGHTNESS  100
#define LED_TYPE    WS2811
#define COLOR_ORDER GRB
CRGB leds[NUM_LEDS];

#define UPDATES_PER_SECOND 30

 


CRGBPalette16 currentPalette;
TBlendType    currentBlending;

extern CRGBPalette16 myRedWhiteBluePalette;
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM;


void setup() {
   delay( 1000 );
   FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
   FastLED.setBrightness(  BRIGHTNESS );
   
   currentPalette = RainbowColors_p;
   currentBlending = LINEARBLEND;
}


void loop()
{
  
   
   static uint8_t startIndex = 0;
   startIndex = startIndex + 1; 
   
   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[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending);
       colorIndex += 3;
   }
}

void SetupTotallyRandomPalette()
{
   for( int i = 0; i < 16; i++) {
       currentPalette[i] = CHSV( random8(), 255, random8());
   }
}

void SetupBlackAndWhiteStripedPalette()
{ 
   fill_solid( currentPalette, 16, CRGB::Black);
   currentPalette[0] = CRGB::White;
   currentPalette[4] = CRGB::White;
   currentPalette[8] = CRGB::White;
   currentPalette[12] = CRGB::White;
   
}

void SetupPurpleAndGreenPalette()
{
   CRGB purple = CHSV( HUE_PURPLE, 255, 255);
   CRGB green  = CHSV( HUE_GREEN, 255, 255);
   CRGB black  = CRGB::Black;
   
   currentPalette = CRGBPalette16(
                                  green,  green,  black,  black,
                                  purple, purple, black,  black,
                                  green,  green,  black,  black,
                                  purple, purple, black,  black );
}

const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM =
{
   CRGB::Red,
   CRGB::Gray, // 'white' is too bright compared to red and blue
   CRGB::Blue,
   CRGB::Black,
   
   CRGB::Red,
   CRGB::Gray,
   CRGB::Blue,
   CRGB::Black,
   
   CRGB::Red,
   CRGB::Red,
   CRGB::Gray,
   CRGB::Gray,
   CRGB::Blue,
   CRGB::Blue,
   CRGB::Black,
   CRGB::Black
};

 

 

 

 

Tags