Jin’s halloween process—evil ratatouille

Why I made it:My Halloween costume named evil ratatouille, which is a character from the movie ratatouille named Colette Tatou(I’m sure you’ve all seen the movie before!) The reason for cos this character is because I really like the philosophy of this movie-everyone can cook.what is a coincidence that Zai and I came up with this idea at the same time(Her haircut is just like the Linguini, and mine is like Colette), so we decided to Cos them together.

How to Hold it: Two parts of my costume: Ratatouille and the chef jacket. You can just put on a chef’s outfit and hold a Ratatouille in your hand.(which is very easy to put on them)

Ratatouille — Sweet • Sour • Savory

Making process step:

1 test the Arduino code

2 Copy the code to the gemma board

2 making the ratatouille,cut the felt fibric by hand.(Huiyi said it can’t be cut by laser cut mechine )

3 repaint the chef outfit: use the red paint paint my palm, and paint some palms and blood stains on my clothes.(forgot record the process)

Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);

boolean oldState = HIGH;

int mode = 0; // Currently-active animation mode, 0-9

void setup() {

pinMode(BUTTON_PIN, INPUT_PULLUP);

strip.begin(); // Initialize NeoPixel strip object (REQUIRED)

strip.show(); // Initialize all pixels to ‘off’

}

void loop() {

boolean newState = digitalRead(BUTTON_PIN);

if((newState == LOW) && (oldState == HIGH)) {

delay(20);

newState = digitalRead(BUTTON_PIN);

if(newState == LOW) { // Yes, still low

if(++mode > 8) mode = 0; // Advance to next mode, wrap around after #8

switch(mode) { case 0:

colorWipe(strip.Color( 0, 0, 0), 50); // Black/off

break;

case 1:

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

break;

case 2:

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

break;

case 3:

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

break;

case 4:

theaterChase(strip.Color(127, 127, 127), 50); // White

break;

case 5:

theaterChase(strip.Color(127, 0, 0), 50); // Red

break;

case 6:

theaterChase(strip.Color( 0, 0, 127), 50); // Blue

break;

case 7:

rainbow(10);

break;

case 8:

theaterChaseRainbow(50);

break;

}

}

}

// Set the last-read button state to the old state.

oldState = newState;

}

/

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

}

}

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)

for(int c=b; c<strip.numPixels(); c += 3) {

strip.setPixelColor(c, color);

}

strip.show();

delay(wait); }

}

void rainbow(int wait) {

for(long firstPixelHue = 0; firstPixelHue < 3*65536; firstPixelHue += 256) {

for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip…int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());

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)

for(int c=b; c<strip.numPixels(); c += 3) {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(); delay(wait);

firstPixelHue += 65536 / 90;

}

}

}

Circuit diagram:

what you would do differently if you had to do it over again:
1 Replace the felt fabric with acrylic. (Preform better on Translucency )
2 Use wood or corrugated board to make the pan so I can dig a slot in the bottom of the pan and hide the buttons underneath!
3 Use stronger battery

final picture~

👻🎃👻🎃👻🎃
Happy
Halloween!
👻🎃👻🎃👻🎃

%d