Go Down

Topic: NO FUNCIONA COMO DEBERIA (Read 223 times) previous topic - next topic

adrian_mendez

Oct 27, 2020, 09:51 pm Last Edit: Nov 05, 2020, 04:28 am by surbyte
Buen día a todos, miren estoy haciendo un proyecto en donde conecto 7 leds en la placa de arduino uno de los pines 0-8, quiero hacer una secuencia de luces en donde comience a encender los dos leds centrales que serian los conectados al pin 3 y 4, después apagarlos e ir encendiendo los dos siguientes, respectivamente, el problema que tengo es que enciende una parte primero y después otra, espero que me puedan ayudar, adjunto mi código y la simulación hecha en proteus.

Code: [Select]
int pinled[]={0,1,2,3,4,5,6,7};
int Npin=8;
int NpinMin=3;
 
void setup(){
  for(int i=0;i<=7;i++){ //SE INICIALIZAN TODOS LOS PINES COMO SALIDA
  pinMode(pinled[i], OUTPUT);
 
  }
}

void loop(){
 
 encender();
 delay(100);
}
void encender(){
   for(int j=NpinMin; j>=0; j--){
    for(int i=4; i<=Npin; i++){
      digitalWrite(pinled[j], HIGH);
      digitalWrite(pinled[i], HIGH);
      delay(100);
    } 
   }
}



gatul

#1
Oct 28, 2020, 04:34 am Last Edit: Oct 28, 2020, 04:38 am by gatul
Code: [Select]
int pinled[]={0,1,2,3,4,5,6,7};
int Npin=8;
int NpinMin=3;

void setup(){
  for(int i=0;i<=7;i++){ //SE INICIALIZAN TODOS LOS PINES COMO SALIDA
  pinMode(pinled[i], OUTPUT);
  }
}

void loop(){
 encender();
 delay(100);
}

void encender(){
   int i= 4;
   for(int j=NpinMin; j>=0; j--){
 //   for(int i=4; i<=Npin; i++){
      digitalWrite(pinled[j], HIGH);
      digitalWrite(pinled[i], HIGH);
      delay(100);
// te agrego el apagado de acuerdo a como lo planteaste
      digitalWrite(pinled[j], LOW);
      digitalWrite(pinled[i], LOW);
      i++;
//     }
   }
}

Esto es lo que querías que haga el arduino? ;)

Saludos

Go Up