Skip to content

Final Project - Seasonal Culture

Costume designers get to bring characters out of stories to real life. For this project I had the opportunity to create my own character and story. To add more context to the costume design process for this project I imagined an adjacent future in which poets and artists have an important role in helping society collectively mourn and move forward from the monumental losses caused by climate change and ecological damage; while making sure the losses aren't forgotten. I chose to situate this story within a Solarpunk world in which all of our current climate issues have been solved and the damage is reversing. In this anti-dystopian future communities are regenerative rather than destructive. Though the outlook for this future is optimistic, even if we stopped all the damage now, there would still be many plant, animal and human life lost to the ecological destruction of previous generations. A poet, the character the costume is designed for, is introduced in a brief letter from a climate refugee and survivor.

Death of Seasons - Letter from a Climate Refugee/Survivor

Written words weren't enough the first time to prevent disaster. Scientists, historians and scholars published books and texts but they fell on deaf ears. Now they have poets to carry on the stories and remind us of the things that were lost. Shifts in the climate have stabilized and the future looks promising but so many things were lost in the collapse. It was important that people have reminders of the things that were lost. The poets have an established purpose in our new society to remind people of the beauty of this planet and help humanity grieve the things that we lost. Each settlement has at least one poet who carries on the stories. Some poets carry stories about lost forests and beautiful ocean dwelling animals that have disappeared. Our settlement has Kelly. She carries poems of the seasons. Though new seasons and life will emerge I regret that my children will never know what it is to experience the change of the seasons. Kelly carries the echoes of snow melts and emerging blooms to remind the children what our seasons were like. She passes the memories of our seasons to future generations so that they learn to cherish the new seasons that emerge.

Concept Pitch

Growing up on a farm I observed the change in the seasons year after year. Our lives revolved around every drop of rain, planting schedules, and harvest. As a result, I formed a connection to the land and the seasons that later turned into a deep respect and care for the land and the environment. I think it is important for us to have a connection to the seasons. I wanted to design a costume that draws a connection between the seasons and the body.

Fabricademy Project Pitch by agjarv

Research and Inspiration

Seeing beyond all national borders and interests and embracing both climate and the natural world as unifying elements that we all share rather than territories over which we fight. - Sir David Attenborough

Costume Design and Fabrication

I think it is important for us to have a connection to the seasons so I wanted to design a costume that draws a connection between the seasons and the body. I have envisioned a sound reactive costume for a poetry performance that elevates the connection between the body and the voice. As the poet recites poetry about the seasons the costume transforms and snowflakes bloom into flowers. The garment is designed to be pneumatically controlled; folding as she starts to speak and unfolding when she is silent.

Blooming Textile Sample

The blooming textile was created with a combination of traditional couture sewing techniques, digital fabrication, and electronic controls. The geometric design is based on a combination of snowflakes and flowers. It is meant to evoke very early spring when the snowflakes and flowers intermix.

Sketches

Pneumatic Backpack

To house all the motors to control the costume I designed a sort of “backpack”. Rather than trying to hide the electronics for this prototype I wanted to incorporate them as part of the futuristic, solarpunk aesthetic. The design echoes the snowflake pattern used for the overlay.

Materials

Qty Description Price Link Notes
1 Adafruit Feather M0 Basic Proto $ 19.95 https://www.adafruit.com/product/2772
1 Adafruit CRICKIT FeatherWing $ 29.95 https://www.adafruit.com/product/3343
2 Air Pump and Vacuum DC Motor $ 22.00 https://www.adafruit.com/product/4700 4.5V and 1.8 LPM
1 6V Air Valve with 2-pin JST PH Connector $ 2.95 https://www.adafruit.com/product/4663
1 Lithium Ion Battery Pack $ 19.95 https://www.adafruit.com/product/354 3.7V 4400mAh
1 Adafruit I2S MEMS Microphone Breakout $ 6.95 https://www.adafruit.com/product/3421
1 PowerBoost 500 Basic $ 9.95 https://www.adafruit.com/product/1903 5V USB Boost @ 500mA from 1.8V+

Design

Here is a diagram of the electronics. I am still working to get these to function the way that I have envisioned. Currently I am testing different microphone options as the first couple did not work the way I had planned.

Code

The code is still a work in progress.

Microphone Test

