Arduino Based Stranger Things Lights

74,109

182

85

Introduction: Arduino Based Stranger Things Lights

About: I'm a mech engineer who likes to start tons of crazy projects and occasionally finish a few. I love to travel, but when I'm stuck at home I like working on various DIY improvements to our house, going out a...

We are hosting a Halloween party and since Stranger Things is on everyone's minds this year, I thought I could make a cool, creepy decoration using an arduino and some programmable LEDs

Step 1: Materials List

Good news. No tools are required to build this instructable. You don't need to know how to solder or anything fancy.

All parts can be found on Amazon, or if you want things cheaper, you can do a little research on other sites. The parts list is:

Mokungit 100pcs WS2811 12mm LEDs

https://www.amazon.com/gp/product/B01DLVK3CE/ref=o...

DC Power Jack Adapters:

https://www.amazon.com/gp/product/B00XJ23U3A/ref=o...

5V/10A DC Power Supply

https://www.amazon.com/gp/product/B01HYXAG04/ref=o...

Arduino Uno

https://www.amazon.com/Arduino-Uno-R3-Microcontrol...

9V/1A DC Power Supply

https://www.amazon.com/ZJchao-Power-Adapter-Arduin...

Step 2: Simple Wiring

Everything is plug and play here. The only concern is what color your actual wires are. The wires I got were different colors than on the supplier's website. Once you piece together what is power, ground, and data, you're off and running.

Step 3: Get Your Creepy Font

I used Something Strange from Dafont: http://www.dafont.com/something-strange.font

You will want to print these out and attach them to the wall along with your LEDs to determine which LEDs match which letters. If you want to go smaller, you can assume one LED per letter and it makes your life a whole lot easier.

When writing down which LEDs match which letters on your wall, you will want to remember that the code treats the first LED as #0, so start counting at 0 instead of 1.

Step 4: Start Programming

I am new to programming, so I apologize upfront for my poor coding skills. Take what you can from what I've done and improve upon it!

The first step was to download FastLED: http://fastled.io/

FastLED is the library that helps run some of the features in the code.

Second, download my StrangerThings program and open it up and start reading through my comments.

My main concept was that I wanted my program to be random. I didn't want the program to cycle through a word every x minutes and have it lose the eerie effect. This is done through the randomseed and random function paired with a switch/case scenario. Then all you have to do is set up subroutines to run within each case.

Feel free to post questions and I'll do my best to answer. Since I'm not a programmer I'm not exactly sure what to share with everyone.

Step 5: Test and Add Features

The best way I found to test was to just run the subroutines one after another without the random variable and the cases to see if you like how each one looks. When you are happy with the rates of changes and the speed of letters showing up and disappearing, turn the random variable and cases back on and you're off to the races!

LED Contest

Runner Up in the
LED Contest

6 People Made This Project!

Recommendations

  • Creative Misuse Contest

    Creative Misuse Contest
  • Tiny Home Contest

    Tiny Home Contest
  • Water Contest

    Water Contest

85 Discussions

Um, the code that was posted comes up with a million error messages when I try to upload it. Here they are :

Arduino: 1.8.5 (Mac OS X), Board: "Arduino/Genuino Uno"

In file included from /Users/chansen/Downloads/FOZHJ9WIUDWFP1W/FOZHJ9WIUDWFP1W.ino:2:0:

/Users/chansen/Documents/Arduino/libraries/FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.006

# pragma message "FastLED version 3.001.006"

^

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `FastLED'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::countFPS(int)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::setMaxRefreshRate(unsigned int, bool)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::CFastLED()'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::CFastLED()'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::count()'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CLEDController::m_pHead'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::operator[](int)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::clearData()'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::setTemperature(CRGB const&)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::setCorrection(CRGB const&)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::setDither(unsigned char)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::show(unsigned char)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::delay(unsigned long)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::showColor(CRGB const&, unsigned char)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::clear(bool)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CFastLED::addLeds(CLEDController*, CRGB*, int, int)'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `_retry_cnt'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `_frame_cnt'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `CLEDController::m_pTail'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/FastLED.cpp.o (symbol from plugin): In function `FastLED':

