ESQUISITE CORPSE v2


/****************************************
Exquisite Corpse API
Vincent Leclerc 10/2011
Small update by Mouna Andraos & Eva Schindling 10/2012
****************************************/
byte datum1 = 0;
byte datum2 = 0;
byte datum3 = 0;
void setup()
{
// setup serial port
Serial.begin(9600);

// setup digital pin 13 (onboard LED)
pinMode(13,OUTPUT);

// flush buffer on startup
while(Serial.available()>0) Serial.read();

// set random seed
randomSeed(analogRead(0));

// seed random data to begin loop
Serial.write((byte)random(255));
Serial.write((byte)random(255));
Serial.write((byte)random(255));
}

void loop()
{
//////////////////////////////////////////////////////////
// WAIT FOR A NEW PACKET
//////////////////////////////////////////////////////////
while (Serial.available() < 3) blinkLED();

datum1 = Serial.read();
datum2 = Serial.read();
datum3 = Serial.read();

// flush buffer
while(Serial.available()>0) Serial.read();

//////////////////////////////////////////////////////////
// MAKE SOMETHING HAPPEN IN THE PHYSICAL WORLD
// ACCORDING TO THE RECEIVED PACKET
//////////////////////////////////////////////////////////

// add your code here

//////////////////////////////////////////////////////////
// PAUSE FOR 2 SECONDS to show you received package
//////////////////////////////////////////////////////////
delay(2000);

//////////////////////////////////////////////////////////
// MODIFY THE PACKET
//////////////////////////////////////////////////////////
// add your code here
//////////////////////////////////////////////////////////
// SEND THE NEW PACKET
//////////////////////////////////////////////////////////
Serial.write(datum1);
Serial.write(datum2);
Serial.write(datum3);

//////////////////////////////////////////////////////////
// PAUSE FOR 1 SECOND
//////////////////////////////////////////////////////////
delay(1000);

}
//////////////////////////////////////////////////////////////
// BLINKING LED FUNCTION
//////////////////////////////////////////////////////////////
void blinkLED(){
digitalWrite(13,HIGH);
delay(55);
digitalWrite(13,LOW);
delay(55);
}