Arduino no responde correctamente al código cargado

Hola. Soy nuevo no, lo siguiente. Mis conocimientos son prácticamente nulos. Dicho esto tengo un problema parecido a lo que comentas. Verifico y cargo el código pero resulta que no ejecuta lo que quiero hacer. He probado a cargar otro código y si que hace lo que quiero, lo que me hace pensar que ni el montaje ni la placa falla. os dejo el código por si me podeís ayudar.
Gracias

int i;
int j;

void setup()
{
int i = 9 ;
for ( i = 9 ; i = 5 ; i--) {
pinMode( i , OUTPUT) ;
}
int j = 9 ;
for ( j = 9 ; j = 13 ; j++) {
pinMode ( j, OUTPUT) ;
}
}

void loop ()

{
for (i = 9, j = 9 ; i >= 5 && j <= 13 ; i-- , j++ )
{
digitalWrite(i , HIGH);
digitalWrite(j, HIGH);
delay(100);
digitalWrite(i, LOW);
digitalWrite(j , LOW);
delay (100);
}
}

lo que pretendo hacer es; teniendo 9 led que se encienda y apague una secuencia y vaya creciendo y decreciendo al mismo tiempo del centro hacia la izq y dch. tengo conectados los pines del 5 al 13 en los pines digitales.
Si me podeís ayudar???

Tienes bastantes errores de conceptos bastante importantes, comencemos:

  1. Lee las normas del foro y edita el código entre las tags correspondientes para así verlo mejor y poder ayudarte mejor.

for ( i = 9 ; i = 5 ; i--)

El bucle for no se programa así, la primera sentencia es la inicialización de la variable, la segunda el condicional de cumplimiento y la siguiente el incremento en cada iteración. De modo que si lo que quieres hacer es decrementar una variable desde 9 a 5 deberías hacer lo siguiente:

for ( i = 9 ; i > 4 ; i--)
{
//El bucle se ejecutara mientras que i sea mayor que 5, por lo que pasará por i=9, i=8, i=7, i=6, i=5 (se ejecutará 5 veces en total)
}

Lo análogo para el otro.

for (i = 9, j = 9 ; i >= 5 && j <= 13 ; i-- , j++ )

Esto no lo puedes hacer, en un bucle for solo puedes iterar una variable, para ir iterando dos tendrías que anidar bucles for, pero en este caso no te sirve porque enntiendo que quieres que los leds se "expandan hacia fuera" a la vez a la izquierda y derecha, vamos, el coche fantástico.

Pero por suerte para ti, es más fácil que todo esto:

void loop ()
{
    j = 9;
    for (i = 9; i > 4 ; i-- ) 
    {
         digitalWrite(i , HIGH);
         digitalWrite(j, HIGH);
         delay(100);
         digitalWrite(i, LOW);
         digitalWrite(j , LOW);
         delay (100);
         j ++;
    }
}

La primera de todas no me convence puesto que haces 2 veces lo mismo y pierdes tiempo (ridículo pero algo pierdes) pero es por seguir con tu código tal y como lo tenías planteado.

Con esto te debería funcionar, pero mi consejo es que busques un buen libro de arduíno y repases bien las bases de programación primero para comprender mejor los bucles y luego ya ponerte a hacer cositas :wink:

Y aquí te dejo una propuesta que a mi me gusta más, dale una vuelta e intenta entender bien qué hago y si tienes dudas preguntame.

int leftPossition;
int rightPossition;
int state;

void setup()
{
    for ( int i = 5 ; i < 14 ; i++) 
    {   
         pinMode( i , OUTPUT) ;
     }
     leftPossition = 8;
     rightPossition = 10;
     state = 0;
}
void loop ()
{      
    switch(state)
    {
        case 0:
        digitalWrite(9,HIGH);
        delay(100);
        digitalWrite(9,LOW);
        delay(100);
        break;

        case 5:
        state = 0;
        break;

        default:
        digitalWrite(leftPossition,HIGH);
        digitalWrite(rightPossition,HIGH);
        delay(100);
        digitalWrite(leftPossition,LOW);
        digitalWrite(rightPossition,LOW);
        delay(100);
        leftPossition --;
        rightPossition++;
        break;

    }
    state++;
}