FINAL PRESENTATION
It is known that kids’ costumes are more fun than adults. Since it was my first time walking in the NYC Halloween Parade, I wanted to make something that stands out and fits my personality perfectly.
For my costume, I decided to put the NeoPixels inside the clouds to create a diffused and colorful effect as if there’s a party inside the cloud; and I’m the cloud 🙂
The pool noddles were weaved to each other with white tulle to create a curved structure and with the same tool, I created to shoulder straps similar to those on a backpack, and then across shoulder strap to support all of the weight of the rainbow.
I found it the hardest to put the rainbow together because hot glue melted the pool noodles (obviously, it’s foam), so after a few tries and weaving them with metallic string, I decided on tulle because it was the strongest fabric I had, and it worked! If I had to do this costume again, I would definitely like to find a better solution to the noodle weaving and the strap positioning.
I’m extremely happy with the outcome of the costume and very excited to participate in the next Halloween parade.
PROGRESS PHOTOS
SKETCHES
INSPIRATION
Made by: mkite25
MATERIALS
- Pool noodles (red, orange, yellow, blue and green)
- White tulle
- Cotton stuffing (pasted it with hot glue)
- Cardboard and wire (cloud skirt)
- 9 NeoPixels
- Gemma M0
- Lithium Ion Battery – 3.7V 1200mAh
CIRCUIT DIAGRAM
ARDUINO CODE
#include <Adafruit_NeoPixel.h>
#define PIN 1 // On Trinket or Gemma, suggest changing this to 1
#define NUMPIXELS 9
#define DELAYVAL 500 // Time (in milliseconds) to pause between pixels
//Color list. Format: ...{R,G,B},{R,G,B}...
const int colors[][3] = {{255,0,0},{220,143,7},{255,255,51},{0,255,0},{0,0,255},{128,0,128},{0,255,255}};
//Number of possible colors. If there are more colors to be added, change this number to 6 and so on.
const int numberOfColors = 7;
//Min of LEDs on at the same time.
const int minLedsOn = 4;
//Max of LEDs on at the same time.
const int maxLedsOn = 8;
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // Initializes Neopixel strip
pixels.show(); //turns off lights
pixels.setBrightness(50); //Brightness to 50. 1/5 of maximum (255)
}
void loop() {
pixels.clear(); // Turns off neos
int ledsToTurnOn = random(minLedsOn,maxLedsOn);
for(int i =0; i<ledsToTurnOn; i++){
int ledIndex = random(0,NUMPIXELS);
int randomColor = random(0,numberOfColors);
int r = colors[randomColor][0];
int g = colors[randomColor][1];
int b = colors[randomColor][2];
pixels.setPixelColor(ledIndex,pixels.Color(r,g,b));
}
pixels.show();
//time delay before turning neos off (in milliseconds). 1000 = 1 second.
delay(300);
}
THANK YOU FOR READING 🙂