CONTENIDO ►
Un array Arduino es una estructura de datos utilizada para almacenar múltiples valores del mismo tipo. Los matriz (Arrays Arduino IDE) pueden almacenar diferentes tipos de datos – números (int, byte, float, etc.), así como letras y cadenas (String). La estructura de los matriz en Arduino es similar a la de otros lenguajes de programación. Veamos cómo trabajar con matriz – declarar y acceder a un array de símbolos para usar sus elementos en el programa.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
¿Qué son las matrices en Arduino IDE? Las matrices en Arduino utilizan múltiples posiciones de memoria contiguas y almacenan múltiples variables del mismo tipo de datos en ellas. La ventaja de usar un array en un programa es que ahorra memoria al microcontrolador Arduino. Si el tamaño del array resulta insuficiente al almacenar elementos en tiempo de ejecución, los datos se almacenan en posiciones de memoria contiguas en el microcontrolador.
¿Qué es un matriz en el lenguaje Arduino?

La imagen anterior muestra la estructura de un array numérico int myArray[5] con cinco celdas. El nombre del array declarado es myArray, los datos numéricos almacenados en los elementos son: 10, 20, 30, 40 y 50. El array tiene el primer elemento con índice cero myArray[0], porque todos los arrays en el lenguaje Arduino empiezan desde la posición cero y terminan con un elemento con índice uno menos que el número total de elementos del array myArray[4].
¿Como declarar las matriz en Arduino?
Al igual que el lenguaje de programación del microcontrolador Arduino declara variables locales y globales para diferentes tipos de datos, un array de variables también se declara global o localmente en un programa. Hay tres formas de crear (declarar) un array en un programa:
1. método de inicialización de matrices
// declarar un array con el tamaño y los valores de los elementos int myArray [5] = { 10, 20, 30, 40, 50 };
2. método de inicialización de matrices
// declarar un array sin especificar el tamaño (número de celdas) int myArray [] = { 10, 20, 30, 40, 50 };
3. método de inicialización de matrices
// declarar sin especificar el tamaño y los valores de los elementos int myArray [] = { };
Asignar y tomar valores de una matriz

En un programa, podemos acceder a cualquier elemento de un array para utilizarlo en una función o enviarlo al monitor de puertos. Por ejemplo, en el programa hay una matrices int myArray [5] = { 10, 20, 30, 40, 50 }; Si queremos acceder al segundo elemento con el valor 20, debemos utilizar el nombre del array con el número de índice del segundo elemento entre corchetes myArray [1]. Conecta la placa Arduino al ordenador y carga el siguiente programa.
Programa Arduino para tomar valores de una matriz
// crear una matriz de números con el número de elementos especificado int myArray[5] = { 10, 20, 30, 40, 50 }; void setup() { Serial.begin(9600); Serial.print(myArray[1]); // mostrar el segundo elemento en el monitor Serial.print(" + "); Serial.print(myArray[4]); // mostrar el quinto elemento en el monitor Serial.print(" = "); Serial.println(myArray[1] + myArray[4]); // suma de elementos Serial.println(""); delay(1000); // crear una matriz de caracteres sin especificar el número de elementos char chArray[] = { 'H','e','l','l','o',' ','w','o','r','l','d' }; String text = String(chArray); // encadenar los caracteres Serial.println(text); // envía la cadena al monitor del puerto Serial.println(""); delay(1000); // crear una matriz de cadenas sin especificar el número de elementos String stArray[] = { "Welcome ", "to ", "sp.arduino-france.site" }; // salida de la matriz al monitor del puerto Serial.println(stArray[0] + stArray[1] + stArray[2]); Serial.println(""); } void loop() { }
Explicación del código para tomar valores de una matriz Arduino:
- la matriz myArray[5] tiene visibilidad global en el programa, mientras que chArray[] y stArray[] son matrices con visibilidad local.
Todas las matrices de enteros pueden utilizarse en funciones. También es posible averiguar la longitud de un array o de un elemento individual, y sobrescribir o escribir datos en un array. En el siguiente ejemplo, mostraremos en el monitor de puerto el tamaño del primer elemento del array en bytes, la longitud de todo el array, y después sobrescribiremos el primer elemento del array con el nuevo valor. Y mostrar el nuevo texto en el monitor de puerto Arduino IDE.
Programa Arduino para el cálculo de la longitud de la matriz
// creación de matrices de texto String strArray[] = { "Welcome ", "to ", "sp.arduino-france.site" }; void setup() { Serial.begin(9600); // envía la matriz de cadenas al monitor del puerto Serial.println(strArray[0] + strArray[1] + strArray[2]); Serial.println(""); delay(1000); int x = sizeof(strArray[0]); // tamaño del primer elemento en bytes Serial.println("sizeof(Welcome) = " + String(x)); Serial.println(""); delay(1000); int y = sizeof(strArray); // tamaño de toda la matriz en bytes (longitud) Serial.println("sizeof(strArray) = " + String(y)); Serial.println(""); delay(1000); strArray[0] = "Go "; // sobrescribir el primer elemento de la matriz // envía la matriz de cadenas al monitor del puerto Serial.println(strArray[0] + strArray[1] + strArray[2]); Serial.println(""); } void loop() { }
Explicación del código para el cálculo de la longitud de la matriz:
- el tamaño en bytes es igual a la longitud en caracteres.

Anteriormente hemos utilizado en los ejemplos matrices unidimensionales, que sólo pueden almacenar una lista de valores. Sin embargo, también existen matrices bidimensionales que pueden almacenar dos listas. La forma de crear una matriz bidimensional es similar. También existen arrays multidimensionales. Por ejemplo, en el proyecto Juego Tetris en Arduino con pantalla OLED SSD1306, las formas se almacenan en matrices multidimensionales.
Tipos de matrices: unidimensionales, bidimensionales
// matriz unidimensional de cinco elementos int OneDimensionalArray[5] = {10, 20, 30, 40, 50}; // matriz bidimensional de dos líneas con tres elementos por línea int TwoDimensionalArray[2][3] = { {1, 2, 3}, {4, 5, 6} }; // matriz multidimensional de la forma "S" en Tetris const char MultiDimensionalArray[2][2][4] = { {{1, 1, 0, 0}, {0, 1, 1, 2}}, {{0, 1, 1, 2}, {0, 0, 1, 1}} };
Conclusión. En el lenguaje de programación Arduino, las matrices son estructuras de datos que se utilizan para almacenar múltiples valores de los mismos tipos de datos. Los arrays son celdas contiguas en la memoria del microcontrolador donde se almacenan los valores. En este artículo, hemos discutido la estructura y los métodos para declarar arrays, y hemos proporcionado programas de ejemplo para facilitar la comprensión del uso de arrays.
Deja una respuesta