Things used in this project

Custom parts and enclosures

Utility belt: Battery holder
Holds a cylindrical 5V USB phone charger, with a slot for a thin belt. I wear one on each hip.
Utility belt: Triangle pocket
Holds a small controller (or your Almond Joy), with a slot for a thin belt. I wear these on either side of the center buckle.
Utility belt: Center
Has a slot for a thin belt, and also a secret storage spot where you can stash stuff from the back. Great for earplugs or other stuff you don't want to lose.

Code

Merlin Armor codeC/C++
Pulses bright, then dims down to 0.
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>
#endif

#define PIN 1 // digispark uses pin 1

Adafruit_NeoPixel strip = Adafruit_NeoPixel(9, PIN, NEO_GRB + NEO_KHZ800);


void setup() {
  strip.begin();
  strip.show(); 
}
void loop() {
 goUp();
 goDown();
}

void goUp() {

    for(int i=255; i>0; i++){
      int val = i - (i*10);
        colorWipe(strip.Color(0, val, val), 9);    
      }
  }


void goDown() {
    for(int i=0; i<255; i++){
      int val = i + (i*10);
        colorWipe(strip.Color(0, val, val), 9);     
      }
  }


// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i=0; i<strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}

void rainbow(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256; j++) {
    for(i=0; i<strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel((i+j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
    for(i=0; i< strip.numPixels(); i++) {
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    strip.show();
    delay(wait);
  }
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
  for (int j=0; j<10; j++) {  //do 10 cycles of chasing
    for (int q=0; q < 3; q++) {
      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, c);    //turn every third pixel on
      }
      strip.show();

      delay(wait);

      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
  for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
    for (int q=0; q < 3; q++) {
      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
      }
      strip.show();

      delay(wait);

      for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
        strip.setPixelColor(i+q, 0);        //turn every third pixel off
      }
    }
  }
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r - g - b - back to r.
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  }
  if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  }
  WheelPos -= 170;
  return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}

Credits

Tmp image 0?auto=compress%2cformat&w=60&h=60&fit=min
Alex Glow

The Hackster team's resident Hardware Nerd. I like robots, music, EEG, wearables, and languages. FIRST Robotics kid.

Contact

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Velo Bling-Bling
Advanced
  • 7,372
  • 151

Full instructions

LED lights for bicycle wheels. 16 multi color LEDs on both PCB sides. Displays images and dynamic info like speed. BLE and USB interface.

DooUcoffee Machine
Advanced
  • 1,617
  • 60

Work in progress

Internet of things in the world of coffee with Udoo - coffee machine 3.0 entirely managed by µController.

DooUcoffee Machine

Team DooUcoffee

FRDM-K82F Camera Based Parking Assistant
Advanced
  • 2,234
  • 33

Full instructions

Use Computer Vision to make a parking assistant that allows you to consistently park a car into your garage with perfect alignment.

Directional Motion-Detecting USB Web Cam Using a FRDM-K82F
Advanced
  • 2,449
  • 37

Full instructions

Use simple image processing and an image sensor to detect whether a person enters or leaves a room.

Apollo Guidance Computer Interface for Inertial Navigation
Advanced
  • 854
  • 17

A restructured approach to implementing the elegant Apollo DSKY interface for a digital inertial navigation and guidance system.

RFID Register
Advanced
  • 14,145
  • 57

Work in progress

Clock in and out of locations with Mifare RFID cards for an accurate register of movements on and off site locations.

RFID Register

Team Homeworld

ProjectsCommunitiesTopicsContestsLiveAppsBetaFree StoreBlogAdd projectSign up / Login