Morse Code Communicator

The idea: Create a wearable toy that allow kids to send secret messages to each other in class.

Needs: A trigger that can be quickly used to activate a small LED light, and a wearable platform to wear on a wrist.

Prototype:

Connected to two 1.5V power supply to test the circuits and play around with the layout of the board  before committing to  the second prototype with onboard power supply.

 

 

 

 

 

Prototype 2:

 

The second prototype, with it’s own on board power supply and a brighter LED light, and larger trigger. It didn’t  work very well since the circuit occasionally refuse to stay in contact, could be fixed with soldering iron but I don’t  have that with me at the time. The switch might be defective as well (My other switch that I tried was about  equally as glitched)

 

 

 

So at the end I decided to dumb down the whole circuit and make a switch myself, it became a lot more compact and organized, the user tap the top part of the wearable gadget to close the circuit, and light up the LED.

Things I can add to another model, making the wrist band out of soft touch plastic, giving a “feedback” to users  every time you click close the circuit, and making it slimmer, and giving the user some way to tell when the light  is activated.

Colourized Conversation Device

As a response to my interest in the interconnecting senses I wanted to explore the relation between audio and visual stimulation. Since last semester I had the intention of creating a device that would translate audio signals into visuals as a form of synthesia. For this project I wanted to convert conversational language into visual language through the RGB leds. Using the intensity of the led colours provided I translated soft conversation to a sequential blue led pattern, normal conversational levels with a green led pattern and loud conversational levels with red led patterns. I find the interaction of individuals through conversation to be quite interesting as there are many aspects to interpret including the characteristics of one’s voice which is what the device is intended to translate.

         

As with any wearable project I pursue I started off with the electronic components of the project to make sure I knew how to hook up everything properly and to go through any trouble shooting before I made the final product. I purchased my first Mini Ardunio Pro which I am now in love with! As it is a great tool to use for prototyping and for the final product. I used right-angled headers with the mini arduino to create a great device to prototype using a wire wrapping approach.

   

I then proceeded to connect a electret mic along with a 103 capacitator and diode that would help to smoothen out the values the mic provided. I also started to fool around with RGB leds which were interesting to work with as I had experience using them previously but instead of having the 3-coloured pins connected to positive they all had to be connected to ground which made the process a but more complex and messy as I had to connect each Led to 3 resistors for each leg to make sure that the circuit would not blow up.

The schematic provided describes all the connections and calculations made and to make the schematic less complex I just indicated the amount of RGB leds used in two of the led patches. I also created my own version of an RGB led symbol and electret mic.

                    

I wanted to encase the leds into a structure the wearer would put on their head and angle it in a way so that the patterns would be visible so I decided to use a face shield as it seemed to possess the qualities I needed but was lacking the headphones to cancel out the wearer’s hearing. I also proceeded to use a technique I used last semester to diffuse the light coming from the leds by painting them with white nail polish. As I connected the circuit together I would use a power source aka battery pack to make sure the connections were all properly hooked up before soldering everything together.

The video documentation is essentially how I would like the sequence of leds to correspond with one’s voice using a calibration coding.

Arduino Coding-

When coding the RGB leds I had to remind myself that to turn on the colour you would have to initialize a ‘LOW’ statement instead of a ‘HIGH’ as the led pins that trigger the colour are ground pins.

Fade RGB with colour correspondence:

int fadeAmount = 5;     //how many points to fade the LED by
int brightness =0;      // how bright LED is

int SensorPin = 0;      //Sensor connected to analog pin 0

int BlueLedone= 3;
int BlueLedtwo= 9;
int BlueLedthree= 10;

int GreenLedone= 2;
int GreenLedtwo= 7;
int GreenLedthree= 11;

int RedLedone= 5;
int RedLedtwo= 6;
int RedLedthree= 12;

int SensorValue;

void setup () {
Serial.begin (9600);

pinMode (SensorPin, INPUT);

pinMode (BlueLedone, OUTPUT);
pinMode (BlueLedtwo, OUTPUT);
pinMode (BlueLedthree, OUTPUT);

pinMode (GreenLedone, OUTPUT);
pinMode (GreenLedtwo, OUTPUT);
pinMode (GreenLedthree, OUTPUT);

pinMode (RedLedone, OUTPUT);
pinMode (RedLedtwo, OUTPUT);
pinMode (RedLedthree, OUTPUT);

}

