
















February 15th, 2010 joel.letkemann@iaac.net Posted in Fabio Andres Lopez Mora, Joel Letkemann, T5: Viraj_Joel_Fabio, Viraj Kataria | No Comments »
February 7th, 2010 melat.asfaw@iaac.net Posted in T1: Melat_Joao_Brian | No Comments »
1.1.KUMIHIMO BRAIDING
SYSTEM -Yarn Shifting Based (variable amount of feeders – even number)
OUTCOME – single yarn(or geometrical variation if some object is inserted)
1.2. BRAIDING MACHINES
SYSTEM –> Rotative (variable amount of feeders –> even number)
OUTCOME –> closed revolved surface
1.3 KNITTERS
SYSTEM –> CIRCULAR OR LINEAR (singular feeder)
OUTCOME –> open & closed surfaces
KNITTERS OUTCOME & EXISTING SOFTWARE
(based on bidimensional patterns)
You can find the link to the code on Dream Weaver DC motor controls
You can find the video of the machine in action on dreamweaver_Brian,Joao,Melat
You can find the link for the servo controls on Dream Weaver Servo controls
The pdf of this presentation can be found at DREAMWEAVER_Melat.Brian.Joao
February 5th, 2010 jessica.lai@iaac.net Posted in T7: Jessica_Miquel | No Comments »

SPHERIFICATION
In our conceptual machine we borrowed the technique of ‘Inverse Spherification’ that was invented Ferran Adrià in the molecular gastronomy – when a liquid droplet whichever contains calcium is submerged into an alginate bath, the droplet of liquid will then be spherified by forming a ‘gel’ like surface around the sphere. Droplets become ‘caviers’ in water depending on the sizes of injecting device.
THE MATERIAL EXPERIMENTS
We are carrying out series of experiments of spherifying a variety of liquid (e.g. water liquid, oil, plaster cement, yoghurt, milk etc.) as well as investigating the physical and chemical properties of the spherified liquid.

Spherification of various water-based liquid

Forms of yoghurt droplets in alginate bath injected by syringe

Forms of milk droplets in alginate bath

Positions of yoghurt droplets in higher concerntrated alginate bath

Position of yoghurt droplets in higher concerntration of alginate bath

The simultaneous emulsification and spherification of milk in alginate bath
THE PRINTING MACHINE
The first generation of the Fluid Inject Printer is a 1-axix machine with only 2 controllable parameters. It consists a stepper motor that controls the syringe’s trajectory and a DC motor that controls the amount of injection into the alginate bath.
(1) Both devices are feeded by commands of the Arduino;
(2) Trajectory of syringe determines the location of print;
(3) While liquid is being ejected out from the syringe it becomes instantaneously ’spherified’ in the alginate bath. Hence the first form is printed.


// change the steps variable to the number of steps on your motor
int steps = 100;
int switchPin = 2; // switch input
int motor1Pin1 = 8; // pin 2 on L293D
int motor1Pin2 = 9; // pin 7 on L293D
// create and attaches a stepper motor
// with 100 steps to pins 0, 1, 2 and 3
// calibration
int stepLength = 50;
int liquidAmount = 25;
Stepper stepper(steps, 3, 4, 5, 6);
void setup()
{
// set the speed of the motor to 20 rpms
stepper.setSpeed(200);
pinMode(switchPin, INPUT);
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
Serial.begin(9600);
Serial.println(”hello world”);
}
void loop() {
if (Serial.available() > 0) {
int dataIn = Serial.read();
switch(dataIn) {
case ‘]’:
stepper.step(stepLength);
break;
case ‘[’:
stepper.step(-stepLength);
break;
case ‘,’: //up
digitalWrite(motor1Pin1, LOW); // set pin 2 on L293D low
digitalWrite(motor1Pin2, HIGH); // set pin 7 on L293D
delay(liquidAmount);
digitalWrite(motor1Pin2, LOW); // set pin 7 on L293D
break;
case ‘.’: //down
digitalWrite(motor1Pin1, HIGH); // set pin 2 on L293D low
digitalWrite(motor1Pin2, LOW); // set pin 7 on L293D
delay(liquidAmount);
digitalWrite(motor1Pin1, LOW); // set pin 2 on L293D low
break;
}
}
}
January 22nd, 2010 georgia.kotsari@iaac.net Posted in T6: Georgia_Mia_Tomasz | No Comments »


