0% encontró este documento útil (0 votos)
158 vistas

Funciones Arduino Void Loop y Void Setup - Proyectos Con Arduino

Este documento explica las funciones void setup() y void loop() que se usan en la programación de Arduino. La función void setup() se utiliza para inicializar variables y configurar entradas y salidas y sólo se ejecuta una vez al inicio. La función void loop() contiene el código principal del programa que se repite continuamente.

Cargado por

RonaldMartinez
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
158 vistas

Funciones Arduino Void Loop y Void Setup - Proyectos Con Arduino

Este documento explica las funciones void setup() y void loop() que se usan en la programación de Arduino. La función void setup() se utiliza para inicializar variables y configurar entradas y salidas y sólo se ejecuta una vez al inicio. La función void loop() contiene el código principal del programa que se repite continuamente.

Cargado por

RonaldMartinez
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

 Menú 

Funciones arduino void loop () y void setup ()


Las funciones void loop () y void setup () suelen ser las primeras funciones con las que
comenzamos a familiarizarnos con la programación para arduino. En este artículo
aprenderemos para qué sirven estas funciones, cómo se utilizan y trataremos de encontrar
una solución a errores como “redefinition of void setup ()” que a menudo se produce entre
los novatos en los proyectos de arduino.

Índice de Contenidos [ocultar]

1 Cómo iniciar un programa en Arduino


2 Por qué es necesaria la función void setup()
3 Sintaxis void setup() 
4 Ejemplos de void setup()
5 Función void loop()
6 Ejemplo de void loop()
7 En Resumen

Cómo iniciar un programa en Arduino

Cuando conectamos la placa Arduino a la fuente de alimentación, se inicia una actividad


de firmware dentro de la placa. El microcontrolador está configurado de tal manera que al
arrancar el sistema el control recibe el programa del bootloader.

Lo primero que hace el bootloader es comprobar si en el plazo de 1-2 segundos el usuario


envía un nuevo programa. Si se inicia el proceso de reprogramación, el código se carga en
la memoria y se le da el control. Si no hay nuevos programas, el bootloader ejecuta el
programa previamente guardado.

Una vez ejecutado el programa, Arduino realiza una serie de operaciones rutinarias para
inicializar y configurar el entorno y sólo entonces procede a ejecutar el mismo código que
contienen nuestros sketches. Así, Arduino nos libera de la necesidad de recordar todos los
detalles de la arquitectura del microprocesador y nos permite centrarnos en la tarea que
tenemos por delante (esto no significa que no debamos entender lo que está ocurriendo
entre bastidores, pero hablaremos de ello en un artículo aparte).

Para ilustrar lo anterior, veamos un fragmento de código fuente de Arduino, en el que


llamamos a nuestra funciones.

Arduino
1 void setup() {
2   //Iniciamos la comunicación serial
3   Serial.begin(9600);
4 } 
5  
6 void loop() {
7   //Imprimimos una secuencia de 3 números...
8   Serial.println("1");
9   Serial.println("2");
10   Serial.println("3");
11 }

Por qué es necesaria la función void setup()


Al descargar el programa, Arduino da a nuestro código la oportunidad de participar en la
inicialización del sistema. Para ello, debemos especificar al microcontrolador los comandos
que ejecutará en el momento del arranque y luego olvidarnos de ellos (es decir, estos
comandos sólo se ejecutarán una vez al inicio del sistema).

Y es por ello que en nuestro programa tenemos que seleccionar el bloque en el que se
almacenarán estos comandos. Void setup(), o más bien el espacio dentro de los corchetes
de esta función, es el lugar dentro del sketch de Arduino donde ésto sucede.

Sintaxis void setup()


La sintaxis de la función de configuración es muy simple:

void setup() {
// aquí ponemos los comandos de la subrutina
}

En este ejemplo, la palabra setup es el nombre de la función. La palabra que precede al


nombre describe el tipo de datos que deben devolverse. En este caso, la subrutina no
devuelve ningún dato, por lo que debemos especificar la palabra void. Todos los
comandos deben colocarse entre corchetes {}.

¡No te olvides de poner corchetes! La falta de un corchete hará que todo el programa
sea incomprensible para un Arduino.

Ejemplos de void setup()


En la mayoría de los casos, las siguientes instrucciones se especifican dentro de la
configuración void setup:

pinMode con el número y tipo de pin. Esta línea define el modo de operación de