(.text+0x0): multiple definition of `pSmartMatrix'

sketch/FastLED.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/bitswap.cpp.o (symbol from plugin): In function `transpose8x1_noinline(unsigned char*, unsigned char*)':

(.text+0x0): multiple definition of `transpose8x1_noinline(unsigned char*, unsigned char*)'

sketch/bitswap.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `Rainbow_gp'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `HeatColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `PartyColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `RainbowStripeColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `RainbowColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `ForestColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `OceanColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `LavaColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorpalettes.cpp.o (symbol from plugin): In function `Rainbow_gp':

(.text+0x0): multiple definition of `CloudColors_p'

sketch/colorpalettes.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nblend(CRGB&, CRGB const&, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nblend(CHSV&, CHSV const&, unsigned char, TGradientDirectionCode)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_solid(CRGB*, int, CRGB const&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_solid(CHSV*, int, CHSV const&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_rainbow(CRGB*, int, unsigned char, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_rainbow(CHSV*, int, unsigned char, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_gradient_RGB(CRGB*, unsigned int, CRGB, unsigned int, CRGB)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_gradient_RGB(CRGB*, unsigned int, CRGB const&, CRGB const&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_gradient_RGB(CRGB*, unsigned int, CRGB const&, CRGB const&, CRGB const&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fill_gradient_RGB(CRGB*, unsigned int, CRGB const&, CRGB const&, CRGB const&, CRGB const&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nscale8_video(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fade_video(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fadeLightBy(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nscale8(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fadeToBlackBy(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fade_raw(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nscale8_raw(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `fadeUsingColor(CRGB*, unsigned int, CRGB const&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nblend(CRGB*, CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blend(CRGB const&, CRGB const&, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blend(CRGB const*, CRGB const*, CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nblend(CHSV*, CHSV*, unsigned int, unsigned char, TGradientDirectionCode)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blend(CHSV const&, CHSV const&, unsigned char, TGradientDirectionCode)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blend(CHSV const*, CHSV const*, CHSV*, unsigned int, unsigned char, TGradientDirectionCode)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blur1d(CRGB*, unsigned int, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blurRows(CRGB*, unsigned char, unsigned char, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blurColumns(CRGB*, unsigned char, unsigned char, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `blur2d(CRGB*, unsigned char, unsigned char, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `HeatColor(unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(CRGBPalette16 const&, unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(unsigned long const (&) [16], unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(CRGBPalette32 const&, unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(unsigned long const (&) [32], unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(CRGBPalette256 const&, unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(CHSVPalette16 const&, unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(CHSVPalette32 const&, unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `ColorFromPalette(CHSVPalette256 const&, unsigned char, unsigned char, TBlendType)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `UpscalePalette(CRGBPalette16 const&, CRGBPalette256&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `UpscalePalette(CHSVPalette16 const&, CHSVPalette256&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `UpscalePalette(CRGBPalette16 const&, CRGBPalette32&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `UpscalePalette(CHSVPalette16 const&, CHSVPalette32&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `UpscalePalette(CRGBPalette32 const&, CRGBPalette256&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `UpscalePalette(CHSVPalette32 const&, CHSVPalette256&)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `nblendPaletteTowardPalette(CRGBPalette16&, CRGBPalette16&, unsigned char)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `applyGamma_video(unsigned char, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `applyGamma_video(CRGB const&, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `applyGamma_video(CRGB const&, float, float, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `napplyGamma_video(CRGB&, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `napplyGamma_video(CRGB&, float, float, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `napplyGamma_video(CRGB*, unsigned int, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/colorutils.cpp.o (symbol from plugin): In function `nblend(CRGB&, CRGB const&, unsigned char)':

(.text+0x0): multiple definition of `napplyGamma_video(CRGB*, unsigned int, float, float, float)'

sketch/colorutils.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_raw_C(CHSV const&, CRGB&)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_raw_avr(CHSV const&, CRGB&)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_raw(CHSV const&, CRGB&)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_spectrum(CHSV const&, CRGB&)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_rainbow(CHSV const&, CRGB&)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_raw(CHSV const*, CRGB*, int)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_rainbow(CHSV const*, CRGB*, int)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `hsv2rgb_spectrum(CHSV const*, CRGB*, int)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/hsv2rgb.cpp.o (symbol from plugin): In function `hsv2rgb_raw_C(CHSV const&, CRGB&)':

(.text+0x0): multiple definition of `rgb2hsv_approximate(CRGB const&)'

sketch/hsv2rgb.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/lib8tion.cpp.o (symbol from plugin): In function `memset8':

(.text+0x0): multiple definition of `memset8'

sketch/lib8tion.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/lib8tion.cpp.o (symbol from plugin): In function `memset8':

(.text+0x0): multiple definition of `memcpy8'

sketch/lib8tion.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/lib8tion.cpp.o (symbol from plugin): In function `memset8':

(.text+0x0): multiple definition of `memmove8'

sketch/lib8tion.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/lib8tion.cpp.o (symbol from plugin): In function `memset8':

(.text+0x0): multiple definition of `rand16seed'

sketch/lib8tion.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise16_raw(unsigned long, unsigned long, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise16(unsigned long, unsigned long, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise16_raw(unsigned long, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise16(unsigned long, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise16_raw(unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise16(unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise8_raw(unsigned int, unsigned int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise8(unsigned int, unsigned int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise8_raw(unsigned int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise8(unsigned int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise8_raw(unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `inoise8(unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_noise8(unsigned char*, unsigned char, unsigned char, unsigned int, int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_noise16into8(unsigned char*, unsigned char, unsigned char, unsigned long, int, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_noise8(CRGB*, int, unsigned char, unsigned int, int, unsigned char, unsigned int, int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_noise16(CRGB*, int, unsigned char, unsigned int, int, unsigned char, unsigned int, int, unsigned int, unsigned char)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_2dnoise8(unsigned char*, int, int, unsigned char, q<unsigned char, 4, 4>, unsigned char, int, unsigned int, int, unsigned int, int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_2dnoise8(unsigned char*, int, int, unsigned char, unsigned int, int, unsigned int, int, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_2dnoise8(CRGB*, int, int, bool, unsigned char, unsigned int, int, unsigned int, int, unsigned int, unsigned char, unsigned int, int, unsigned int, unsigned int, unsigned int, bool)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_2dnoise16(unsigned int*, int, int, unsigned char, q<unsigned int, 8, 8>, unsigned int, int, unsigned long, int, unsigned long, int, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_2dnoise16into8(unsigned char*, int, int, unsigned char, q<unsigned char, 4, 4>, unsigned char, int, unsigned long, int, unsigned long, int, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_raw_2dnoise16into8(unsigned char*, int, int, unsigned char, unsigned long, int, unsigned long, int, unsigned long)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `fill_2dnoise16(CRGB*, int, int, bool, unsigned char, unsigned long, int, unsigned long, int, unsigned long, unsigned char, unsigned int, int, unsigned int, unsigned int, unsigned int, bool, unsigned int)'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `nmax'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/noise.cpp.o (symbol from plugin): In function `inoise16_raw(unsigned long, unsigned long, unsigned long)':

(.text+0x0): multiple definition of `nmin'

sketch/noise.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `calculate_unscaled_power_mW(CRGB const*, unsigned int)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `calculate_max_brightness_for_power_mW(CRGB const*, unsigned int, unsigned char, unsigned long)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `calculate_max_brightness_for_power_vmA(CRGB const*, unsigned int, unsigned char, unsigned long, unsigned long)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `set_max_power_indicator_LED(unsigned char)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `set_max_power_in_volts_and_milliamps(unsigned char, unsigned long)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `set_max_power_in_milliwatts(unsigned long)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `show_at_max_brightness_for_power()'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

libraries/FastLED/power_mgt.cpp.o (symbol from plugin): In function `calculate_max_brightness_for_power_mW(unsigned char, unsigned long)':

(.text+0x0): multiple definition of `delay_at_max_brightness_for_power(unsigned int)'

sketch/power_mgt.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2: error: ld returned 1 exit status

exit status 1

Error compiling for board Arduino/Genuino Uno.

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

I'm working on this now, but I want it to be portable to bring to a party.

I have all the pieces except the DC Power Jack Adapters and the 5V/10A DC Power Supply. What would you suggest I get to power the bulbs? I already a 9v battery powering the Arduino... Would a 9v battery be enough to power those bulbs?

2 replies

No, a 9V battery won't supply ample power to power this for too long. The 5V 10A Power Supply would be needed for sure to allow this to run for a while.

I was looking into this also. I really don't know much but from my research, it looks like it can be done and you will need some kind of battery pack but you will have to figure out the voltage and watts and all that other stuff. I decided to just go with a wall plug. It was easier.

For the led lights series WS28XX (WS2812b, WS2812, WS2811) if you look into the clear plastic you will see a arrowhead this is the direction the data travels so start on the end that has the female JST connector or the start of the flow. You need to COMBINE RESISTORS IN SERIES to get the 370 OHMS required by the maker of you lights or use 1 correct value if you have it in the required value. Now you can use adjustable pots (trim pots) as well buy the cheap flat ones they take less real estate on your pcb when you place all this in a project box to make it look nice and neat. I used a 12V dc battery pack from Amazon.com with the jack that hooks up to the batteries this way I power the arduino and my lights. I have this product ( https://www.amazon.com/gp/product/B000LFRTIK/ref=ox_sc_sfl_title_10?ie=UTF8&psc=1&smid=A3RILTC05JZ5YH, https://www.amazon.com/gp/product/B01AXIEDX8/ref=ox_sc_sfl_title_11?ie=UTF8&psc=1&smid=A2VN47FGA6FR8 ) I have this set (https://www.amazon.com/gp/product/B017D711IC/ref=ox_sc_sfl_title_5?ie=UTF8&psc=1&smid=A34SBYVFQXAXO2) . So this may be different for Black, Green, Green/Yellow wires. I do not know as of yet. I ordered 6 sets of 500 in each of the wire colors they arrive Tuesday 10/10/2017. Now only if Amazon did not take my shipping cost again and deliver late. But any how back to this tip. I will know more when my WS2811 arrive. I ordered them to build some Christmas outdoor decorations and some Halloween and Easter decorations. I will try to make Instructables on them but I need some help please. This is the first time I am using the WS2811 lights ever I normally use regular RGB Led's and make my own strings of whatever I need. Now I need to know of a program if any that has a rainbow fade effect to go between a pre selected color pallet, A random rainbow fade and or blink code and then one that is just solid colors in one shade with pastel colors I could use for the Easter decorations. If there is maybe a meteor shower code or a music effects code to work with the strings that would just be the perfect solution to all I need. I do not know of any of this that will work with the IC in the strings I have not researched them enough yet I only seen them for the first time last Wednesday night 10/04/2017 when I was researching Holloween items. I love this web site seriously love it. I seen this build ( https://www.instructables.com/id/Jack-o-LEDtrix/). BTW NICE JOB ON THIS INSTRUCTABLES Very well put together I only hope my decorations instructables will be half as good. I am stil editing my 3000 man hours build with videos for my ALICE:RED QUEEN build I made. That may take 2 years just to get it ready to make A instructables out of it LOL....any how it is at the stage of me building the PCB for it and assembling prototype boards to test the software I frankensteined together... I will be making this build also for a birthday party for my nephew next Saturday 10/14/2017 when I have my orders off AMAZON.COM I will post pictures and comments with twitter and facebook comments from the guests at the party. It is amazing how people react that know you your entire life and just find out you know how to do this type of stuff. PS I can not wait to get any code for music to make a mock up christmas of easter display PLEASE help out a fellow newbie programmer/coder/software engineer pre K ARDUINO EST. I tank any and all of you for any help you may lend or offer to me with this question.

Another newbie question here. Since the WS2811 lights I ordered are 5v, can i just wire the power to the 5v pin on the Arduino, the power the Arduino, thus turning the whole thing on with one power supply?

Hi, my light strip has 3 wires. 12v, DI (Data ?) and Ground. What do I do with the wires here. Sorry total newbie.

1 reply

Hi Dan. You have it correct. If your wires are colored the same that mine are, blue is ground, white is data (DI), and red is power (12v). The diagram on step 2 does a really good job of explaining how to connect things. On the Arduino end of the lights, make a connection from the data wire to the #6 pin (I had to use a piece of stripped wire to do this) and connect the ground wire to a ground pin (again use a piece of stripped wire) on the arduino (I don't think it matters which one). Don't worry about the power wire on the arduino end of the lights. On the other end of the lights, you will be connecting the power for the lights. Use the two hanging free wires to connect to the power. Ground should go to the negative (-) on the power connector and the 12v should go to the positive connector (+). Make sure your connections are secure. Mine were wiggly at first and I had problems but then I figured out that I had to secure everything. I'm pretty much a noob at this too but I got it figured out and we are up and running. I'm feeling pretty proud of myself.

Let me know how I can help you.

I just did this project and here is my code, kinda mix of a few others...

https://gist.github.com/byrontn/04cbe55e95603babfc12befe72045290

7 replies

I moved to a new github account and my old link was removed. Here is the my code again. https://gist.github.com/ravenbyron/a8a09d368290158...

I put colored caps on the led's so they looked like big bulbs so I did not need to do multiple colors. You will also need to update the arrays with where the letters are on your led strand.

Thanks for the update.

I noticed the #include Hashmap.h . I'm guessing this is the library your referring to... link.

I also noticed that on line 80, you don't precede that line with something like "myleds[25] = 0;//Z".

I'm not a programmer so I don't know if this is intentional or something that was left out. I know enough to make small changes and modifications but other than that, I couldn't write code if my life depended on it.

I also discovered that Hashmap doesn't seem to work as is from the download above. You have to go into Hashmap.h and change Wprogram.h to Arduino.h then the program verifies successfully. Now to really test it out.

I used your code and for some reason every time there is a space in my phrase, it finishes the word prior to the space just fine.....pauses....and then displays the last letter of the word before the space again and then continues on as it should... Any ideas?

#include <FastLED.h>

#include <HashMap.h>

#define DATA_PIN 6 //this is the data pin connected to the LED strip. If using WS2801 you also need a clock pin

#define NUM_LEDS 100 //change this for the number of LEDs in the strip

#define COLOR_ORDER RGB

CRGB leds[NUM_LEDS];

CRGB colors[5];

int myleds[25];

int last_letter = 0;

CRGB white = CRGB(255,255,255);

CRGB red = CRGB (255, 0, 0);

CRGB green = CRGB (0, 255, 0);

CRGB blue = CRGB(0, 0, 255);

CRGB off = CRGB(0, 0, 0);

const byte HASH_SIZE = 28;

HashType<char,int> hashRawArray[HASH_SIZE];

HashMap<char,int> charToLed = HashMap<char,int>( hashRawArray , HASH_SIZE );

void setup() {

FastLED.addLeds<WS2811, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS); //setting up the FastLED

randomSeed(analogRead(0)); //seeding my random numbers to make it more random.

myleds[0] = 4;//A

charToLed[0]('a',4);

myleds[1] = 7;//B

charToLed[1]('b',7);

myleds[2] = 10;//C

charToLed[2]('c',10);

myleds[3] = 12;//D

charToLed[3]('d',12);

myleds[4] = 15;//E

charToLed[4]('e',15);

myleds[5] = 18;//F

charToLed[5]('f',18);

myleds[6] = 22;//G

charToLed[6]('g',22);

myleds[7] = 24;//H

charToLed[7]('h',24);

myleds[8] = 63;//I

charToLed[8]('i',63);

myleds[9] = 59;//J

charToLed[9]('j',59);

myleds[10] = 55;//K

charToLed[10]('k',55);

myleds[11] = 53;//L

charToLed[11]('l',53);

myleds[12] = 50;//M

charToLed[12]('m',50);

myleds[13] = 49;//N

charToLed[13]('n',49);

myleds[14] = 45;//O

charToLed[14]('o',45);

myleds[15] = 42;//P

charToLed[15]('p',42);

myleds[16] = 38;//Q

charToLed[16]('q',38);

myleds[17] = 71;//R

charToLed[17]('r',71);

myleds[18] = 74;//S

charToLed[18]('s',74);

myleds[19] = 76;//T

charToLed[19]('t',76);

myleds[20] = 79;//U

charToLed[20]('u',79);

myleds[21] = 82;//V

charToLed[21]('v',82);

myleds[22] = 85;//W

charToLed[22]('w',85);

myleds[23] = 88;//X

charToLed[23]('x',88);

myleds[24] = 90;//Y

charToLed[24]('y',90);

charToLed[25]('z',94);

colors[0] = white;

colors[1] = red;

colors[2] = green;

colors[3] = blue;

colors[4] = off;

reset();

abcs();

}

void loop() {

//myrandomizer(60);

type("there is only zuul");

//myrandomizer(60);

type("merry christmas");

//myrandomizer(60);

type("i will get you");

//myrandomizer(60);

type("happy hanukkah");

//myrandomizer(60);

type("spank me");

//myrandomizer(60);

type("tis the season");

}

void myrandomizer(int timesec) {

reset();

int loops = timesec * 20;

for (int i = 0; i <= loops; i++) {

int id = random(0, 25);

int l = myleds[id];

leds[l] = randomColor();

FastLED.show();

delay(50);

}

reset();

}

void abcs() {

for (int i = 0; i < 25; i++) {

int t = myleds[i];

leds[t] = white;

FastLED.show();

delay(250);

}

delay(10);

}

CRGB randomColor() {

int t = random(4);

return colors[t];

}

void reset() {

for (int x = 0; x < NUM_LEDS; x++) {

leds[x] = off;

}

FastLED.show();

last_letter = 0;

}

void displayLetter(char letter) {

if(isWhitespace(letter)){

last_letter = 0;

delay(2000);

}

int lednum = charToLed.getValueOf(letter);

if(lednum >= 0 && lednum <= 99) {

if(last_letter == lednum){

delay(2000);

}

leds[lednum] = white;

FastLED.show();

last_letter = lednum;

delay(2000);

leds[lednum] = off;

FastLED.show();

}

}

void type(String message){

reset();

message.toLowerCase();

for(int i =0; i< message.length();i++){

displayLetter(message[i]);

}

reset();

}

Not sure it worked great for me, maybe try commenting out the toLower() line...

This project is great...so I'm trying to create my own version. Basically, I have a linear string of 37 LEDs with the intent to have a place for A-Z, a space, and 0-9 all represented. I've tried to modify several existing codes but to no avail. I'd love to be able to have it spell out different alphanumeric strings as well as run random lights, chases, flickering, etc; not to mention color variety. Any code help would be appreciated. Thanks!

0
None
KFull1

1 year ago

I keep getting an error code saying:

In file included from C:\Users\Lorraine\Desktop\ST\FOZHJ9WIUDWFP1W\FOZHJ9WIUDWFP1W.ino:3:0:

C:\Users\Lorraine\Documents\Arduino\libraries\HashMap/HashMap.h:33:22: fatal error: WProgram.h: No such file or directory

#include <WProgram.h>

I've seen things online saying that I need to change wprogram.h to arduino.h, but I have no idea where to do that. Please help!

Hey bxl4662. This was an amazing idea and you did a great job! I took this a bit further, and added a Raspberry Pi into the picture. The Pi runs a web interface where users can send their own messages to the arduino (to do this I had to wrote some functions to be able to dynamically generate the messages from strings, but I used some of your cool CHRISTMAS, and LOWREDUP effects!).


I'm still not 100% complete with everthing, but here's a functioning demo:


And my code:https://github.com/dfresh613/strangerLights

For anyone looking to dynamically create messages from strings (not have to setup every LED for every message), use my displayMessage() function!

1 reply

Thanks both for all your work! My first time playing with Arduino, and got it to work.

drfresh, can you send me a shopping list for raspberry pi components so I can learn how to add your functionality into the project? Thanks!