Buscar este blog

miércoles, 18 de junio de 2014

Como programar arduino parte 6

0 comentarios
En este parte profundizaremos un poco mas sobre la parte de programacion antes de pasar a nuestro siguiente proyecto.

Loops (bucles)

Los loops o bucles nos permiten repetir un grupo de comandos un numero determinado de veces o hasta que se cumpla una condicion. En el sketch anterior solo se deseaba que el led parpadera tres veces con S luego tres veces con O y por ultimo tres veces con S, por supuesto esto no implica una gran dificultad en el codigo. Sin embargo seria poco practico si esto lo quisieramos repetir unas 1000 veces. Por eso en C tenemos y podemos utilizar el comando for.

Por ejemplo si implementaramos lo anterior solo nos bastaria en poner.

for ( int i = 0; i < 1000 ; i ++)

    flash (200) //
}

El codigo anterior repetiria 1000 veces el destello del led para la letra S.

Otra forma de implementar un bluque en arduino es usando el comando "while".
El ejemplo anterior se podra llevar a cabo usando el comando "while" como se muestra.

int i= 0;
while (1 < 100)
{
      flash (200);
        i++;
}

El codigo descrito nos indica que miestras 1 sea menor que 100 se va a ejecutar el codigo que esta en el interior. Vemos que por cada vez que se ejecuta el codigo i se va incrementando en 1 en 1 indicado por  i++. Cuando  " i " se incrementa a 101  deja de ser cierta la condicion por lo que ya no se ejecuta el codigo en el interior.

Arrays (matrices)

Los arrays son una  forma de contener una lista de valores y se puede acceder a cualquiera de  esos valores por su posicion en la lista. Estas posiciones de indice comienza desde 0 en lugar de 1. Esto significa que el primer elemento es en realidad el elemento cero.

Ejemplo de como declarar un array.

int duracion [ ] = {200,200,200,500,500,500,200,200,200}

En el codigo anterior se coloca "[ ]" despues del nombre de la variable. Si se especifica el contenido de la matriz al mismo tiempo de declararla como en el ejemplo anterior, no es necesario especificar el tamaño de la matriz.  Si no se establece el contenido dentro de la matriz debera indicarse el tamaño de la matriz.

int duracion [10]; 

A continuacion se muestra un codigo donde se implementa un array.

void  loop( )
{

    for (int i = 0 ; i< 9 ; i++)
      {
             flash( duracion [i]);
       }
    delay(1000);


En el codigo anterior se ejecuta el codigo hasta que i sea menor que 9  y duracion[ i ] va accediendo a cada posicion de acuerdo como se vaya incrementando i .

En el siguiente post veremos algunos ejemplos practicos de lo que hemos visto en teoria.
<< Como programar arduino parte 5                  Como programar arduino parte 7 >>

Como programar arduino parte 5

0 comentarios
Como habiamos mencionado antes con el uso de funciones  nuestro codigo es mas corto y entendible. El siguiente sketch es igual en funcionamiento que el sketch anterior, solo que mas compacto y contiene la funcion llamada  " void flash (int duracion)".

//Proyecto  S.O.S  de codigo Morse con funcion

int led = 13;

void setup ( )
{
  pinMode (led, OUTPUT); 

}

void loop ( )
 {
      flash(200); flash(200); flash(200); // S
     delay(300); // Para que se note la separacion de los destellos
     flash(500); flash(500); flash(500); //O
     delay(300);
     flash(200); flash(200); flash(200); // S
 delay(1000); // esperar 1 segunda para que se repita el proceso
}  

void flash (int duracion)
{
    digitalWrite ( led, HIGH);
     delay ( duracion); // el valor que recibe de flash 
     digitalWrite (led, LOW);
     delay( duracion);
}

Como se ve el codigo es mucho mas compacto que el anterior y es igual en funcionamiento. Destacamos en este sketch el uso de la funcion "flash ()" que como vemos la mandamos a llamar flash(200); pasandole el valor 200 para la letra "S" y 500 como para la letra "O" para que la reciba "int duracion" y esta variable "duracion" guarde el valor que se le paso para ocuparla con la funcion delay (). Si tomamos a detalle "duracion" toma el valor que se le mande con "flash ( valor a mandar)". 

En la siguiente parte veremos mas detalles sobre programacion antes de pasar a desarrollar mas proyectos.


<< Como programar arduino parte 4


 Como programar arduino parte 6 >>

Electronica facilita