los pines de Arduino.
Serial.begin con indicación de velocidad (la mayoría de las veces 9600). Esta
instrucción inicializa la operación del puerto serie a la velocidad especificada.
Instrucciones sobre cómo conectar e inicializar varios objetos de la librería arduino.
Por ejemplo, servo.atach(6) indicará a la biblioteca que hemos conectado el servo
drive al pin 6, y todas las acciones posteriores del código de la biblioteca se
realizarán con este puerto.
Inicialización de variables globales si por alguna razón no podemos hacerlo al
definir las variables en el campo de visión global.

Ejemplo:

Arduino
1 void setup(){
2
3   Serial.begin(9600);
4
5   pinMode(13, OUTPUT);  // Usaremos el pin 13 como salida. Los demás puertos son entradas
6
7   pinMode(2, PULLUP);   // Definimos al pin 2 como entrada con una resistencia pull-up
8
9   servo.atach(9);       // Si hemos declarado un objeto de clase Servo ahora especificamos
10
11 }

Uno de los errores más comunes al momento de compilar el código es el error


“redefinition of void setup ()“.

Lo que sucede basicamente es que tenemos declarada más de una vez la función void
setup, y se produce generalmente cuando conectamos un módulo o un sketch que ya
tenga esta función, o cuando tenemos un sketch con 2 (o más) solapas y en ambas
declaramos la función.

Esto causa un error de compilación que se soluciona de forma fácil unificando las 2

declaraciones en una sóla.
 

Función void loop()


La función de bucle o “Void Loop” es la función principal, el punto de entrada a nuestro
programa. Es el lugar donde tenemos que poner los comandos que se ejecutarán mientras
la placa Arduino esté habilitada. Comenzando con el primer comando, el microcontrolador
irá hasta el final y saltará inmediatamente al principio para repetir la misma secuencia. Y
así un número infinito de veces (siempre y cuando la placa tenga suministro eléctrico).

Ejemplo de void loop()


Un ejemplo tan familiar del bosquejo del proyecto Blink (faro). Si no fuera por la función
delay(), nunca nos habríamos dado cuenta de que el LED estaba apagado, porque una vez
que llegaba al final, el sketch comenzaba desde la primera línea, en la que se encendía
inmediatamente.

Arduino
1 void loop(){
2
3 digitalWrite(13, HIGH);
4 delay(1000);
5 digitalWrite(13, LOW);
6 delay(1000);
7
8 // Al llegar aquí, el Arduino volverá a la primera línea y comenzará a ejecutar todas las
9
10 }

En Resumen
Con la ayuda de las funciones void loop() y void setup() en nuestro sketch, damos las
instrucciones al microcontrolador de arduino. Todo lo que se encuentra dentro del bloque
de configuración (setup) se ejecutará una vez. El contenido del bloque de bucle (loop) se
ejecutará en el bucle mientras el controlador Arduino permanezca encendido.

(7 votos, promedio: 4,43 de 5)

Si quieres aprender más sobre arduino, mira los otros artículos de la sección “Curso de
Arduino“:


Programación en Arduino

Cómo conectar el módulo ESP8266 a WiFi


Cuatro formas de alimentar el Arduino Uno

Errores de compilación en las placas Arduino


Aplicaciones Android para Arduino

Variables globales en Arduino


Simuladores Arduino

Qué es Arduino?

Pines Digitales en Arduino



BESTSELLER NO. 1 OFERTA

ELEGOO Conjunto Medio de Iniciación Compatible con Arduino IDE con Tutorial en Español y
Conjunto de Relé de 5V, Modulo de Fuente de Alimentación, Servomotor, UNO R3 Placa de
Desarrollo de Prototipos

32,99 EUR 28,04 EUR

Ver en Amazon

BESTSELLER NO. 2

ELEGOO Conjunto Mas Completo y Avanzado de Iniciación Compatible con Arduino IDE Mega
2560 con Guías Tutorial en Español y Conjunto con Placa Controladora Mega 2560 R3,
Servomotor, Motor Paso a Paso

54,99 EUR

Ver en Amazon

BESTSELLER NO. 3 OFERTA


ELEGOO Conjunto Básico de Iniciación Compatible con Arduino IDE con Guías Tutorial en Español
para UNO R3 Starter Kit

36,99 EUR 16,99 EUR

Ver en Amazon

BESTSELLER NO. 4

ELEGOO UNO R3 Tarjeta Placa ATmega328P ATMEGA16U2 con Cable USB y Microcontrolador
Compatible con Arduino IDE Proyectos Cumple con RoHS

9,99 EUR

Ver en Amazon

BESTSELLER NO. 5

ARDUINO UNO REV 3 [A000066]

22,80 EUR 

También podría gustarte