Xiaohan’s Halloween Costume

Fox Spirit

My costume consists a skirt, a fox mask and a fan with Neo pixel lights.

Progress

The first three pictures are the ideas about the outfit and how the lights are set up. And the two on the bottom are the references.

Diagram

In the end of the process, I attached the Neo pixel to a traditional Chinese fan to show a beauty of Chinese culture.

Materials and Tools Used

Fabric/ Paper/ Arduino software/ Soldering Station/ Silicone wire/ Neo Pixel

Reflection

The whole process is challenging but really fun. I really like that we have this opportunity to make a halloween costume. This is the first time I went to a parade, and it is amazing. I first settled down with the outfit idea, and started to make a circuit, then put the circuit onto the costume. My costume is pretty comfortable to wear, and I realized the more LED you have on your costume, the greater attention you will get from the audience. I am glad that we elaborate LED into our costume.

Code

// A basic everyday NeoPixel strip test program.

// NEOPIXEL BEST PRACTICES for most reliable operation:
// – Add 1000 uF CAPACITOR between NeoPixel strip’s + and – connections.
// – MINIMIZE WIRING LENGTH between microcontroller board and first pixel.
// – NeoPixel strip’s DATA-IN should pass through a 300-500 OHM RESISTOR.
// – AVOID connecting NeoPixels on a LIVE CIRCUIT. If you must, ALWAYS
// connect GROUND (-) first, then +, then data.
// – When using a 3.3V microcontroller with a 5V-powered NeoPixel strip,
// a LOGIC-LEVEL CONVERTER on the data line is STRONGLY RECOMMENDED.
// (Skipping these may work OK on your workbench but can fail in the field)

include

ifdef AVR

#include // Required for 16 MHz Adafruit Trinket

endif

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1:

define LED_PIN 1

// How many NeoPixels are attached to the Arduino?

define LED_COUNT 60

// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic ‘v1’ (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

// setup() function — runs once at startup ——————————–

void setup() {
// These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
// Any other board, you can remove this part (but no harm leaving it):

if defined(AVR_ATtiny85) && (F_CPU == 16000000)

clock_prescale_set(clock_div_1);

endif

// END of Trinket-specific code.

strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
strip.show(); // Turn OFF all pixels ASAP
strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255)
}

// loop() function — runs repeatedly as long as board is on —————

void loop() {
// Fill along the length of the strip in various colors…
colorWipe(strip.Color(255, 0, 0), 50); // Red
colorWipe(strip.Color( 0, 255, 0), 10); // Green
colorWipe(strip.Color( 0, 0, 255), 50); // Blue

// Do a theater marquee effect in various colors…
// theaterChase(strip.Color(127, 127, 127), 50); // White, half brightness
// theaterChase(strip.Color(127, 0, 0), 50); // Red, half brightness
// theaterChase(strip.Color( 0, 0, 127), 50); // Blue, half brightness
//
// rainbow(10); // Flowing rainbow cycle along the whole strip
// theaterChaseRainbow(50); // Rainbow-enhanced theaterChase variant
}

// Some functions of our own for creating animated effects —————–

// Fill strip pixels one after another with a color. Strip is NOT cleared
// first; anything there will be covered pixel by pixel. Pass in color
// (as a single ‘packed’ 32-bit value, which you can get by calling
// strip.Color(red, green, blue) as shown in the loop() function above),
// and a delay time (in milliseconds) between pixels.
void colorWipe(uint32_t color, int wait) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip…
strip.setPixelColor(i, color); // Set pixel’s color (in RAM)
strip.show(); // Update strip to match
delay(wait); // Pause for a moment
}
}

// Theater-marquee-style chasing lights. Pass in a color (32-bit value,
// a la strip.Color(r,g,b) as mentioned above), and a delay time (in ms)
// between frames.
void theaterChase(uint32_t color, int wait) {
for(int a=0; a<10; a++) { // Repeat 10 times…
for(int b=0; b<3; b++) { // ‘b’ counts from 0 to 2…
strip.clear(); // Set all pixels in RAM to 0 (off)
// ‘c’ counts up from ‘b’ to end of strip in steps of 3…
for(int c=b; c<strip.numPixels(); c += 3) {
strip.setPixelColor(c, color); // Set pixel ‘c’ to value ‘color’
}
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
}
}
}