void loop () {

SensorValue= analogRead(SensorPin);

if (SensorValue-800 >= 45 & SensorValue-800 <=48 ){
analogWrite (BlueLedone, brightness);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (BlueLedone, HIGH);

}
else if (SensorValue-800 >=48  & SensorValue-800 <=51 ){  //range of values that fade in
analogWrite (BlueLedone, brightness);         // LedPatchone & LedPatchtwo
analogWrite (BlueLedtwo, brightness);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (BlueLedone, HIGH);              //turn off LedPatchone & LedPatch two
digitalWrite (BlueLedtwo, HIGH);
}

else if (SensorValue-800 >=  52 & SensorValue-800 <=55 ){
analogWrite (BlueLedone, brightness);
analogWrite (BlueLedtwo, brightness);
digitalWrite (BlueLedthree, LOW);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (BlueLedone, HIGH);
digitalWrite (BlueLedtwo, HIGH);
digitalWrite (BlueLedthree, HIGH);
}

else if (SensorValue-800 >=  56 & SensorValue-800 <= 66 ){
analogWrite (GreenLedthree, brightness);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (GreenLedthree, HIGH);
}
else if (SensorValue-800 >=  67 & SensorValue-800 <=77 ){
analogWrite (GreenLedthree, brightness);
analogWrite (GreenLedtwo, brightness);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (GreenLedthree, HIGH);
digitalWrite (GreenLedtwo, HIGH);
}
else if (SensorValue-800 >=  78 & SensorValue-800 <= 88 ){
analogWrite (GreenLedthree, brightness);
analogWrite (GreenLedtwo, brightness);
digitalWrite (GreenLedone, LOW);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (GreenLedthree, HIGH);
digitalWrite (GreenLedtwo, HIGH);
digitalWrite (GreenLedone, HIGH);
}
else if (SensorValue-800 >=  89 & SensorValue-800 <= 99 ){
analogWrite (RedLedone, brightness);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (RedLedone, HIGH);
}
else if (SensorValue-800 >=  100 & SensorValue-800 <=110 ){
analogWrite (RedLedone, brightness);
analogWrite (RedLedtwo,brightness);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (RedLedone, HIGH);
digitalWrite (RedLedtwo, HIGH);
}
else if (SensorValue-800 >= 111  & SensorValue-800 <=130 ){
analogWrite (RedLedone, brightness);
analogWrite (RedLedtwo,brightness);
digitalWrite (RedLedthree, LOW);
delay (500);
brightness = brightness + fadeAmount;
digitalWrite (RedLedone, HIGH);
digitalWrite (RedLedtwo, HIGH);
digitalWrite (RedLedthree, HIGH);
}

Serial.println (SensorValue-800);

}

Calibration RGB-Mic:

const int sensorPin = A0;    // pin that the sensor is attached to
const int ledPin = 9;        // pin that the LED is attached to

// variables:
int sensorValue = 0;         // the sensor value
int sensorMin = 1023;        // minimum sensor value
int sensorMax = 0;           // maximum sensor value

void setup() {
// turn on LED to signal the start of the calibration period:
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);

// calibrate during the first five seconds
while (millis() < 5000) {
sensorValue = analogRead(sensorPin);

// record the maximum sensor value
if (sensorValue > sensorMax) {
sensorMax = sensorValue;
}

// record the minimum sensor value
if (sensorValue < sensorMin) {
sensorMin = sensorValue;
}
}

// signal the end of the calibration period
digitalWrite(13, LOW);
}

void loop() {
// read the sensor:
sensorValue = analogRead(sensorPin);

// apply the calibration to the sensor reading
sensorValue = map(sensorValue, sensorMax, sensorMin, 0, 255);

// in case the sensor value is outside the range seen during calibration
sensorValue = constrain(sensorValue, 0, 255);

// fade the LED using the calibrated value:
analogWrite(ledPin, sensorValue);
}

 

Relatable/Inspirational Projects Include:

Isophone– By Auger-Lorizeau Isolates the body into a tank of water and encases the head into a dome formation so that all the wearer is concentrated on is the voice of the individual they are conversing with.

Veasyble– By GAIA isolating yourself from the environment using origami-like forms.

Attention Hat

Concept:

The Attention Hat is a hat that help people “grab” your attention. If a person wants to talk with you or simply wants your attention, she/he can pull the handle on the side to rotate your head to face her/him. In addition to the rotation, the long “walls” limiting your vision force you to focus on one conversation/interaction/task at a time.

