Aprende a trabajar con arrays o matrices en Arduino. Los arrays son colecciones de valores organizados que te permiten almacenar múltiples datos del mismo tipo. Esta guía cubre declaración, acceso, asignación y uso práctico de arrays en tus proyectos.
¿Qué es un Array?
Concepto Fundamental
Los arrays (matrices) son una forma de contener una lista de valores. Un array contiene una lista de valores y puedes acceder a cualquiera de esos valores por su posición en la lista.
Característica Importante: El lenguaje de programación de Arduino, al igual que la mayoría de los lenguajes de programación, comienza sus posiciones de índice en 0 en lugar de 1. Esto significa que el primer elemento es en realidad el elemento cero.
Formas Válidas de Crear (Declarar) una Matriz
Método 1: Sin Inicializar
int entradas[6];
Se declara una matriz sin inicializarla. El compilador reserva espacio para 6 elementos enteros, pero no asigna valores específicos.
Método 2: Tamaño Automático
int pines[] = {2, 4, 8, 3, 6};
Se declara una matriz sin elegir explícitamente un tamaño. El compilador cuenta los elementos y crea una matriz del tamaño apropiado (en este caso 5 elementos).
Método 3: Inicialización Explícita
int numerosEnteros[] = {1, 5, 8, 10, 20, 35, 40, 76, 200};
Se inicializa y dimensiona la matriz con valores específicos. El compilador determina automáticamente que necesita 9 elementos.
Método 4: Arreglo de Caracteres (String)
char message[6] = "hello";
⚠️ Importante: Al declarar una matriz de tipo char, se requiere un elemento más que su inicialización, para contener el carácter nulo requerido. "hello" tiene 5 caracteres + 1 para el carácter nulo = 6 elementos.
Cómo Acceder a un Array
Indexación (Comienza en 0)
Las matrices están indexadas a cero, es decir, el primer elemento de la matriz está en el índice 0:
numerosEnteros[0] == 1, numerosEnteros[3] == 10, numerosEnteros[6] == 40
Estructura del Array numerosEnteros:
| Índice | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| Valor | 1 | 5 | 8 | 10 | 20 | 35 | 40 | 76 | 200 |
⚠️ Último Elemento Válido
En una matriz que contiene 9 elementos, el índice 8 es el último elemento válido:
int numerosEnteros[] = {1, 5, 8, 10, 20, 35, 40, 76, 200}; numerosEnteros[8] = 200; // ✓ Válido numerosEnteros[9] // ✗ NO válido - acceso fuera de rango
🚨 Cuidado - Error Común:
Si intentas acceder a numerosEnteros[9], accederás a
memoria que está en uso para otros fines. La lectura de estas
ubicaciones puede traer fallas y mal funcionamiento del programa. Este
es un error difícil de localizar.
Asignar un Valor a una Matriz
Modificar Elementos
Para asignar un valor a una posición específica del array:
numerosEnteros[0] = 10;
La posición 0 de la matriz ahora va a tener un valor de 10 en lugar de 1.
Obtener el Valor de una Posición de la Matriz
Lectura de Elementos
Para obtener el valor almacenado en una posición específica:
int x; x = numerosEnteros[7];
La variable x va a obtener el valor de la posición número 7 de la matriz, por lo tanto x = 76.
Usar Arrays en Bucles
Las matrices a menudo se usan dentro de bucles donde el contador de bucles se utiliza como índice para cada uno de los elementos. Ejemplo: imprimir todos los datos de la matriz en el monitor serial:
int numerosEnteros[] = {1, 5, 8, 10, 20, 35, 40, 76, 200}; void setup() { Serial.begin(9600); // Recorrer el array completo usando un bucle for for(int x = 0; x < 9; x++) { Serial.print(numerosEnteros[x]); Serial.print(" "); } } void loop() { // Vacío }
🔄 Explicación del Bucle
-
Inicialización:
int x = 0- comienza en el índice 0 -
Condición:
x < 9- continúa mientras x sea menor a 9 -
Incremento:
x++- aumenta x en cada iteración -
Acceso:
numerosEnteros[x]- accede a cada elemento con el índice x
Ejemplos de Uso de Arrays Puestos en Práctica
Proyectos con Arrays en Arduino
- Secuencias de LEDs: Almacena patrones de iluminación y ejecútalos en secuencia
- Piano Digital: Guarda las notas musicales y sus frecuencias
- Sensores Múltiples: Lee datos de varios sensores organizados en un array
- Menús Interactivos: Almacena opciones de menú en un array
- Calibración: Guarda valores de referencia para comparaciones
✅ Ventajas de Usar Arrays
Los arrays te permiten trabajar con múltiples valores de forma eficiente, reducir líneas de código repetitivas, procesar datos con bucles, y organizar información relacionada de manera lógica. Son esenciales para cualquier proyecto Arduino de mediana a gran complejidad.
Publicar un comentario
¡Hola! Nos alegra mucho que hayas llegado hasta aquí y que estés leyendo este artículo en Edeptec.
Este formulario es un espacio abierto para ti: puedes dejar un comentario con tus dudas, sugerencias, experiencias o simplemente tu opinión sobre el tema tratado.
» ¿Te resultó útil la información?
» ¿Tienes alguna experiencia personal que quieras compartir?
» ¿Se te ocurre algún tema que te gustaría ver en próximos artículos?
Recuerda que este espacio es para aprender y compartir, por eso te animamos a participar de manera respetuosa y constructiva. Tus comentarios pueden ayudar a otros lectores que están en el mismo camino, ya sea en electrónica, programación, deportes o tecnología.
¡Gracias por ser parte de esta comunidad de aprendizaje! Tu participación es lo que hace crecer este proyecto.