6. Ejemplo lista enlazada

//*****************************//
//  Germán Andrés Xander 2018  //
//*****************************//

struct led {
  int numero;
  led *proximo;
};

led *secuencia;
int tiempo=500;
long time=0;

void setup() {
  secuencia = new led[4];
  int i;
  for(i=0; i<4;i++) {
    (secuencia+i)->numero=(i*2)+6;
    pinMode((secuencia+i)->numero,OUTPUT);
    (secuencia+i)->proximo=(secuencia+i+1);
  }
  (secuencia+i-1)->proximo=secuencia;
  
  Serial.begin(9600);
}
 
void loop() {
  if((millis() - time) > tiempo) {
    time = millis();
    Serial.println(secuencia->numero);
    digitalWrite(secuencia->numero,LOW);
    secuencia=secuencia->proximo;
    digitalWrite(secuencia->numero,HIGH);
  }
}