[skin] _ AADRL 19

Page 1

[skin] đ&#x;?? //

Angelina Kozevnikova Hamze Machmouchi Razvan Voda Xiaonin Liu

Workshop 02 _ Sensory Environments


tea te team am m

đ&#x;??

2


a new type of media for the post-human

In a world where humans and machines are no longer separated entities, a new type of media has to emerge and symbiotically merge the two.

team

đ&#x;??

3


team

đ&#x;??

4


Content

Section A: Concept 7 1. diagrams 2. sketches

Section B: Studies 14 1. sensors 2.methods of actuation 3.patterns

Section C: Prototypes 29 1. poncho 2. vest

team

đ&#x;??

5


team

đ&#x;??

6


Concept [skin] is a wearable device that extends communication abilities beyond language. It extends the skin's sensory faculties in order to exchange through touch. Using a soft actuation system and computer recognition, the devices are able to exchange physical media between them based on their location and intents.

team

đ&#x;??

7


~@#%&* +{}“/=-‌‌

STEP 1: State Setting

State A: Willing to Talk

team

đ&#x;??

8

?

?

[ Owner to Costume ]

State B: Unwilling to Talk


STEP 2: Face-to-Face Interacting ~@#%&* +{}“/=-‌‌

[ Owner to Costume ]

Range 1 Searching

Range 2 Pairing

Range 3 Communicating

Touch Playing

Scenario A: Willing to Talk

team

đ&#x;??

9


~@#%&* +{}“/=-‌‌

!

Range 1 Sensing Red Lights Blinking

Range 2 Locating

Range 3 Warning

Touch Rejecting

Scenario B: Unilling to Talk

team

đ&#x;??

10


STEP 3: Long-Distance Interacting

[ Costume to Costume ]

*&%#@~ ‌‌-=/“}{+ ~@#%&* +{}“/=-‌‌

Connecting

Physical “Chatting�

team

đ&#x;??

11


Sketches

team

đ&#x;??

12


we made a series of sketches studying the different possibilites and outcomes of the wearable device based on aesthetics and methods we were interested in experimenting with

team

đ&#x;??

13


Studies

The extension is inside-out, derived and emerged from the biological properties of the human body. The extension is consequentially an extrusion.

Learning from microscopic typologies

team

đ&#x;??

14


Sensors

Distance sensor (ultrasonic)

Touch sensor (fabric)

Touch sensor (electrical paint)

team

đ&#x;??

15


Methods of actuation

team

đ&#x;??

16

Inflatables

Electromagnets

Silicon. Soft actuation

Magnetic actuation

Nitinol

Tensegrity

Shape memory wires. Material actuation

Pop-up effect. Mechanical actuation


Patterns - Inflatable layer

Exploring different geometry and size of air pockets, air input points and thickness of connecting tubes.

team

đ&#x;??

17


Patterns - Inner pattern

Exploring different types of pattens and their tactile characteristics

Color study

team

đ&#x;??

18


Patterns - Inner pattern

The extension is inside-out, derived and emerged from the biological properties of the human body. The extension is consequentially an extrusion. The inner pattern is connecting the senseless machine with the senseful human body.

defining sensitive areas

least sensitive

most sensitive

team

đ&#x;??

19


Exploring micro patterns

Studying different types of patterns and textures, we came up with a synthesized synesthetic inner layer that will cause new senses for the human skin.

team

đ&#x;??

20


team

đ&#x;??

21


Patterns - Outside layer

- Clear pattern, good for recognition - Has difference between deflated and inglated state

team

đ&#x;??

22


- Bad for patter recognition because pattern merges with background - Has difference between deflated and inglated state

team

đ&#x;??

23


External pattern recognition

team

đ&#x;??

24


The outer pattern complements the communication between human, communication that is facilitated through a middle layer which is the machine and computer vision.

Pattern recognition using OpenCv on C++

team

đ&#x;??

25


External pattern recognition

team

đ&#x;??

26


Pattern recognition using OpenCv on C++

team

đ&#x;??

27


28

iteration01, poncho


Prototypes We have developed two iterations studying the assembly, fit, and experience of the wearable. The first one, a poncho, didn't incorporate any computer vison capabilities and was solely made to test assembly and inflation patterns. The wearables were cast into platinum cure silicone using digitaly fabricated molds.

puncho mold

base

inflation patterns

result

team

đ&#x;??

29


mold

team

đ&#x;??

30


fit

team

đ&#x;??

31


team

đ&#x;??

32

iteration02, vest


Researching different microscopical details of biological frameworks, we were able to exponentially scale the found geometries and the relationship within in order to produce patterns that will not only be derived from the human, but will also tend to reinvent the human.

Outside Layer

Inflation Layer

Inside Layer

team