1. Stepper motor receives rotate command from laptop. This movement triggers piezo sensor1 which activates machine2.
2. The motion produced by machine2 activates piezo sensor2 which activates machine3.
3. Machine3 randomly roves and draws.
#include <Stepper.h>
// change the steps variable to the number of steps on your motor
int steps = 100;
int switchPin = 9;
int chipPin1 = 10;
int chipPin2 = 11;
int dollPin1 = 8;
int dollPin2 = 12;
int piezoPin1 = 5;
int piezoPin2 = 4;
// create and attaches a stepper motor
// with 100 steps to pins 0, 1, 2 and 3
Stepper stepper(steps, 14,15,16,17);
void setup()
{
pinMode(switchPin,INPUT);
digitalWrite(switchPin,HIGH);
// set the speed of the motor to 20 rpms
stepper.setSpeed(50);
stepper.step(50);
pinMode(dollPin1, OUTPUT);
pinMode(dollPin2, OUTPUT);
pinMode(chipPin1, OUTPUT);
pinMode(chipPin2, OUTPUT);
Serial.begin(9600);
Serial.println(”hello world”);
}
void loop()
{
Serial.println(analogRead(piezoPin1));
if (analogRead(piezoPin1) > 1) {
for (int i=0;i<50;i++) {
digitalWrite(dollPin1, HIGH);
digitalWrite(dollPin2, LOW);
delay(50);
digitalWrite(dollPin1, LOW);
digitalWrite(dollPin2, HIGH);
delay(200);
digitalWrite(dollPin1, LOW);
digitalWrite(dollPin2, LOW);
}
Serial.println(analogRead(piezoPin2));
}
if (analogRead(piezoPin2) > 2) {
for (int i=0;i<5;i++) {
digitalWrite(chipPin1, HIGH);
digitalWrite(chipPin2, LOW);
delay(500);
digitalWrite(chipPin1, LOW);
digitalWrite(chipPin2, HIGH);
delay(500);
digitalWrite(chipPin1, LOW);
digitalWrite(chipPin2, LOW);
}
}
if (Serial.available() > 0) {
int dataIn = Serial.read();
switch(dataIn) {
case(49): // number 1
stepper.step(50);
break;
case(50):
stepper.step(-50);
break;
case(51):
stepper.step(50);
break;
case(52):
stepper.step(-50);
break;
case(53):
stepper.step(-10);
break;
case(54):
for (int i=0;i<10;i++) {
digitalWrite(dollPin1, HIGH);
digitalWrite(dollPin2, LOW);
delay(random(50));
digitalWrite(dollPin1, LOW);
digitalWrite(dollPin2, HIGH);
delay(random(50));
digitalWrite(dollPin1, LOW);
digitalWrite(dollPin2, LOW);
}
break;
case(55):
for (int i=0;i<10;i++) {
digitalWrite(chipPin1, HIGH);
digitalWrite(chipPin2, LOW);
delay(random(100));
digitalWrite(chipPin1, LOW);
digitalWrite(chipPin2, HIGH);
delay(random(100));
digitalWrite(chipPin1, LOW);
digitalWrite(chipPin2, LOW);
}
break;
}
}
delay(100);
/*
if (digitalRead(switchPin) == HIGH) {
// move 20 steps forward
stepper.step(50);
}
else {
stepper.step(-50);
}
{
digitalWrite(dollPin1, HIGH);
digitalWrite(dollPin2, LOW);
delay(2000);
digitalWrite(dollPin1, LOW);
digitalWrite(dollPin2, HIGH);
delay(2000);
digitalWrite(dollPin1, HIGH);
digitalWrite(dollPin2, LOW);
delay(2000);
}
digitalWrite(chipPin1, HIGH);
delay(5000);
digitalWrite(chipPin2, LOW);
delay(10000);
*/
}
January 17th, 2010 joel.letkemann@iaac.net Posted in T5: Viraj_Joel_Fabio | No Comments »

This script operates 2 stepper motors using 2 potentiometers. playing with the values allows you to calibrate the sensitivity of the motors.
#include <Stepper.h>
#define STEPS 100 // no. of steps on motor
Stepper stepper(STEPS, 8, 9, 10, 11); // stepper, number of steps, pins
Stepper stepper1(STEPS, 4, 5, 6, 7);
int potval0 = 0; //incoming potentiometer values
int potval1 = 1;
int previous = 0;
int previous1 = 0;
int potmin = 1023;// pot minimum and maximum for re-mapping the values
int potmax = 0;
void setup()
{
// set the speed of the motor (RPMs)
stepper.setSpeed(50);
stepper1.setSpeed(50);
}
void loop()
{
// get the sensor value
potval0 = analogRead(0);
potval0 = map(potval0, potmin, potmax, 0, 100);//re-map sensor value to no. of steps
potval1 = analogRead(1);
potval1 = map(potval1, potmin, potmax, 0, 100);
int val = potval0;
int val1 = potval1;
stepper.step(val – previous); //number of steps sent to sensor
stepper1.step(val1 – previous1); // remember the previous value of the sensor
previous = val;
previous1 = val1;
}
December 9th, 2009 admin Posted in Uncategorized | 1 Comment »
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!