Hoy usaremos el mismo montaje de la anterior entrada e
intentaremos dar una vuelta de tuerca al ejemplo del día anterior y de paso
avanzar un poco en técnicas de programación.
El otro día definimos un retraso de 1 segundo entre cada
orden de encendido. ¿Qué pasaría si quisiéramos modificar este valor? Podemos
hacer cómo el primer ejemplo, y modificarlo en cada parte del programa que
aparezca, o usar una variable.
Veamos como quedaba el otro día el void loop:
{
digitalWrite(2,HIGH);// Encendemos el Led 1
poniendo su salida en 1, HIGH
delay(1000); //Espera de un
segundo
digitalWrite(2,LOW);//Apagamos el Led 1
poniendo su pina a 0, o LOW
digitalWrite(3,HIGH);//Repetimos los mismo
pasos hasta el led 4
delay(1000);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
delay(1000);
digitalWrite(5,LOW);
}
En esta caso tendría que ir a modificar cada línea de forma
individual, o tener una variable con un valor, y modificando tan solo ese
valor, automáticamente se cambiaría en todos los puntos que se use. Quedaría
algo así el sketch completo:
//Ejemplo1.1
versión para explicar el uso de variables para parámetros repetitivos
//sobre el
ejemplo 1
int d=1000; // variable de tipo integer, que define el
tiempo de delay
void setup()
{
pinMode(2,OUTPUT); //Pin 2 conectado al
led 1, definido como salida
pinMode(3,OUTPUT); //Pin 3 conectado al
led 2, definido como salida
pinMode(4,OUTPUT); //Pin 4 conectado al
led 5, definido como salida
pinMode(5,OUTPUT);
//etc...
}
void loop()
{
digitalWrite(2,HIGH);// Encendemos el Led 1 poniendo su salida en 1, HIGH
delay(d); //Espera de un segundo
digitalWrite(2,LOW);//Apagamos el Led 1
poniendo su pina a 0, o LOW
digitalWrite(3,HIGH);//Repetimos los mismo
pasos hasta el led 4
delay(d);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
delay(d);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
delay(d);
digitalWrite(5,LOW);
//final del Loop, ahora volverá al incicio del
bucle,
//y se repetirá indefinidamente
}
Ahora, cambiando en el código el valor de d, cambiaría en
todo el programa a la vez. En este caso hemos usado una variable del tipo int o integer. Este tipo de variable
puede contener un número entero comprendido entre -32.768 y 32.767. Modificar
ahora el tiempo de destello es mucho más sencillo.
En el video se puede observar como cada cambio, del valor de d se aplica inmeditamente en todo el programa:
Ya iremos profundizando en el tipo y uso de variables
conforme vayamos avanzando. De momento conserva este montaje, que mañana
intentaremos mejorarlo un poco más.
No hay comentarios:
Publicar un comentario