Lightbow

I think, many people understand something different than I when they hear the word ‚lightbow‘.

This is, what I understand:

This is a violin bow with 30, individually adressable RGB-Pixels attached to it. It is controlled by an Arduino Pro Mini (5V, 16MHz) via a single wire protocol (exactly like the Adafruit Neopixels only much cheaper (17€/m on amazon, one time offer)).

You can find the sketch for the arduino here (on my github account 🙂 )

There are quite a few things to do, so feel free to fork the repo and do some pullrequests – the most important thing would be management of the different modes the bow has.

This part here

const int NUMBER_OF_FUNCTIONS = 10;
typedef void (* functionPointer) ();
functionPointer functionPointerArray[NUMBER_OF_FUNCTIONS];

[...]

  functionPointerArray[0] = ClearStrip;
  functionPointerArray[1] = SetStripWhite;
  functionPointerArray[2] = Flag;
  functionPointerArray[3] = SlowKitt;
  functionPointerArray[4] = FastKitt;
  functionPointerArray[5] = FastDisco;
  functionPointerArray[6] = FastWhiteStrobe;
  functionPointerArray[7] = FastPulse;
  functionPointerArray[8] = Rainbow;
  functionPointerArray[9] = FastForwardPacman;

is just plain ugly, I would have liked something like a vector of delegates, but I just couldn’t quite figure out how to do it yet 🙁

Edit: I replaced the functionPointerArray through a linked list from the LinkedList library, now it’s easy maintainable, huzzar!

Oh and here is a video of the different modes 🙂 (not all of them, though, I added a few after making this short video).