đ&#x;??

33


tailoring

team

đ&#x;??

34


inner pattern, cnc mold

Action: 1. Bending 2. Shrinking 3. Folding

Method: Density

team

đ&#x;??

35


inflation layer, cnc mold

Action: 1. Expanding 2. Shrinking

Method: Pockets

team

đ&#x;??

36


The costume was designed in order to accommodate and relate to the most sensitive areas of the human body. Sketches were made to find a form that will maximize the relationship between the machine and the human and to enhance the interaction between humans through a new type of conversation.

Action: 1. Expanding 2. Shrinking

Method: Extrusions

outside layer

team

đ&#x;??

37


System of the prototype - vest

Core

LED light Touch sensor

team

đ&#x;??

38

Distance sensor


team

đ&#x;??

39


Core

Air pump air out - front

Air pump air in - front Battery for arduino Battery for air pump

Mosfet Mosfet

Battery for air pump

Mosfet

Mosfet Air pump air in - back

Button Arduino nano

team

đ&#x;??

40

Air pump air out - back

Battery for air pump

Battery for air pump


team

đ&#x;??

41


Coding

1 RANGE - APPROACHING (1,5 m) When costume senses someone approaching (in costume we mimic it with button because ultrasonic is very innacurate for this distance) it starts long air pulsation. Led light turns in rythm of "air in" or inflating interval.

2 RANGE - CLOSE (0,4 m) When costume senses someone close with ultrasonic sensor, the air pulsation becomes faster. Led light turns in rythm of "air in" or inflating interval.

3 RANGE - TOUCH When costume senses someone close with ultrasonic sensor and touching with touch sensor, the air pulsation becomes extremely fast. Led light turns in rythm of "air in" or inflating interval.

team

đ&#x;??

42


if (Buttonstate == HIGH) Buttonstate = LOW; else Buttonstate = HIGH;

// libraries #include <CapacitiveSensor.h> //BUTTON int ButPin = 2;

// the number of the input pin

int Buttonstate = LOW; // the current state of the output pin int reading; // the current reading from the input pin int previous = LOW; // the previous reading from the input pin

time = millis(); } previous = reading; }

airOutF = LOW;} else { interval1 = ms; interval1 = OFFtimeF4; airInF = LOW; airOutF = HIGH;} } digitalWrite(APfrontIN, airInF); digitalWrite(APfrontOUT, airOutF); digitalWrite(led, airInF); }

void button(){ long time = 0; // the last time the output pin was toggled long debounce = 200; // the debounce time, increase if the output flickers

switch (Buttonstate) {

void AirPulsing2Back(){ unsigned long ms2 = millis (); //Air In

long duration; int distance;

case HIGH: RunThis(); break; case LOW: digitalWrite(APfrontIN, LOW); digitalWrite(APfrontOUT, LOW); digitalWrite(APbackIN, LOW); digitalWrite(APbackOUT, LOW); digitalWrite(led, LOW);

//INTERVALS long interval1; long interval2;

} }

//ULTRASONIC const int trigPin = 5; const int echoPin = 6;

break;

//RANGE2 void RunThis(){ //FRONT const unsigned const unsigned //BACK const unsigned const unsigned

long ONtimeF2 = 500UL; //AIRIN long OFFtimeF2 = 500UL; //AIROFF long ONtimeB2 = 500UL; //AIRIN long OFFtimeB2 = 500UL; //AIROFF

DistanceSensing(); //TOUCH SENSOR long start = millis(); long total1 = cs_4_7.capacitiveSensor(30); //RANGES

//RANGE3 //FRONT const unsigned const unsigned //BACK const unsigned const unsigned

long ONtimeF3 = 1000UL; //AIRIN long OFFtimeF3 = 1000UL; //AIROFF long ONtimeB3 = 1000UL; //AIRIN long OFFtimeB3 = 1000UL; //AIROFF

}

//RANGE4 //FRONT const unsigned const unsigned //BACK const unsigned const unsigned

//RANGE 1 - TOUCH if (distance <40 && total1 >100){ Serial.println("distance is less than 40, someone touched the costume"); AirPulsing2Front(); AirPulsing2Back();

long ONtimeF4 = 10000UL; //AIRIN long OFFtimeF4 = 6000UL; //AIROFF long ONtimeB4 = 10000UL; //AIRIN long OFFtimeB4 = 6000UL; //AIROFF

//RANGE 3 - CLOSE else if (distance < 40){ Serial.println("distance is less than 40, range 2"); AirPulsing3Front(); AirPulsing3Back(); }

