Giter Club home page Giter Club logo

stranger-things-lights's Introduction

Halloween 2016 Costume Code

Stranger Things Christmas Trees Lights WS2811+Arduino Halloween Costume

example gif

Why? Because Stranger Things is an awesome show and the girlfriend wanted to do topical costumes (she went as Eleven). I couldn't pass up an opportunity to make something.

I'm posting my code here as a starting point for anyone out there wanting to get a jump start on making their own Stranger Things light display.

Inventory / Tips

  • Arduino

    I used the standard UNO but you'd be better off with the Pro Mini 5V (if you have an FTDI cable)

  • WS2811 LEDs

    I bought 100 WS2811 LEDs off Amazon. They come in two strings of 50 each. The WS2811 LEDs have three wires: data (white), +5V power (red), and ground (blue). For convenience, the WS2811 strings are terminated with JST connectors for data with an extra ground wire pre-soldered. The LED chip is labeled with a big arrow to indicate which direction to feed data into. Power should be connected every 50 LEDs or so (depending on your source). There is tons of info out there on WS2811s.

  • Portable USB charger battery

    I used a 2200mAh stick (5V 1.2A) I got free at a conference. The shirt lasted a few hours per charge. Arduinos are supposed to run on 7V - 12V but if you're not doing too much computationally and not using the Arduino's output voltage supplies, they will happily run on 5V. They're great, resilient little boards. If you start having weird issues with timing or LED behavior, it's most likely the power. Also if you edit the code, test the current draw from the supply so you don't rapidly discharge the battery and overheat it. I used a USB multimeter to ensure the light display wasn't pulling more current than the battery claimed it could maximally output. Caution: batteries can be dangerous.

  • Sacrificial USB cable, solder, heat shrink, tape, etc.

    You'll need to wire it all together somehow...

  • A shirt, fabric paint, and a metric ton of safety pins (or whatever you want to mount them too)

Setup

  • This is a FastLED based project (FastLED rocks! Thanks devs!). In order to have the preprocessor find the header file, you'll need to download and add the FastLED library .ZIP to your installed Arduino Sketch application by clicking 'Sketch' > 'Include Library' > 'Add .ZIP Library...'.

  • You'll need to change the ALPHA_OFFSET to the number of the LED that corresponds to Z. You may also have to totally change the letter ints to correspond to correct letter if you don't lay the lights out like I did.

  • The output to the LEDs is a PWM signal. I ran the two WS2811 strings in parallel with data connected to ports 5 and 6. (PWM ports are marked with a tilde ~ on the Arduino).

  • Wire it together however you want, but I'll explain what I did.

    The USB plug (from battery) was cut and the 5V (typically red but double check) was connected to the 5V power connectors on both LED strings (also red), and a scrap of wire (choose red) which was plugged into Vin on the Arduino. The USB ground was connected to the Arduino ground and the LED ground. Data was connected from the LED strings to Arduino pins 5 and 6.

wiring drawing

stranger-things-lights's People

Contributors

j-peterson avatar

Stargazers

Daniel R. Dugan avatar

Watchers

 avatar Daniel R. Dugan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.