WorkshopNeoPixels

From SkullSpace Wiki
Revision as of 03:02, 3 January 2016 by Edwin (talk | contribs) (Write out most of the guide)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Here we're going to be playing with WS2812 red+green+blue digital LEDs which AdaFruit calls NeoPixels by controlling them with an Arduino. They can be strung together into long chains so you can use them for signs, fancy Christmas lights, or anything else fun that might need changing lights or precise colours. Most of the hard stuff is handled in software for us, so this will be more of an Arduino and programming workshop that interfaces with the physical world.

Required Supplies

  • Arduino-compatible microcontroller
  • Laptop with the Arduino IDE installed (see this page for details)
  • USB cable to connect the Laptop to the Arduino
  • A good attitude :D

Kit Contents

  • Three NeoPixels soldered to female headers
  • Male to male jumper wires to connect them to the Arduino

Pre-class Preparation

These lights need very precise timing to talk to them making it tricky to program. Because of that, we're going to use an Arduino library from AdaFruit to do all the hard work for us. That way we can just spend time doing awesome things with them. Instructions on installing and using that library are found here, so get that installed and if you like to be prepared give the rest of that page a read. It'll give you a huge leg up and an in-depth look at what we'll be doing in this workshop.

If you're not familiar with basic circuits, that's okay. There is magic here, but it's not needed for the class. There is a great article over at SparkFun that you can read if you're curious.

In-class work

Because we're using only three NeoPixels, the Arduino and your computer's USB port can give us all the power we need. The only physical part of this workshop is hooking the outputs of the Arduino to the inputs of the NeoPixels. You'll see that the LEDs in the kits come with wires attached, and that the ribbon is labelled GND, DI, and +5v. Those need to be wired to the 5v, Gnd and "Analog In 0" of the Arduino. That should give us the power and data we need to get onto the software part.

I'm going to take a break writing for now, but more will be available by Tuesday, January 5th, 2016.