// Rainbow cycle along whole strip. Pass delay time (in ms) between frames.
void rainbow(int wait) {
// Hue of first pixel runs 5 complete loops through the color wheel.
// Color wheel has a range of 65536 but it’s OK if we roll over, so
// just count from 0 to 565536. Adding 256 to firstPixelHue each time // means we’ll make 565536/256 = 1280 passes through this outer loop:
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip…
// Offset pixel hue by an amount to make one full revolution of the
// color wheel (range of 65536) along the length of the strip
// (strip.numPixels() steps):
int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
// strip.ColorHSV() can take 1 or 3 arguments: a hue (0 to 65535) or
// optionally add saturation and value (brightness) (each 0 to 255).
// Here we’re using just the single-argument hue variant. The result
// is passed through strip.gamma32() to provide ‘truer’ colors
// before assigning to each pixel:
strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
}
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
}
}

// Rainbow-enhanced theater marquee. Pass delay time (in ms) between frames.
void theaterChaseRainbow(int wait) {
int firstPixelHue = 0; // First pixel starts at red (hue 0)
for(int a=0; a<30; a++) { // Repeat 30 times… for(int b=0; b<3; b++) { // ‘b’ counts from 0 to 2… strip.clear(); // Set all pixels in RAM to 0 (off) // ‘c’ counts up from ‘b’ to end of strip in increments of 3… for(int c=b; c RGB
strip.setPixelColor(c, color); // Set pixel ‘c’ to value ‘color’
}
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames
}
}
}

Princess Anastasia Halloween Costume

My Princess Anastasia costume is inspired by Disney’s 1997 rendition of the tale of the lost Princess Anastasia of the Romanov Dynasty. During this film, there is a scene where the Princess and her companions are trying to arrange for the Princess to meet with the Dowager Queen to reveal the true identity of the missing Princess. This scene is the climax of the movie, as it sets into motion the falling action of the tale, which results in the Princess and the Dowager Queen being reunited after being separated for so many years.

This movie is one of my favorite childhood memories, and so I have decided to attempt to live out one of my childhood dreams by being Princess Anastasia (from this scene) complete with a LED and crystal tiara, white opera gloves, and a scepter (which the Princess is never actually pictured with, but I could not resist!).

Making the LED tiara, I learned that soldering small sequin LEDs into a tiara is much more difficult than it seems. Though my circuit is very straight forward, the small space in which I needed to solder all of the wires accurately, to not create a short circuit, was quite the challenge. I learned how to test for short circuits using a micrometer and got tons of practice soldering, which I found quite relaxing, and rewarding once the short circuits were rectified. Next time I make a LED tiara, I will choose to make a bigger one for the sake of soldering circuits!

Final Photo

Inspiration Photos/Links

Image result for anastasia 1997 dress"
Image result for anastasia 1997 dress"
Image result for anastasia 1997 tiara"

https://www.imdb.com/title/tt0118617/

Materials and Tools

Materials used for the LED Tiara include: solid wire, Neopixel individual LEDs, solder, soldering iron, hot glue, Arduino Gemma, Lithium Ion battery (5V), hair pins, and black girl magic.

In-Progress Photos

Soldered to Arduino Gemma and lithium ion battery instead of the featured coin cell battery.

Code

#include <Adafruit_NeoPixel.h> 

#define LED_PIN 1
 
#define LED_COUNT 4
 
#define BRIGHTNESS 50
 
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
//   NEO_RGBW    Pixels are wired for RGBW bitstream (NeoPixel RGBW products)

void setup() {
  
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif

  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
  strip.show();            // Turn OFF all pixels ASAP
  strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255)
}



void loop() {
  // Fill along the length of the strip in various colors...
  colorWipe(strip.Color(255,   0,   0), 50); // Red
  colorWipe(strip.Color(  0, 255,   0), 50); // Green
  colorWipe(strip.Color(  0,   0, 255), 50); // Blue

  // Do a theater marquee effect in various colors...
  theaterChase(strip.Color(127, 127, 127), 50); // White, half brightness
  theaterChase(strip.Color(127,   0,   0), 50); // Red, half brightness
  theaterChase(strip.Color(  0,   0, 127), 50); // Blue, half brightness

  rainbow(10);             // Flowing rainbow cycle along the whole strip
  theaterChaseRainbow(50); // Rainbow-enhanced theaterChase variant
}




