YoMaker

Sitio web sobre proyectos de arduino para principiantes. Todo lo necesario para aprender a programar y montar tus primeros proyectos paso a paso.

  • Proyectos con Arduino
  • Herramientas electronica
  • Programar Arduino
  • Blog
  • Sobre mí
  • Contacto

for en Arduino. Iniciación a la programación de repeticiones.

By Paco Pons 5 Comments

for-en-arduino

Una de las primeras necesidades que surgen cuando estamos aprendiendo a programar es la repetición de una parte de nuestro código en el programa. Para ello tenemos la estructura de control for en arduino, vamos a ver la forma práctica de usarla.

Con la estructura for, podremos hacer que una parte de nuestro programa se repita una cantidad de veces determinada, esto se le suele conocer también con el nombre de bucle.

La sintaxis de la estructura for en arduino es la siguiente:

for (indice; condición; incremento)

{……….

……….}

Para ello necesitaremos tres cosas:

  • El índice, es una variable que irá almacenando el número de repeticiones del bucle.
  • Una condición que cuando se cumpla, haga terminar el bucle y que el resto de programa siga ejecutándose a continuación.
  • El incremento que modificará el índice en cada repetición del bucle.

La estructura for, repetirá un numero de veces las instrucciones que tengamos entre las llaves que vienen a continuación.

Ejemplo de uso de bucle for con un Arduino

Para entender su funcionamiento vamos a ver un ejemplo sencillo y explicarlo paso a paso:

El efecto a conseguir es este:

El ejemplo consiste en conectar 5 led a las salidas de un arduino y ir encendiendo y apagándolos consecutivamente, creando un efecto desplazamiento de luz a través de los mismos.

Se  han conectado 5 leds a los pines 3 al 7 a través de su correspondiente resistencia de 220Ω y por el otro terminal a masa o 0V.

El código a ejecutar será el siguiente:

Arduino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int indice=3;  // declaro la variable que me sirve de indice
 
void setup() {
pinMode(3,OUTPUT);    // configuramos los puertos usados como salidas
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
}
 
void loop() {
for (indice=3; indice<=7; indice++) {    // bucle que se repite desde valor indice 3 hasta 7 de uno en uno
digitalWrite(indice,HIGH);  // enciendo led conectado al pin indice
digitalWrite(indice-1,LOW); // apago el led anterior
delay(500);                 // pequeño retardo para poder verlo mejor
}
digitalWrite(7,LOW);        // apago el ultimo led antes de volver a empezar
}

En primer lugar, declaro una variable llamada indice (aunque podríamos llamarla con cualquier nombre) que me sirve de contador del bucle. La declaración de la variable también podríamos haberlo hecho en el bucle for (int indice=3; …. pero me ha parecido mas sencillo hacerlo así, de momento.

La variable es del tipo entero por eso lleva delante int, este tipo de variable puede almacenar un numero de valor entre -32769 y 32767. Hay otros tipos de variable que se verán mas adelante.

En setup() configuramos los pines de arduino conectados a los led como salidas. Aquí podríamos usar también un bucle para no configurar las salidas una a una y lo dejo como ejercicio para el lector para practicar.

Ahora vamos con el bucle:

Como vemos, la estructura for en arduino se compone de una variable (en nuestro caso indice), seguido de una condición a cumplir, (en nuestro caso que indice sea menor o igual a 7) y el incremento (con ++ incrementamos indice en uno, seria equivalente a indice=indice+1).

Mientras se cumpla la condición, se ejecutarán las lineas de código que hay entre las llaves a continuación, e incrementara el indice en 1 como lo hemos programado.

Con las sucesivas pasadas del bucle, se irá incrementando la variable indice hasta que ya no se cumpla la condición, por que el valor de la variable  indice sera 8, el bucle no se ejecutará, saltará la parte incluida entre llaves y continuará la ejecución del resto del programa.

El resto del programa es simple, una vez llegado al último led que hemos encendido, solo nos queda apagarlo y el programa volverá a ejecutarse con la función loop().

Y hasta aquí este post dedicado a los fundamentos en la programación en Arduino, seguiremos mas adelante en otros post avanzando con otros comandos y estructuras.

Si quieres conseguir los componentes para el montaje de este ejemplo puedes adquirir aquí un kit arduino para principiantes con todo lo necesario para montar este y otros muchos ejemplos que iremos viendo más adelante.

 

 

Opt In Image
Si te ha gustado este artículo suscríbete al blog.
No te pierdas nada!!

Recibe los artículos directamente en tu email el día de la publicación.

Garantía 100% libre de spam.

Si te ha gustado, compártelo en tu red...
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin

Filed Under: Programar Arduino

Comments

  1. Danilo. says

    7 julio, 2019 at 22:12

    Considero magnífico el ejemplo utilizado para la explicación del bucle For. Muchas gracias don Francisco por compartir el conocimiento,

    Responder
    • Paco Pons says

      1 agosto, 2019 at 06:46

      Gracias

      Responder
  2. Pablo says

    30 julio, 2019 at 23:36

    Pequeña modificación para «el coche fantástico»

    int indice=3; // declaro la variable que me sirve de indice

    void setup() {
    pinMode(3,OUTPUT); // configuramos los puertos usados como salidas
    pinMode(4,OUTPUT);
    pinMode(5,OUTPUT);
    pinMode(6,OUTPUT);
    pinMode(7,OUTPUT);

    }

    void loop() {
    for (indice=3; indice=3; indice–) { // bucle que se repite desde valor indice 7 hasta 3 de uno en uno
    digitalWrite(indice,HIGH); // enciendo led conectado al pin indice
    digitalWrite(indice+1,LOW); // apago el led anterior
    delay(50); // pequeño retardo para poder verlo mejor
    }

    }

    Responder
    • Paco Pons says

      1 agosto, 2019 at 06:45

      Gracias por tu aportacion.

      Responder
  3. Alejandro Giuliani says

    1 mayo, 2022 at 16:22

    Muy claro y explicito muchas gracias.

    Responder

Deja un comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Acerca de Francisco Pons

francisco-pons-acerca-de

Tecnófilo, en continua formación. Apasionado de la electrónica, robótica y automatización. Ingeniero industrial electrónico con vocación maker.

Sígueme en:
Ver el perfil de Francisco Pons Ruiz en LinkedIntwitter

Kit Arduino recomendado principiantes

comprar arduino kit

Ver mejor precio Starter Kit for Arduino UNO R3. Envío gratis a través de Aliexpress

New title

Licencias de contenido

El contenido de este sitio web se ofrecen bajo las licencias de Creative Commons

by-nc-sa.eu

Categorías

  • Blog
  • Herramientas electronica
  • Programar Arduino
  • Proyectos con Arduino

Copyright Yomaker.com © 2022 Politica de privacidad | Politica de cookies | Aviso Legal