Secuencia neumatica

¿Cómo están todos?

Necesito entregar un proyecto de neumática con las siguientes condiciones:

a)des/activar dos pistones individualmente con las teclas del pc(ya lo logré)
b)hacer una secuencia con los pistones con una sola tecla(lo que no se como hacer)

esta secuencia debe de activar el pistón 1, cuando llegue a final de carrera activar el pistón 2,
y cuando ambos estén en final de carrera desactivar los 2 simultáneamente HELP!!!

Esto es lo que llevo del código:

int p1=13;//declaro piston 1
int p2=12;//declaro piston 2
char val;//

void setup() {

Serial.begin(9600);
pinMode(p1,OUTPUT);
pinMode(p2,OUTPUT);

}

void loop()
{
val = Serial.read();
switch(val)
{

case 'A':
digitalWrite(p1,HIGH);
delay(500);

break;

case 'B':
digitalWrite(p1,LOW);
delay(500);

break;

case 'X':
digitalWrite(p2,HIGH);
delay(500);

break;

case 'Y':
digitalWrite(p2,LOW);
delay(500);
}
}

Lee las Normas del foro
Luego ve a More (abajo a la derecha), click, luego Modify y estas en modo EDICION.
Si tienes que editar un código -> Selecciona todo el código y click en </> arriba del emoticon.