unsigned long preMillis = 0; unsigned long preMillis2 = 0; //AIR PUMP //Front int airOutF = HIGH; int airInF = LOW; //Back int airOutB = HIGH; int airInB = LOW; //pins airpumps const int APfrontIN = 9; //AIRIN FRONT const int APfrontOUT = 10; //AIROUT FRONT const int APbackIN = 11; //AIRIN BACK const int APbackOUT = 3; //AIROUT BACK //TOUCH SENSOR CapacitiveSensor cs_4_7 = CapacitiveSensor(4,7); //4,7 PIN //LED LIGHT int led = 8;

void setup() { //BUTTON pinMode(ButPin, INPUT); //AIR PUMPS pinMode (APfrontIN, OUTPUT); pinMode (APfrontOUT, OUTPUT); pinMode (APbackIN, OUTPUT); pinMode (APbackOUT, OUTPUT); digitalWrite(APfrontIN, LOW); digitalWrite(APfrontOUT, LOW); digitalWrite(APbackIN, LOW); digitalWrite(APbackOUT, LOW); //ULTRASONIC pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output pinMode(echoPin, INPUT); // Sets the echoPin as an Input //LED pinMode(led, OUTPUT); //TOUCH SENSOR cs_4_7.set_CS_AutocaL_Millis(0xFFFFFFFF); Serial.begin(9600); // Starts the serial communication } void loop() { checkBut(); button(); }

void checkBut(){ reading = digitalRead(ButPin); if (reading == HIGH && previous == LOW && millis() - time > debounce) {

//RANGE 3 - APPROACHING else { Serial.println("button pressed, range 3"); AirPulsing4Front(); AirPulsing4Back(); } } void AirPulsing2Front(){ unsigned long ms = millis (); //Air In if ((millis() - preMillis) >= interval1){ preMillis = ms; interval1 = ms; if (airInF == LOW && airOutF == HIGH){ interval1 = ONtimeF2; airInF = HIGH; airOutF = LOW;} else { interval1 = ms; interval1 = OFFtimeF2; airInF= LOW; airOutF = HIGH;} } digitalWrite(APfrontIN, airInF); digitalWrite(APfrontOUT, airOutF); digitalWrite(led, airInF); } void AirPulsing3Front(){ unsigned long ms = millis (); //Air In

if ((millis() - preMillis2) >= interval2){ preMillis2 = ms2; interval2 = ms2; if (airInB == LOW && airOutB == HIGH){ interval2 = ONtimeB2; airInB = HIGH; airOutB = LOW;} else { interval2 = ms2; interval2 = OFFtimeB2; airInB = LOW; airOutB = HIGH;} } digitalWrite(APbackIN, airInB); digitalWrite(APbackOUT, airOutB); } void AirPulsing3Back(){ unsigned long ms2 = millis (); //Air In if ((millis() - preMillis2) >= interval2){ preMillis2 = ms2; interval2 = ms2; if (airInB == LOW && airOutB == HIGH){ interval2 = ONtimeB3; airInB = HIGH; airOutB = LOW;} else { interval2 = ms2; interval2 = OFFtimeB3; airInB = LOW; airOutB = HIGH;} } digitalWrite(APbackIN, airInB); digitalWrite(APbackOUT, airOutB); } void AirPulsing4Back(){ unsigned long ms2 = millis (); //Air In if ((millis() - preMillis2) >= interval2){ preMillis2 = ms2; interval2 = ms2; if (airInB == LOW && airOutB == HIGH){ interval2 = ONtimeB4; airInB = HIGH; airOutB = LOW;} else { interval2 = ms2; interval2 = OFFtimeB4; airInB = LOW; airOutB = HIGH;} } digitalWrite(APbackIN, airInB); digitalWrite(APbackOUT, airOutB); } void DistanceSensing(){ //ULTRASONIC digitalWrite(trigPin, LOW); delayMicroseconds(20); // Sets the trigPin on HIGH state for 10 micro seconds digitalWrite(trigPin, HIGH); delayMicroseconds(100); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance= duration*0.034/2; }

if ((millis() - preMillis) >= interval1){ preMillis = ms; interval1 = ms; if (airInF == LOW && airOutF == HIGH){ interval1 = ONtimeF3; airInF = HIGH; airOutF = LOW;} else { interval1 = ms; interval1 = OFFtimeF3; airInF = LOW; airOutF = HIGH;} } digitalWrite(APfrontIN, airInF); digitalWrite(APfrontOUT, airOutF); digitalWrite(led, airInF); } void AirPulsing4Front(){ unsigned long ms = millis (); //Air In if ((millis() - preMillis) >= interval1){ preMillis = ms; interval1 = ms; if (airInF == LOW && airOutF == HIGH){ interval1 = ONtimeF4; airInF = HIGH;

team

đ&#x;??

43


team

đ&#x;??

44


team

đ&#x;??

45


46


.

team

đ&#x;??

47


team

đ&#x;??

48


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.