Saltar al contenido

Cómo declarar variables en Arduino - Tipos de datos básicos

¡Bienvenido al segundo tutorial de este curso de Arduino desde cero en Español! En el capítulo anterior vimos como descargar el IDE y como conectar un LED para hacerlo parpadear gracias al programa que desarrollamos. Hoy vamos a ver uno de los conceptos más importantes de programación, las variables en Arduino.

Si no has visto los capítulos anteriores de este curso puedes encontrarlos aquí: ¡Arduino desde cero en español! 

¿Qué es una variable?

Una variable es un espacio en memoria donde almacenamos un valor determinado, es decir, un dato. Puede parecer muy complicado, pero es muy sencillo. Si no te ha quedado claro, voy a explicártelo de nuevo con un ejemplo utilizando la imagen de abajo.

Qué es una variable

Imagínate que el cuadrado completo es la memoria del ordenador. Como puedes ver está divida en muchos espacios, que son los cuadrados más pequeños. Al declarar una variable, lo que estamos haciendo es guardar un dato en uno de esos espacios. Además también le asignamos un nombre para poder utilizar dicho dato más adelante. En este ejemplo, la variable creada almacena un 10 y su nombre es «Numero_1».

Cómo definir una variable en Arduino

Lo primero que tienes que saber es que una variable tiene principalmente 3 partes, aunque se le puede añadir alguna más, pero eso ya lo veremos más adelante. La primera es el tipo de dato que vas a guardar, como por ejemplo un número, un carácter, etcétera. La segunda y tercera parte es el nombre de la variable y el valor que va a almacenar respectivamente. Puedes ver un ejemplo a continuación.

int numero_1 = 10;

En el ejemplo anterior, la variable creada es de tipo int, por lo que sirve para almacenar número enteros, se llama «numero_1» y guarda el valor 10. 

El nombre puede ser el que tu quieras, pero tienes que tener en cuenta que solo puedes utilizar letras minúsculas y mayúsculas, números y la barra baja.

Tipos de variables en Arduino

Hay 4 tipos de datos básicos en Arduino, que son los siguientes:

  • int: sirve para guardar números enteros, es decir, cualquier número positivo o negativo pero sin decimales.
  • float: se utiliza para guardar cualquier tipo de número, incluidos los números decimales.
  • double: es exactamente igual que float, pero los números que almacena pueden ser más largos.
  • char: sirve para guardar un único carácter. Puede ser el que tu quieras, incluidos números y signos.

A continuación tienes un ejemplo de una variable creada para cada tipo de dato:

int numero_1 = -15;
float numero_2 = 4.3;
double numero_3 = 103.4;
char caracter_1 = 'a';

Variables constantes

En algunos casos nos interesa que el valor que guarda una variable sea constante. Para ello puedes utilizar la palabra clave «const» al definir una variable. Si utilizas dicha palabra clave y hay alguna línea de código que cambie el valor de la variable, dará error al compilar. Gracias a esto te puedes asegurar de que el valor de dicha variable no cambie, y prevenir futuros errores de ejecución, mucho más difíciles de encontrar y resolver. A continuación tienes un ejemplo:

const int numero_1 = -15;
const float numero_2 = 4.3;
const double numero_3 = 103.4;
const char caracter_1 = 'a';

Ejemplo práctico del uso de una variable

Para este ejemplo práctico vamos a utilizar como base el código que desarrollamos en el capítulo 1. Lo primero que vamos a hacer es crear una variable de tipo int, que se va a llamar LED y va a guardar un 12.

En cada línea de código donde tengas escrito un 12, que es el pin al que tenemos conectado un LED, sustituye dicho número por el nombre de la variable. Cuando ejecutes el programa, Arduino sustituye automáticamente el nombre de la variable por el valor que almacena, así que el funcionamiento del código es el mismo.

const int LED = 12;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

Como en principio el pin al que está conectado el LED no va a cambiar mientras se ejecuta el programa, hemos utilizado la palabra clave «const», para asegurarnos de que el valor de la variable que guarda el número del pin que vamos a utilizar tampoco cambie. 

La principal ventaja de este código respecto a escribir un 12 allí donde está escrita la palabra LED, es que si quieres cambiar el pin al que tienes conectado el LED, simplemente tienes que cambiar el valor que guarda la variable por el número de dicho pin, en vez de en cada instrucción de código.

Además, es preferible que utilices nombres con sentido para crear tus variables. Por ejemplo, podrías haber llamado a la variable «vaso_de_agua»  o simplemente «vaso», pero tiene mucho más sentido llamarla «LED», ya que dicha variable representa el pin al que tenemos conectado un LED.