Week 5: E Textiles

Status: Documented

23 Oct, 2018

E textiles is core of Fabricademy and thelecture by Liza stark was an amazing presentation starting from basics to what all could be possible this week. As this is also that week in which we had


Objectives | Tasks at hand


The first part of the session started with hitching an arduino lilypad with my laptop. I recently exchanged my laptop under warranty so had to reinstall all drivers again. After installing Arduiono IDE, I continued installing FTDI drivers and then after successfully uplaoding onto a lilypad, continued to a breadboard to quickly set up the schematic. The second part comprised of trying to make nitinol work with my laer cut living hinge loop design i made.

I almost burnt my finger today. Why?? Because a street dog roaming around our lab outside on the road did know that one should not disturb a person (includes by way of barking too) during Fabricademy soldering sessions

Mahavir





Code for Button-Led

int SensorPin = 2; int LEDPin = 13; int LEDstate = HIGH; int reading; int previous = LOW; long time = 0; long debounce = 50; void setup() { pinMode(SensorPin, INPUT); digitalWrite(SensorPin, HIGH); pinMode(LEDPin, OUTPUT); Serial.begin(9600); } void loop() { int switchstate; int sensorValue = digitalRead(2); reading = digitalRead(SensorPin); if (reading != previous) { time = millis(); } if ((millis() - time) > debounce) { switchstate = reading; if (switchstate == HIGH) LEDstate = LOW; else LEDstate = HIGH; } digitalWrite(LEDPin, LEDstate); Serial.println(sensorValue); previous = reading; }

Code for LDR-RGB

const int redPin = 7; const int grnPin = 8; const int bluPin = 9; int SensorPin = A0; void setup() { pinMode(redPin, OUTPUT); pinMode(grnPin, OUTPUT); pinMode(bluPin, OUTPUT); pinMode(SensorPin, INPUT); Serial.begin(9600); } void loop() { if (analogRead(SensorPin) <= 200) { redtoyellow(); yellowtogreen(); greentocyan(); cyantoblue(); bluetomagenta(); magentatored(); } else if (analogRead(SensorPin) >= 201) { digitalWrite(redPin, LOW); digitalWrite(grnPin, LOW); digitalWrite(bluPin, LOW); } reading = digitalRead(SensorPin); Serial.println(sensorValue); previous = reading; } void redtoyellow() { digitalWrite(redPin, HIGH); digitalWrite(bluPin, LOW); // fade up green for(byte i=1; i<100; i++) { byte on = i; byte off = 100-on; for( byte a=0; a<100; a++ ) { digitalWrite(grnPin, HIGH); delayMicroseconds(on); digitalWrite(grnPin, LOW); delayMicroseconds(off); } } } void yellowtogreen() { digitalWrite(grnPin, HIGH); digitalWrite(bluPin, LOW); // fade down red for(byte i=1; i<100; i++) { byte on = 100-i; byte off = i; for( byte a=0; a<100; a++ ) { digitalWrite(redPin, HIGH); delayMicroseconds(on); digitalWrite(redPin, LOW); delayMicroseconds(off); } } } void greentocyan() { digitalWrite(grnPin, HIGH); digitalWrite(redPin, LOW); // fade up blue for(byte i=1; i<100; i++) { byte on = i; byte off = 100-on; for( byte a=0; a<100; a++ ) { digitalWrite(bluPin, HIGH); delayMicroseconds(on); digitalWrite(bluPin, LOW); delayMicroseconds(off); } } } void cyantoblue() { digitalWrite(bluPin, HIGH); digitalWrite(redPin, LOW); // fade down green for(byte i=1; i<100; i++) { byte on = 100-i; byte off = i; for( byte a=0; a<100; a++ ) { digitalWrite(grnPin, HIGH); delayMicroseconds(on); digitalWrite(grnPin, LOW); delayMicroseconds(off); } } } void bluetomagenta() { digitalWrite(bluPin, HIGH); digitalWrite(grnPin, LOW); // fade up red for(byte i=1; i<100; i++) { byte on = i; byte off = 100-on; for( byte a=0; a<100; a++ ) { digitalWrite(redPin, HIGH); delayMicroseconds(on); digitalWrite(redPin, LOW); delayMicroseconds(off); } } } void magentatored() { digitalWrite(redPin, HIGH); digitalWrite(grnPin, LOW); // fade down blue for(byte i=1; i<100; i++) { byte on = 100-i; byte off = i; for( byte a=0; a<100; a++ ) { digitalWrite(bluPin, HIGH); delayMicroseconds(on); digitalWrite(bluPin, LOW); delayMicroseconds(off); } } }

Tips and Tricks


Info Panel

  • Velostat-Resistive cloth having coating of Carbon
  • Nitinol- Memory wire that changes shape with current/temperature

Warning Notes

  • Keep caution regarding the soldering station. Always switch off when not using.
  • Dont let the soldering station without regulator get too hot as it damages tip.

Danger Panel

  • Wear anti static band before working on solering or while making connections
  • Keep a small burn lubricant nearby during soldering sessions.

Success Panel

  • Copper tape conducts one side and needs to be continuos.
  • Nitilol if passed current beyond prescribed temp could damage its state.

F.A.Q.

I usually ask the Global team or myself questions relevant to the week's task.I plan to use this section to help me document for our lab's next batch of students important questions and their answers discussed during Global review/Recitation.

Directly plugging in FTDI while programming and making changes to your board is dangerous as any short can lead to your USB getting damaged or the FTDI burning up in smoke. New laptops these days come with auto shutoff which disengage the USB ports if they detect a surge due to an expected short but older might not. The extension usb also helps not move around the circuit much and rather bend the usb towards the circuit from your laptop. Lastly if you are programming using a USB 3.0 hub, this wire lets you reduce it to USB 2.0 increasing the chances of your programming success into the ICs.
The on/off switch is analog switch which gives 0 and 1 as digital readings and is made from paper and copper tape with simple LED as output device. The LDR patch gives 0-1024 as analog readings and connects to an RGB led as an output device. At the time of writing, we do not possess conductive thread yet and so as per Anasatasia's instructions are meeting assignment criteria using copper tape.

Download Section