Skin electronic

untitled

OBJECTIVE
Build a customized mask using LEDs light and push button.

GROWTH STRUCTURE ON SURFACE
In order to customize the mask, I used a dla growth (diffusion limited aggregation) algorithm on the face surface.

Frame_00020.png

Here the .gh file_dla growth on a surface
Video simulation

 

  •  Ones the growth on the surface is completed, I extract the outline of the 3D shape to prepare the laser cut file.
  • The materials used are: Neoprene / Semirigid plastic sheet.
    I choose 4mm neoprene to hide the electronics, and the Semirigid is used to support the neoprene.
  • Both materials have been laser-cut with the same shape.

DSC_0736


DSC_0527

DSC_0674

DSC_0678Two layers


ARDUINO FUNCTION
The second steps were to build the circuit and design it embed on the mask.


objective: Make a circuit with two LEDs in series blinking alternatively, with a PushButton to switch on and off the led.

Arduino – Blink LED with Trigger PushButtin

180127_Graphic Sketch Arduino.png

const byte ledPin = 13;
const byte interruptPin = 3;
volatile byte state = LOW;
bool toggleState = false;
//const uint8_t ledPin = 13;
const uint8_t ledPin1 = 12;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(ledPin1, OUTPUT);

pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, RISING);
}

void loop() {

if(state==HIGH){
digitalWrite( ledPin, HIGH );
digitalWrite( ledPin1, LOW );
delay(300);
digitalWrite( ledPin, LOW );
digitalWrite( ledPin1, HIGH );
delay(300);
Serial.println( F ( “Switched ON” ) );
}else if(state==LOW)
{
digitalWrite( ledPin, LOW );
digitalWrite( ledPin1, LOW );

}

}

void blink() {
state = !state;


ATTINY – Blink LED with Trigger PushButtin
180127_Graphic Sketch attiny

 

#include <PinChangeInterrupt.h>
#include <PinChangeInterruptBoards.h>
#include <PinChangeInterruptPins.h>
#include <PinChangeInterruptSettings.h>

const byte ledPin = 0;
const byte ledPin1 = 2;

const byte interruptPin = 1;
const byte interruptNumber = 1;

volatile byte state = LOW;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(ledPin1, OUTPUT);

pinMode(interruptPin, INPUT_PULLUP);
attachPinChangeInterrupt(interruptNumber, blink, RISING);
}

void loop() {

if (state == HIGH) {
digitalWrite( ledPin, HIGH );
digitalWrite( ledPin1, LOW );
delay(300);
digitalWrite( ledPin, LOW );
digitalWrite( ledPin1, HIGH );
delay(300);
} else if (state == LOW)
{
digitalWrite( ledPin, LOW );
digitalWrite( ledPin1, LOW );

}

}

void blink() {
state = !state;
}


Useful link

PinChangeInterrupt-master library
https://github.com/NicoHood/PinChangeInterrupt

how to install a library:
https://www.arduino.cc/en/pmwiki.php?n=Guide/Libraries

attachInterrupt :
https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

ATTiny85 Interrupt id vs pin when programming with Arduino: https://arduino.stackexchange.com/questions/3929/attiny85-interrupt-id-vs-pin-when-programming-with-arduino


SOFT CIRCUIT

  • The tird step is to create the soft circuit digitally,  on top of the design.
    In this step, we will decide which path the circuit will be placed.
  • For the soft circuit, I use a high conductive copper fabric. Which has been glue with the glue film ( to attached on the neoprene later) and laser cut it.

Cattur02.JPG

DSC_0705

  • Place the mini  LEDs along the circuit. The LED required to be completely attached to the copper fabric. Therefore I stitch the Led with a copper wire.
    Is also possible to sew the Led with the normal cotton thread.

 

DSC_0751

  • Solde the ATTINY on the copper fabric

DSC_0786

 

  • close the final circuit with the Semirigid material to cover the electronics.

DSC_0811

 
DSC_0814