In a morning, I push a button to start the electric kettle to make a cup of tea, turn on the radio by sliding the on/off switch and turn the knob to tune into the radio station I want to listen to. I open my laptop, slide my finger on the touch pad to open my mail software and type on the keyboard to answer an email that just came in…

A familiar scene many of us experience. We are constantly interacting with technology without thinking too much about it. Have you ever thought about why we interact the way we do? Could the switch, buttons and knobs made in different ways with different materials that our whole experience of interacting with technology be different? Maybe we do not “push” a button nor “turn” a knob.. but some other way to interact with them.

In this workshop, we will explore the design possibilities of alternative interaction with technology using textile as an example of soft interactive surface. Materiality, tactility and its surface aesthetic creates design language for textile. The choice of textile technique and motif may add social context to it. What can we do when these design language is combined with technology?

We will start with looking at everyday textile materials. How do we interact with them? how are they designed to give us specific aesthetic experiences? Can we design soft interaction with technology that is as rich in its language as this piece of cloth?

Activity 1:
Examine the piece of fabric you have brought.
-Material: what is it made of?
-Tactility: How does it feel?
-Aesthetic: How does it look? Is there certain style? How do you describe it?
-Technique: How is it made? Is there something special in the way it is made?
-Interaction/manipulation: How do you interact with it? Do you stroke? Flap? Squeeze? Fold? what do you do with them?
-Story: Is there specific story embed in the fabric?

Multimeter

We can not see the electrons flowing. So we can not tell by looking if there is an electrical connection, or how much electrical resistance between one end to the other end of the circuit or a material.
To measure this, we use a tool called multimeter. This will be your friend throughout the workshop. Here is how to use it.

Check connection
turn the dial to arrow/sound sign. Place the probe to the to end of the part where you want to check the electrical connection. If there are connection, it will beep.

Check Resistance
Turn the dial to ohm mark part. there are few numbers on the ohm part, start from the smallest, or if you know roughly how much it should be, start with closest one. If it is on the diral 200 ohm, it means it will measure the resistance maximum 200ohm. If the resistance is bigger than 200ohm, it shows 1. like in the picture. In this case, turn the dial to bigger maximum range (for example 2000, or 20k (20,000)) to see if you start to see a number.

Here is an example on how to read the measured resistance. The dial is set to 20M ohm (20,000,000 ohm), and you see 2.19 in the display. Where the period is shows the scale (if it is Mega or Kilo or without any scale). Since you are on Mega scale, this is 2.19 Mega Ohm (2,190,000 ohm). This is a bit confusing as if you are on 200k ohm dial and see 3.8, it is still 3.8 Kilo ohm (3,800 ohm). The number on your dial is not a multiplier. It just shows which scale you are in, and what is the maximum reading range.

By using conductive textile materials (fabric/thread/yarn/wool) we can build textile sensors. Here are some examples of contact sensors (ON/OFF) and resistive sensors (value/slider). You can check the reading of the sensors using multimeters.

Activity 2:
Examine the e-Textile sensors. How do they work?
Do you find a sensor that senses the interaction/manipulation you’ve described in activity 1?
Pick one sensor example and remake them.

e-Textile Technique

With conductive textile materials, you can apply textile techniques to build sensors and electrical connections. You can sew, knit, weave, crochet, embroider, fuse..
The technique you choose may add texture, story and context to your interface.

Activity 3:
Choose one or two textile techniques. What are the story/context this technique convey?
Apply the technique to the sensor you have made previously and make a new sensor.
Does your sensor now embed certain context/story?

Workshop Assignment:
Design a textile sensor that include the same design language as the piece of fabric you have brought.

Digital Sensor

If you have a contact switch, your sensor indicates two state, contact (ON) or no-contact (OFF). We will need to read these two state with Arduino’s input pins. As it is only two state we need to indicate, we will use Digital input pin this time. The digital input pins can read 5V or 0V.

Pull Down resister
As your sensor has two state of contact and no-contact, we need to manipulate the voltage that goes into digital input pin with these states. If you connect one side of the contact switch to 5V, and the other to the input pin, the pin will be connected to 5V as you let the contacts touch. But when it is at no-contact state, it is not connected to 0V. Not touching anything does not mean it is 0V! You will need to add “pull down resister” to connect the open contact to 0V. The typical size of the pull down resister is 10k ohm or bigger.

