BRAILLE MACHINE and SQUEEZE TO SAY HELLO! // Prototypes with electronics

Quick prototyping with arduino

Quick prototyping with arduino board

Background
The one week Designing Interaction with Electronics workshop by Michihito Mizutani is held yearly at the Media Lab Helsinki. The highly popular course is every year fully booked by the students of Taik. More info can be found from the course description page and the course website http://mlab.taik.fi/paja. During the workshop week we experimented with Arduino boards, schematic plans and different kinds sensors. Together with Anusha Iyer we started with tangible communication as we were both interested in communication issues of people with disabilities. We came up with two quick prototypes: the Braille Machine and Squeeze to Say Hello!.

Website
http://mlab.taik.fi/paja/?p=1036

Team
Anusha Iyer, Liisa Tervinen

Technical info
Arduino boards, piezo speaker, blow motor, flexiforce sensor, LED’s

Advertisements

Published by Liisa Tervinen

Liisa Tervinen (1985) has been working widely in the art and design field. Besides doing her own artistic work, she has been teaching workshops and worked in many creative teams. She has a Master of Arts degree in New Media from the Aalto University (Finland) and open for job opportunities.

One Comment

  1. Arduino codes:

    Braille Machine
    // 2009 mlab.uiah.fi/paja
    // Braille Fedback (c) Anusha Iyer & Liisa Tervinen

    int vibPin1 = 7;
    int vibPin2 = 6;
    int vibPin3 = 5;
    int vibPin4 = 10;
    int vibPin5 = 9;

    void setup() {
    // initialize serial communication:
    Serial.begin(9600);
    // initialize the LED pins:

    pinMode(vibPin1, OUTPUT);
    pinMode(vibPin2, OUTPUT);
    pinMode(vibPin3, OUTPUT);
    pinMode(vibPin4, OUTPUT);
    pinMode(vibPin5, OUTPUT);

    }

    void loop() {
    // read the sensor:
    if (Serial.available() > 0) {
    int inByte = Serial.read();
    // do something different depending on the character received.
    // The switch statement expects single number values for each case;
    // in this exmaple, though, you’re using single quotes to tell
    // the controller to get the ASCII value for the character. For
    // example ‘a’ = 97, ‘b’ = 98, and so forth:

    switch (inByte) {
    case ‘a’:
    digitalWrite(vibPin1, HIGH);
    break;
    case ‘b’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    break;
    case ‘c’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin4, HIGH);
    break;
    case ‘d’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin4, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘e’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘f’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin4, HIGH);
    break;
    case ‘g’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin4, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘h’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘i’:
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin4, HIGH);
    break;
    case ‘j’:
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin4, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘k’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin3, HIGH);
    break;
    case ‘l’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin3, HIGH);
    break;
    case ‘m’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin4, HIGH);
    break;
    case ‘n’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin4, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘o’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘p’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin4, HIGH);
    break;
    case ‘q’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin4, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ‘r’:
    digitalWrite(vibPin1, HIGH);
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    case ’s’:
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin4, HIGH);
    break;
    case ‘t’:
    digitalWrite(vibPin2, HIGH);
    digitalWrite(vibPin3, HIGH);
    digitalWrite(vibPin4, HIGH);
    digitalWrite(vibPin5, HIGH);
    break;
    /*case ‘u’:
    digitalWrite(vibPin1, HIGH);
    break;
    case ‘v’:
    digitalWrite(vibPin1, HIGH);
    break;
    case ‘e’:
    digitalWrite(vibPin1, HIGH);
    break;
    */

    //default:
    // turn all the LEDs off:
    }
    delay(3000);
    digitalWrite(vibPin1, LOW);
    digitalWrite(vibPin2, LOW);
    digitalWrite(vibPin3, LOW);
    digitalWrite(vibPin4, LOW);
    digitalWrite(vibPin5, LOW);
    }
    }


    Squeeze to Say Hello!

    // 2009 mlab.uiah.fi/paja
    // Flexiforce to blow motor (c) Anusha Iyer & Liisa Tervinen

    int motorPin = 8;
    int pressurePin = 0;
    int valInt;

    void setup(){
    Serial.begin(9600);
    pinMode(motorPin, OUTPUT);

    }

    // Get data from the flexiforce sensor:

    void loop(){
    // analogRead returns integer from 0 to 1023
    // parameter defines the analog input pin
    valInt = analogRead(pressurePin);
    // convert the value between 0 and 255
    //valInt = valInt /4;

    // if flexiforce is used then do this on the blow motor:
    if (valInt >= 100){
    digitalWrite(motorPin, HIGH);
    //delay(2000);
    } else {
    digitalWrite(motorPin, LOW);
    }
    Serial.println(valInt, DEC);
    delay(100);
    }

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s