/*
 This example reads audio data from an Adafruit I2S MEMS Microphone Breakout board, 
 and prints out the samples to the Serial console. The
 Serial Plotter built into the Arduino IDE can be used to plot the audio
 data (Tools -> Serial Plotter)

 Circuit:
 * Adafruit Feather M0 Board
 * Adafruit I2S MEMS Microphone Breakout:
   * GND connected GND
   * 3.3V connected 3.3V (Zero) or VCC (MKR1000, MKRZero)
   * WS connected to pin 0 (Zero) or pin 3 (MKR1000, MKRZero)
   * CLK connected to pin 1 (Zero) or pin 2 (MKR1000, MKRZero)
   * SD connected to pin 9 (Zero) or pin A6 (MKR1000, MKRZero)

 created 17 November 2016
 by Sandeep Mistry
 */

#include <I2S.h>


#define SAMPLES 10000 //This is how frequent the sample is taken make it a power of two for best DMA performance
#define SAMPLE_WINDOW 400 //This is the number of samples looked across for "talking", I think 125 is about one second
                          //at current sampling rate 

#define HIGH_VALUE  1000 //This is about how loud normal talking is
#define LOW_VALUE 200 //This is about how loud ambient noise is
#define PERCENTAGE 0.20 //This is the percentage of time talking is expected

const int ledPin =  LED_BUILTIN;// the number of the LED pin

// Variables will change:
int ledState = HIGH;             // ledState used to set the LED

const int microphonePin = A7;   // select the input pin for the potentiometer

float vol_level[SAMPLE_WINDOW];
int level_loc = 0;

void setup() {
  // Open serial communications and wait for port to open:
  // A baud rate of 115200 is used instead of 9600 for a faster data rate
  // on non-native USB ports
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);


  // start I2S at 16 kHz with 32-bits per sample


  for(int i = 0; i<SAMPLE_WINDOW; i++){
      vol_level[i]= 0;
  }
}

void loop() {
  // read a bunch of samples:
  int samples[SAMPLES];
  level_loc %= SAMPLE_WINDOW;
  level_loc++;

  for (int i=0; i<SAMPLES; i++) {
    int sample = 0;
      sample = analogRead(sensorPin);
  }

  // ok we hvae the samples, get the mean (avg)
  float meanval = 0;
  for (int i=0; i<SAMPLES; i++) {
    meanval += samples[i];
  }
  meanval /= SAMPLES;
  //Serial.print("# average: " ); Serial.println(meanval);

  // subtract it from all sapmles to get a 'normalized' output
  for (int i=0; i<SAMPLES; i++) {
    samples[i] -= meanval;
    //Serial.println(samples[i]);
  }

  // find the 'peak to peak' max
  float maxsample, minsample;
  minsample = 100000;
  maxsample = -100000;
  for (int i=0; i<SAMPLES; i++) {
    minsample = min(minsample, samples[i]);
    maxsample = max(maxsample, samples[i]);
  }
  //log current volume level
  Serial.println(maxsample - minsample);

  //Save volume level in array
  vol_level[level_loc] = maxsample - minsample;

  //count how many times above max and below min occour
  //perhaps these events will flip things on/off
  int low_count = 0;
  int high_count = 0;
  for(int i = 0; i < SAMPLE_WINDOW; i++){
      if(vol_level[i]< LOW_VALUE){
          low_count++;
      }
      else if(vol_level[i] > HIGH_VALUE){
          high_count++;
      }
  }

 digitalWrite(ledPin, ledState);


    //Serial.println(maxsample - minsample);

//display if the on or off condition is met
    if(high_count > SAMPLE_WINDOW * PERCENTAGE){
        //  Serial.println("Sure is loud");
          ledState = LOW;
    }
    else if(low_count > SAMPLE_WINDOW * ( 1 - PERCENTAGE)){
        //  Serial.println("Sure is quiet");
          ledState = LOW;
//          Serial.print(low_count);
 //         Serial.print(" counts out of " );
  //        Serial.println(SAMPLE_WINDOW * ( 1 - PERCENTAGE));
    } else{
      ledState = HIGH;
          //Serial.println("Sure is neutral");

    }

}

Next Steps

For this project I created a sample of the blooming textile in the shape of a collar to be worn around the neck. The idea is that this will be scaled up into a whole garment to be worn in a poetry performance. There is still work to be done with electronics to get the microphone sensor working. Once that is complete the costume is ready to be built based on these drawings.

Midterm Update

Images

Project Video

Files

References

https://www.beritgreinke.net/research/folding-electronic-textiles
https://berlin-open-lab.org/portfolio/origami-garments/
http://materiability.com/shapeshift/


Last update: 2022-06-27