El ciclo For en Arduino

Hola a todos:

En esta ocasión veremos una estructura de programación que sirve para repetir una o varias acciones un determinado numero de veces, el ciclo FOR.
Muchas veces queremos que nuestro Arduino realice alguna actividad cierta cantidad de veces, o que repita algún patrón como llenar una Matriz de datos o leer dicha matriz.
Esta estructura, personalmente la he ocupado en manipuladores robóticos, dando una pequeña pausa entre el avance grado a grado de un servomotor. Con esto se consigue que el motor avance mas lento y el movimiento sea mas suave. Pero eso es tema para otra ocasión.
La cosa es que para nuestro Arduino también contamos con esta estructura de programación, la sintaxis es la siguiente:

for(valor_inicial ;  valor_final ; incremento o decremento de valor)
{
   //dentro de las llaves van los comandos que se repetirán
  //cuantas veces se repita el ciclo
}

Ejemplo:

for(int i=0;i<5;i++)
{
// instrucciones y comandos
}

Esta estructura se puede ocupar para controlar la intensidad de un LED, manejar un Servomotor, manejar secuencias entre otros.


Variar la intensidad de un LED
Lo primero que hay que hacer es montar el siguiente circuito, siempre teniendo en cuenta que la patita larga del led va al positivo y la patita corta al negativo:



Conectando el Led al pin 11 y a la tierra del Arduino, te dejo el siguiente código para que puedas copiar y pegar en la IDE de arduino, puedes ir modificando los tiempos de delay cambiando el valor de la variable "Pausa" y ver como cambia el comportamiento.

int i = 0;
int Pausa = 10;

void setup()
{
   pinMode(11,OUTPUT);
}

void loop()
{
   for(i = 0 ; i < 255 ; i++)
   {
      analogWrite( 11, i );
      delay(Pausa);
   }
}

Podrán ver como el led va cambiando su intensidad de brillo, esto puede ser usado en el control de iluminación en una casa por ejemplo...

Puedes modificar el circuito y el código a gusto y experimentar distintos comportamientos y secuencias con Arduino.

Hasta la proxima!

No hay comentarios:

Publicar un comentario