When you finish connecting your contact switch as above, you can upload example Arduino sketch DigitalReadSerial from (File/Examples/Basics/DigitalReadSerial)
Open the Serial Monitor and check if you get 1 when you activate your contact switch, and 0 when it is not activated.how to use serial monitor >>

Sensor value to Light

We can now control “things” with our sensors. As an example, we can control LED light with our digital sensor.

A light-emitting diode (LED) is a two-lead semiconductor light source. When a suitable voltage is applied to the leads, electrons are able to recombine with electron holes within the device, releasing energy in the form of photons. (https://en.wikipedia.org/wiki/Light-emitting_diode)
There are two things we have to take care when using LED.– LED has polarity. Make sure to connect LED in correct direction.
You can tell the direction as the positive side usually has a longer leg, or a smaller triangle lead in the epoxy lens.– You will need to limit the current to suitable range. you can read here “why?” >>
To limit the current, you need to add resisters in your circuit. You can calculate it yourself using Ohm’s law, or use online calculators like this one >> http://led.linear1.org/1led.wiz

Now, you can think about how the light should behave as you make the contact/ push the button.

// the loop routine runs over and over again forever:
void loop() {
// read the input pin:
buttonState = digitalRead(pushButton);
// print out the state of the button:
Serial.println(buttonState);

//if buttonState is 1, then turn on the LED
if (buttonState ==1){
//turn on the LED
digitalWrite(LEDpin, HIGH);
delay(50);
digitalWrite(LEDpin,LOW);
delay(50);
}
// if buttonState is 0 turn off the LED
else{
// turn LED off
digitalWrite(LEDpin, LOW);
}

delay(1); // delay in between reads for stability

}

Analog Sensor

If you have a resistive analog sensor, your sensor changes its resistance and not the voltage. We need to use the resistance change of these sensors to manipulate voltage that goes into the input pins so the Arduino can read what is happening with our sensors.

Voltage Divider: Resistive Sensors
You can divide the voltage by using 2 resisters in series.Here is an experiment with two resister with a multumeter.
The first experiment shows two same size resister (10kohm) dividing the provided voltage (5V) in half. The multimeter is set as V– for reading direct current voltage. The probes are connected to 0V (GND) of the power supply and the middle point where two resisters meet. You can see 2.44 in the multilmeter’s display. (almost 2.5V.. maybe the resister had some range) It divides the 5V in 50/50 ratio.

In the second experiment, I changed one of the resister to 47kohm. So now the ratio of two resisters are 10/47. So, I should read 5V x 10/(10+47) = 0.877 V in theory. As you can see in multimeter, it is 0.85V it measures. Not bad!

Now, if you change one of the resister to our resistive textile sensor, it works the same. For example, The felt sensor I tested here has about 8kohm – 100kohm resistance range. You can see how the voltage that gets divided in the middle changes as I manipulate the felt. Now, if you connect the point where multimeter is reading to the Arduino Analog input, we can read how much voltage comes in.

As the ratio between two resisters changes, the voltage you get in the middle (between the resisters) changes accordingly.

As the analog input pins are reading the voltage input changes, we need to change the voltage that goes into the analog pins by changing the resistance connected to the analog input pin.

When you finish connecting your sensor as above, you can upload example Arduino sketch AnalogReadSerial from (File/Examples/Basics/AnalogReadSerial)

Graph
If you like to see the sensor input value in more graphical way, you can also try Graph example sketch.
This is located (File/Examples/Communication/Graph). You will need Processing for this example.

Sensor value to Light

We can now control the light with these analog sensors too. As it has value (0-1023) we can control intensity of the light rather than state of on/off.

To do this, you can use analogWrite() function, instead of digitalWrite(). With digitalWrite() function, you specify on(HIGH)/off(LOW) state of the pin, while in the analogWirte() you can specify the intensity between 0-255. This is called PWM. You can read more about it from here >>

Since the input from the sensor is in the range of 0-1023, and analogWrite range is 0-255, you will need to scale the value. To do so, we can use map() function.https://www.arduino.cc/en/Reference/Map