void colorWipe(uint32_t color, int wait) {
  for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
    strip.setPixelColor(i, color);         //  Set pixel's color (in RAM)
    strip.show();                          //  Update strip to match
    delay(wait);                           //  Pause for a moment
  }
}

// Theater-marquee-style chasing lights. Pass in a color (32-bit value,
// a la strip.Color(r,g,b) as mentioned above), and a delay time (in ms)
// between frames.
void theaterChase(uint32_t color, int wait) {
  for(int a=0; a<10; a++) {  // Repeat 10 times...
    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
      strip.clear();         //   Set all pixels in RAM to 0 (off)
      // 'c' counts up from 'b' to end of strip in steps of 3...
      for(int c=b; c<strip.numPixels(); c += 3) {
        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
      }
      strip.show(); // Update strip with new contents
      delay(wait);  // Pause for a moment
    }
  }
}

// Rainbow cycle along whole strip. Pass delay time (in ms) between frames.
void rainbow(int wait) {
  // Hue of first pixel runs 5 complete loops through the color wheel.
  // Color wheel has a range of 65536 but it's OK if we roll over, so
  // just count from 0 to 5*65536. Adding 256 to firstPixelHue each time
  // means we'll make 5*65536/256 = 1280 passes through this outer loop:
  for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
    for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
      // Offset pixel hue by an amount to make one full revolution of the
      // color wheel (range of 65536) along the length of the strip
      // (strip.numPixels() steps):
      int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
      // strip.ColorHSV() can take 1 or 3 arguments: a hue (0 to 65535) or
      // optionally add saturation and value (brightness) (each 0 to 255).
      // Here we're using just the single-argument hue variant. The result
      // is passed through strip.gamma32() to provide 'truer' colors
      // before assigning to each pixel:
      strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
    }
    strip.show(); // Update strip with new contents
    delay(wait);  // Pause for a moment
  }
}

// Rainbow-enhanced theater marquee. Pass delay time (in ms) between frames.
void theaterChaseRainbow(int wait) {
  int firstPixelHue = 0;     // First pixel starts at red (hue 0)
  for(int a=0; a<30; a++) {  // Repeat 30 times...
    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
      strip.clear();         //   Set all pixels in RAM to 0 (off)
      // 'c' counts up from 'b' to end of strip in increments of 3...
      for(int c=b; c<strip.numPixels(); c += 3) {
        // hue of pixel 'c' is offset by an amount to make one full
        // revolution of the color wheel (range 65536) along the length
        // of the strip (strip.numPixels() steps):
        int      hue   = firstPixelHue + c * 65536L / strip.numPixels();
        uint32_t color = strip.gamma32(strip.ColorHSV(hue)); // hue -> RGB
        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
      }
      strip.show();                // Update strip with new contents
      delay(wait);                 // Pause for a moment
      firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames
    }
  }
}

Siddhant’s Raiden Halloween Costume

Raiden is a video game character in the Mortal Kombat fighting game series. Based on the Japanese thunder god, Raijin, and portrayed in the series canon as the thunder god and appointed protector of Earthrealm, Raiden defends the planet from myriad otherworldly threats alongside his handpicked warriors. He commands many supernatural abilities such as teleportation, flight, and control of the elements.

Being a Mortal Kombat fan since childhood and Raiden being by favorite chracter I decided to make a costume that would be pretty similar to his. His thundering eyes and his orb that he uses as a weapon were my main goal to achieve. I ordered the costume from wallmart and concentrated on making his Thundering eyes and orb.

INSPIRATION

IDEATION AND SKETCHING

PROTOTYPE

Process Photos

Raidens’s Orb

This orb uses a capacitve sensor which is a copper wire, so whenever someone touches the wire the orb lights up.

Material:

Plastic christmas decoration for the orb

Mask

20 piece SMD leds Blue

1 strip of neopixel leds

