Skip to content

5. E-textiles

goals of the week & contents

  • Produce one digital and one analog soft sensor.
  • Try to reproduce the same sensor with different materials/techniques (hard/hard hard/soft soft/soft).
  • Create my own digital and analog soft sensor.
  • Program a LED interaction with a soft sensor.
  • Integrate it in a swatch using hard-soft connections.


Here are some inspiring projects developed by previous participants:


A Digital Sensor provides a binary output: it only has two states, typically on (1) or off (0). It detects whether a certain condition is done or not, like a button press or a motion sensor.

An Analog Sensor, gives a range of values rather than just two. It detects continuous data, like temperature, light levels, among others. The output is typically a variable voltage that represents different levels, which is read by the Arduino as a number within a range (ex: 0-1023).

  • Hard/Hard: Both the sensor and the conductive connections are made from rigid or stiff materials. For example, using copper tape or metal wires on a firm surface like plastic or cardboard.
  • Hard/Soft: This involves combining rigid and flexible materials. For example, using conductive thread sewn into fabric along with rigid electronic components like a circuit board.
  • Soft/Soft: Both the sensor and the conductive connections are made entirely of flexible materials. For instance, using conductive fabric for both the sensor and the connections.

Voltage (V) (Unit: Volts). Is the measure of electric potential energy per unit charge. It represents the force that pushes electric charges through a circuit.

Current (I) (Unit: Amperes). Is the flow of electric charge through a conductor, like a wire. It represents how many charges are moving through the circuit per second.

Resistence (R) (Unit: Ohms Ω). Is a measure of how much a material opposes the flow of electric current. It determines how much current will flow for a given voltage.

An Input refers to the data, signals, or information that is fed into a system or device for processing. It can come from various sources, such as sensors, user commands, or other systems.

An Output is the data, signals, or information that is produced by a system or device after processing the input.

In a Series Circuit, components are connected in a single path, meaning the same current flows through each component, but the voltage is divided among them. If one component fails, the entire circuit stops working.

In a Parallel Circuit, components are connected in multiple paths, so each component gets the same voltage, but the current is split across the branches. If one component fails, the rest continue to work.


Material Details
Microcontroller Arduino UNO or ATtiny
ATtiny ATtiny45 or ATtiny85
AVR programmer or Arduino UNO
Arduino kit Arduino Starter kit
Neopixels sewable Flora neopixels
Adafruit Gemma Gemma board
FTDI cable or FTDI board
Fabrics resistive/conductive fabrics
Threads resistive/conductive threads
Inks resistive/conductive inks (thermochromic ink)
Velostat pressure-sensitive conductive sheet
Snap metal buttons +Metallic zippers
Copper tape + isulating tape
Actuators Mini vibration motors, speakers...
Wires jumpers, alligator clips


tools


inspiration

While I was researching, I discovered a YouTube channel that serves as an archive for the work of Hannah Perner-Wilson. Later I found out that she is one of the co-founders of KOBAKANT, along with the artist and designer Mika Satomi. Her channel features a wealth of documentation, tutorials, and project showcases, all shared as open-source resources.

She focuses on exploring the electrical properties of various materials, blending traditional and contemporary craft techniques to develop innovative methods for building electronics that emphasize both materiality and the creative process. You can check her personal website.



workflow

2aula

1 FADE LED

const int LED_pin = A0;  // Pin the LED is attached to

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

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize LED_pin as an output
  pinMode(LED_pin, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // set the brightness of the LED:
  analogWrite(LED_pin, brightness);

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade:
  if (brightness <= 0 || brightness >= 255) {  // if brightness is smaller or equal to 0 or if brightness is bigger or equal to 255
    fadeAmount = -fadeAmount;
  }
  // wait for 30 milliseconds to see the dimming effect
  delay(30);
}

2 LDR AnalogRead SERIAL + FADE LED

int sensor_pin = A1;
int LED_pin = A0;  // Pin the LED is attached to
int brightness = 0;  // how bright the LED is

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 115200 bits per second:
  Serial.begin(115200);
  pinMode(LED_pin, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(sensor_pin);
  // print out the value you read:
  Serial.println(sensorValue);
  brightness = map(sensorValue, 3950, 4013, 0, 255);
  brightness = constrain(brightness, 0, 255);
  Serial.println("Mapped brightness value:");
  Serial.println(brightness);
  analogWrite(LED_pin, brightness);

  delay(100);  // delay in between reads for stability
}


jumperaligatorwire

In a Parallel Circuit, components are connected in multiple paths, so each component gets the same voltage, but the current is split across the branches. If one component fails, the rest continue to work.


fabrication files


  1. File: xxx 

  2. File: xxx