int timer =150;
int timer2= 10;// The higher the number, the slower the timing.
int ledPins[] = {2,3, 4,5,6,7,8,9,10}; // an array of pin numbers to which LEDs are attached
int pinCount = 12; // the number of pins (i.e. the length of the array)
void setup(){
// the array elements are numbered from 0 to (pinCount - 1).
// use a for loop to initialize each pin as an output:
for (int i = 0; i < pinCount; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// loop from the lowest pin to the highest:
for (int i = 0; i < pinCount; i++) {
// turn the pin on:
digitalWrite(ledPins[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(ledPins[i], LOW);
delay (timer2);
}
// loop from the highest pin to the lowest:
for (int i = pinCount - 1; i >= 0; i--) {
//turn the pin on:
digitalWrite(ledPins[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(ledPins[i], LOW);}
delay(timer2);
if (timer>=20)
timer=timer-10;
else
timer=20;
}
Codigo version 2
//Solo funciona con 3 salidas,pero solo es cuestion de modificar dentro del arreglo ledPins
int timer =150;
int c=0;
int timer2= 10;// The higher the number, the slower the timing.
int ledPins[] = {4,5,7}; // an array of pin numbers to which LEDs are attached
int green[]={7};//an array of pin numbers in color green
int red[]={5};
int blue[]={4};
int pinCount = 3; // 12 the number of pins (i.e. the length of the array)
int pinCount2=4;
void setup(){
// the array elements are numbered from 0 to (pinCount - 1).
// use a for loop to initialize each pin as an output:
for (int i = 0; i < pinCount; i++) {
pinMode(ledPins[i], OUTPUT);
}
for (int i = 0; i < pinCount2; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
here:
// loop from the lowest pin to the highest:
c=0;
timer=150;
while(c<50){
for (int i = 0; i < pinCount; i++) {
// turn the pin on:
digitalWrite(ledPins[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(ledPins[i], LOW);
delay (timer2);
}
// loop from the highest pin to the lowest:
for (int i = pinCount - 1; i >= 0; i--) {
//turn the pin on:
digitalWrite(ledPins[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(ledPins[i], LOW);}
delay(timer2);
if (timer>=20)
timer=timer-10;
else
timer=20;
c=c+1;
}
c=0;
timer=150;
while (c<=50){
for (int i = 0; i < pinCount2; i++) {
// turn the pin on:
digitalWrite(green[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(green[i], LOW);
delay (timer2);
}
// loop from the highest pin to the lowest:
for (int i = pinCount2 - 1; i >= 0; i--) {
//turn the pin on:
digitalWrite(green[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(green[i], LOW);}
delay(timer2);
if (timer>=20){
timer=timer-10;
c=c+1;}
else
{timer=20;
c=c+1;}
}
c=0;
timer=150;
while (c<=50){
for (int i = 0; i < pinCount2; i++) {
// turn the pin on:
digitalWrite(red[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(red[i], LOW);
delay (timer2);
}
// loop from the highest pin to the lowest:
for (int i = pinCount2 - 1; i >= 0; i--) {
//turn the pin on:
digitalWrite(red[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(red[i], LOW);}
delay(timer2);
if (timer>=20){
timer=timer-10;
c=c+1;}
else
{timer=20;
c=c+1;}
}
c=0;
timer=150;
while (c<=50){
for (int i = 0; i < pinCount2; i++) {
// turn the pin on:
digitalWrite(blue[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(blue[i], LOW);
delay (timer2);
}
// loop from the highest pin to the lowest:
for (int i = pinCount2 - 1; i >= 0; i--) {
//turn the pin on:
digitalWrite(blue[i], HIGH);
delay(timer);
// turn the pin off:
digitalWrite(blue[i], LOW);}
delay(timer2);
if (timer>=20){
timer=timer-10;
c=c+1;}
else
{timer=20;
c=c+1;}
}
goto here;
}
No hay comentarios.:
Publicar un comentario