“Lumos” Magical Wand – Wen’s Halloween Costume

Final Photos and Video

How does the wand work?

Process Photo and Video

  1. Bread Board Prototype
Try Different Vibration Sensors on Bread Board
Solder the successful wiring to the Gemma Board

2. Attached Components to the Wand

Sketches and Inspiration Photo

Sketches
Inspiration Photo

List of Materials and Tools Used

Solder set, Gemma Board, Bread Board, LED, Wires, Wire Cutters, Wood Sticks, Tapes, Hot Guns, Hot Glue, Fabrics.

Circuit Diagram

Code

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}

void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if (buttonState == LOW) {
// turn LED on:
digitalWrite(ledPin, HIGH);
Serial.println(“switch has been triggered”);
delay(5000);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
//Serial.println(“switch has been off”);
}
}

My Thinking

It was a very interesting experience making a wand that can simulate the special effect in the Harry Potter Movies, I just need to wave the wand, the LED will light up, which is very similar to the “Lumos” spell in the movies. If i can make it the next time, i will make a 3D printing LED diffusor so that the light will diffuse wider so the effect will be more beautiful.

And if it is possible, i will try to use 3d printed mold to cast a resin wand, which is able to hide everything perfectly.

Virginia’s Halloween Costume

For my halloween costume I created a fortune teller outfit. I crafted a crystal ball out of a glass orb, brass fixture, wooden base, and vinyl printed sorcery material. The crystal ball cycled between blue and green, when the button below the base was selected a color was selected depending on where it was in the cycle. This process had a feeling of fate, which is how I helped to tell fortunes. Wearing this costume felt powerful and mystical, holding all of the world’s fate in my hands. If I had to do this again I would make my headpiece glow.

Process photos:

https://photos.app.goo.gl/eePKZB1qpPHLZb6n8

Inspiration Links:

List of Materials:

  • Wooden base
  • Vinyl prints of ouija board and tarot cards
  • glass globe
  • NeoPixel strip of 8 LEDs
  • button
  • headband
  • cardboard
  • spray paint
  • cape

Final Photo:

https://photos.app.goo.gl/BQVUYj47283Vxzor5

#include;

#define PIN 1

#define NUM_LEDS 8

#define BRIGHTNESS 50

// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_RGB Pixels are wired for RGB bitstream
// NEO_GRB Pixels are wired for GRB bitstream, correct if colors are swapped upon testing
// NEO_RGBW Pixels are wired for RGBW bitstream
// NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels)
// NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip), correct for neopixel stick
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRBW + NEO_KHZ800);

void setup() {
strip.setBrightness(BRIGHTNESS);
strip.begin();
strip.show(); // Initialize all pixels to ‘off’
}

// my first NeoPixel animation
void loop() {
// Modified procedures showing how to display to the pixels:

// turn LED on:
Serial.print("HIGH");

colorWipe(strip.Color(0, 0, 255), 50); // Green
colorWipe(strip.Color(0, 255,0), 50); // Green

}

// 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);
}
}

Virginia’s Fortune Teller Costume

For my halloween costume I am creating a mystic fortune teller look where I carry around an all seeing crystal ball. This ball lights up green and blue and when the button is pressed the colors stop switching, this action will tell your fortune.

The base of the crystal ball is covered with a ouija board and tarot cards. My head and tights adorn stars and moons.

Continue reading “Virginia’s Fortune Teller Costume”

PIXEL COSTUME~

Danica+Baoqi

Our costume is inspired by the game Minecraft, and we will appear in the Halloween parade as two pixelated characters, one with an axe and one with a torch. 

The cube is going to cover our head, upper body part and arms. 

The first pixel girl with the axe has the block sequence around her(or in the other hand), she uses the axe to shut down the block by hitting the axe to the block. We intend to use a hidden switch to trigger this action. 

And the top of the torch in the hand of the pixel holding the torch presents the shape of wave, visually represents the shape of the flame, and has a built-in light string. 

our structure sketch of the torch
the character sketch
some details

Material(possible): Corrugated plastic sheet/ painting/ sticker(pixel patterns)/ boxes

size 12*12

use Wide Format Vinyl Printer & Cutter to print the pattern