Assignment 5 Final: Twista-Wearable-Synth

I decided to make a crude version of a wearable synthesizer where capacitive touch sensors were placed without an obvious order relating to the notes. The idea was to have the user search for the notes often not knowing what the next note would be. I felt like this would lead to some unknown and interesting sounding tunes. Another feature of this system is that the scale that is played varies based on the amount of light in the environment. I envisioned a darker sounding harmonic minor sounder scale when it is night time and a happier major scale when it is day time.

This project used an Arduino Teensy because of it’s ease in creating capacitive touch sensors. I built the capacitive touch sensors using conductive tape made of Cu. A callibrated photodiode is used for measuring the amount of light in the environment.

Set Up

The form of the project is something I definitely needed to give more forethought. The long wires attached to the sensor were harder to incorporate into clothing than I had imagined. I definitely need to get better at envisioning how I want the project to look


when there is light
when it is night

Sound Interaction: Printerface

Screen printing with light up ink…The goal of this project is to create a textile-based interface for music playback, so a person will not need to check their phone for a simple task.

The current form is a foam core model that houses the arduino and other cables. A USB cable processes capacitive input from the printed gesture bar at the bottom to understand a user’s intention. The paper displays visual feedback to indicate the musics state. The video below describes how the technology works.



Assignment 5: Vampire’s Thrall





The first thing I had for this project was a series of shrieking speakers that shrieked harmonically, the frequencies of which could be raised and lowered with a potentiometer.
I wanted to make a series of tentacles that vacuum pumps would undulate uncomfortably, and would scream when touched.  However, depression was kicking my ass this week and I could barely keep lucid enough to make sense of code at all.  I ended up working with a heart rate monitor because it required less extra steps to make something spooky, because awareness of your own blood running through you is inherently creepy.

I wanted to have a wide variety of subtle atmospheric effects surrounding an alter-like sculpture, which would raise to a more anxiety inducing crescendo if they were reading someone’s rapid heart-rate.  Blinking LED eyes were to be a single element, not the central ones, but this is what I ended up with.

Spooky Scary Mask – Final


This is the final project of the Spooky Scary Mask, if you want to review the first part of the prototyping (the distance detector, how to play sound), please click here.

This part of the spooky scary mask, the main focus is how to work with the solinoid/fluid pumps and the mechanical part of the project. The main goal for the mechanical part is to make the fake blook flush into the mask, to create the bloody scary effect.

Here is the fritzing sketch for this somewhat-working demo, whichi is not a whole lot more complicated than the previous one:


Here is the code, not much have changed from prototype part 1:

//The Bloody Scary Mask - Part 1
//This code contains code and resources from this webpage:

//Set up the pins
const int trigPin = 11; //Trig - green Jumper - digital 
const int echoPin = 12; //Echo - yellow Jumper - pwm
const int soundPin = 5;

const int solinoid1 = 9;
const int solinoid2 = 8;

long duration, cm, inches;

//This is the function for a spooky sound (doesn't have to be exactly like this)
void scarySound() {
 for (int i = 100; i < 1000 ; i+= 20) {
 tone(soundPin, i);
 for (int i = 1000; i > 100; i-=20) {
 tone(soundPin, i);
 noTone(soundPin); // stop the sound after the trigger

void setup() {
 //Serial Port begin
 Serial.begin (9600);
 //Define inputs and outputs
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
 pinMode(soundPin, OUTPUT);
 pinMode(solinoid1, OUTPUT);
 pinMode(solinoid2, OUTPUT);
void loop()
 digitalWrite(solinoid1, LOW);
 digitalWrite(solinoid2, LOW);
 // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
 // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
 digitalWrite(trigPin, LOW);
 digitalWrite(trigPin, HIGH);
 digitalWrite(trigPin, LOW);
 // Read the signal from the sensor: a HIGH pulse whose
 // duration is the time (in microseconds) from the sending
 // of the ping to the reception of its echo off of an object.
 pinMode(echoPin, INPUT);
 duration = pulseIn(echoPin, HIGH);
 // convert the time into a distance
 cm = (duration/2) / 29.1;
 inches = (duration/2) / 74; 
 Serial.print("in, ");

//if the person is close enough, things will be triggered
 if (cm < 20){
 digitalWrite(solinoid1, HIGH);
 digitalWrite(solinoid2, HIGH);



The coding and wiring part of the second half is not hard to figure out. However , the mechanical part is really hard to be done. Since I bought the mask from a Halloween store, and this is a part of a kid costume. The bloody “heart” is made for the force that can be applied by human hand. In this case however, the solinoids can’t apply


Assignment 5 (final): Sound Form


To reiterate my idea:

Sound exists as sound wave but is only perceived by us through vibration of objects. In this project, I want to change the way we perceive and manipulate sound by emphasizing on the motion of sound waves.

As a violinist, I feel the music through the position of my fingers. When I first learned how to find the right finger positions  to play different notes, my perception of pitch carries a more physical form (location on finger board). I am inspired by this idea and want to present that experience through this project.

As the user move their hand across the strings, the tensity/deformation of strings varies. The users will then fine tune the instrument by finding the pattern of pitch change with respect to their finger position. The sound is really unstable, which adds emotion and interaction to this instrument.


More problems I ran into/Things I fixed:
1. The IR sensor reading was really unstable. I first changed how often I take the data but the reading still fluctuate a lot. So I googled and found that I should add a 100 uF capacitor.

2. Servo almost did not work. After I fixed the IR reading and sound input, I could not start my servo. I played around with the range of servo input and double checked the wiring, and I did not find any error. Then I increased the current and voltage input and suddenly the servo was running. (the arduino god did not give up on me!!)