Firewalker sneaks
Moderators: adafruit_support_bill, adafruit

Firewalker sneaks

by lejaybo on Thu Dec 19, 2013 9:14 am

Hi,

so i've put together some firewalker sneaks and have been playing about with some scanner patterns

its scans from each end of the neopixel strip with random colours

http://youtu.be/aEvJsrg7IBg

Code: Select all | TOGGLE FULL SIZE
#include <Adafruit_NeoPixel.h>

#define N_LEDS 42 
#define PIN    12
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);

[color=#CC6600]int[/color] RED;
[color=#CC6600]int[/color] GRE;
[color=#CC6600]int[/color] BLU;
 
[color=#CC6600]void[/color] [color=#CC6600][b]setup[/b][/color]() {
  strip.[color=#CC6600]begin[/color]();
}

[color=#CC6600]int[/color] pos = 0, dir = 1; [color=#7E7E7E]// Position, direction of "eye"[/color]
[color=#CC6600]int[/color] pos2 = 41, dir2 = 1;

[color=#CC6600]void[/color] [color=#CC6600][b]loop[/b][/color]() {
  
  RED = [color=#CC6600]random[/color](255);
  GRE = [color=#CC6600]random[/color](255);
  BLU = [color=#CC6600]random[/color](255);
  
  [color=#CC6600]int[/color] j;
  [color=#7E7E7E]// Draw 5 pixels centered on pos.  setPixelColor() will clip any[/color]
  [color=#7E7E7E]// pixels off the ends of the strip, we don't need to watch for that.[/color]
  strip.setPixelColor(pos - 2, RED, GRE, BLU); [color=#7E7E7E]// Dark red[/color]
  strip.setPixelColor(pos - 1, RED, GRE, BLU); [color=#7E7E7E]// Medium red[/color]
  strip.setPixelColor(pos    , RED, GRE, BLU); [color=#7E7E7E]// Center pixel is brightest[/color]
  strip.setPixelColor(pos + 1, RED, GRE, BLU); [color=#7E7E7E]// Medium red[/color]
  strip.setPixelColor(pos + 2, RED, GRE, BLU); [color=#7E7E7E]// Dark red[/color]
  
  strip.setPixelColor(pos2 + 2, RED, GRE, BLU); [color=#7E7E7E]// Dark red[/color]
  strip.setPixelColor(pos2 + 1, RED, GRE, BLU); [color=#7E7E7E]// Medium red[/color]
  strip.setPixelColor(pos2    , RED, GRE, BLU); [color=#7E7E7E]// Center pixel is brightest[/color]
  strip.setPixelColor(pos2 - 1, RED, GRE, BLU); [color=#7E7E7E]// Medium red[/color]
  strip.setPixelColor(pos2 - 2, RED, GRE, BLU); [color=#7E7E7E]// Dark red[/color]
    
  strip.show();
  [color=#CC6600]delay[/color](60);
 
  [color=#7E7E7E]// Rather than being sneaky and erasing just the tail pixel,[/color]
  [color=#7E7E7E]// it's easier to erase it all and draw a new one next time.[/color]
  [color=#CC6600]for[/color](j=-2; j<= 2; j++) strip.setPixelColor(pos+j, 0);
  [color=#CC6600]for[/color](j=-2; j<= 2; j++) strip.setPixelColor(pos2+j, 0);
 
  [color=#7E7E7E]// Bounce off ends of strip[/color]
  pos += dir;
  [color=#CC6600]if[/color](pos < 0) {
    pos = 1;
    dir = -dir;
  } [color=#CC6600]else[/color] [color=#CC6600]if[/color](pos >= strip.numPixels()) {
    pos = strip.numPixels() - 2;
    dir = -dir;
  }
  pos2 += dir2;
  [color=#CC6600]if[/color](pos2 < 0) {
    pos2 = 1;
    dir2 = -dir2;
  } [color=#CC6600]else[/color] [color=#CC6600]if[/color](pos2 >= strip.numPixels()) {
    pos2 = strip.numPixels() - 2;
    dir2 = -dir2;
  }
}


lejaybo
 
Posts: 28
Joined: Fri Aug 30, 2013 9:08 am

Re: Firewalker sneaks

by adafruit_support_bill on Thu Dec 19, 2013 9:36 am

Cool! Thanks for posting. :D
User avatar
adafruit_support_bill
 
Posts: 29028
Joined: Sat Feb 07, 2009 9:11 am