Inspiration:

Kids are sometimes annoying when they talk to adults (parents, teachers, etc.) when they’re busy or tired. What often happens is the adult pays little attention to what the kid is saying, whether pretending to be listening or not. My solution, when I was a little kid, was straightforward: grab the adult’s face with two hands and turn it towards me.

Sketches and Prototypes:

Other potential features: ear doors, message mailbox, do-not-disturb hanging sign, lower handle for kids.

How it relates to the assignment:

It’s apparently a social interaction when the Attention Hat is being used. As an art project, it brings attention to the subject of attention. It reminds people we’re living in a attention deficit culture or lifestyle and make the users and viewers think about how they spend their limited attention budget. By forcing the users to be more focused, it may also affect the way they do things and interact with people and provoke some unexpected feelings.

 

Short description for Technosapien show:

If you wear the Attention Hat, people can literally “grab” your attention. Your view is limited to force you to focus on one person or one task at a time. When people want your attention, they can turn your head to face them by grabbing the handles on the sides of the hat. Although the “hat” is not suitable for normal wearing, many of us may indeed need something like this in today’s attention-deficit society.

Facebook: Going Public

Concept

Meta-analyzing my life on facebook is something that makes me uncomfortable, giving me all the more reason to pursue it. The digital connections that exist between us may seem ephemeral, but Facebook has become a ubiquitous form of socialization for many North Americans. Although it isn’t always appropriate to publicly acknowledge how integrated Facebook is with out lives, it seems to me that the cultural importance is growing rapidly. With this project I have printed graphs of facebook network connectivity. Both my network as well as my partner’s are represented as graphs created with gephi. Sewing a connection between the instances of mutual friends, I am mapping the invisible social threads that hold us together. I want to illustrate how we share a social space digitally in a physical medium. The geography of our friends is spelled out across our chests in a sprawling cipher, with different people existing in different contexts from one graph to the other.

I think this project could be improved with the element of time added. It would be interesting to graph changes in mutual friends over the course of months and years. When I first met Josh we had around 10 friends in common; something I took as solace when dating a new person. It seemed that if he could get along with 10 people who I considered good people, we might have a shot. We now have over 70 friends in common, and that is representative of a different connection. How do changes in a digital relationship reflect those in our physical existences? An animation would be a cool way to show changes, but it would be a timely undertaking.

Process

Using this tutorial, I downloaded the data I needed and started messing around with it in gephi.The graphs can be exported as PDFs, and I spend a long time iterating and trying to find the most attractive layout and colourization.

 

 

 

 

 

 

 

 

 

Once the images were representing the data in a way I liked, I prepped the files for printing. The digital textile printer has priority usage for fibre students, but if you ask in the fibre office it may be possible to set up an appointment. There are about a dozen different textiles to choose from, I decided to print on cotton jersey. Files must be 300dpi, CMYK, .tiff.

One the fabric is printed, the dyes need to be steam set. The textile is rolled around a dowel and steamed on the stove for 15 minutes.

The fabric is washed with warm water to remove any excess dye, then washed with TNA soap and a soap that sets the dyes. It can be air dried, or put in a dryer. I put mine in a dryer, cause I don’t like to wait.

I cut out the graph (a sample, cause I printed extra!) and gathered the supplies to start the sewing aspect of my project. When sewing a knitted stretch fabric you need to use stretch or “ballpoint” needles which literally have a tiny ball on the end instead of a point. These won’t damage the knit structure by breaking threads.

I recently bought this heat bond stuff, which is a double sided iron on glue. This is not my first foray into appliqué, and after years of being told I should buy this stuff, I finally did. Oh my god, it’s amazing! You iron it onto your desired piece, peel off the paper backing then iron it onto the base fabric. Pins have nothing on this stuff, it is the best thing that I have discovered in a long time.

I sewed a sample shirt to determine stitch length, and trouble shoot any issues. The seam was really puckery, but a nice steam seems to fix that quite nicely. With all this information, I sewed the good shirts and began the process of threading embroidery floss through every single point of mutual contact. Oh my.

It took a long time to sew all the threads, but I think the end product is really interesting looking. And apparently, wearing shirts connected by near a hundred threads is really silly and fun.

Related Work:

Mapping Facebook Worldwide

Mapping Facebook Groups with Gephi

Social Networking and Art

Digital Persona Bot, Really Odd

Twitter Dress

Cheesy Social Networking Tees