
Los arrays (matrices) son una forma de contener una lista de valores. Un array contiene una lista de valores y puede acceder a cualquiera de esos valores por su posición en la lista. El lenguaje de programación que se utiliza en 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,a continuación vamos a ver como usar un array.
Formas validas de crear (declarar) una matriz.
int entradas[6]; int pines[] = {2, 4, 8, 3, 6}; int numerosEnteros[] = {1, 5, 8, 11, 20, 35, 40, 76, 200}; char message[6] = "hello";
Se puede declarar una matriz sin inicializarla como en entradas.
En pines declaramos una matriz sin elegir explícitamente un tamaño. El compilador cuenta los elementos y crea una matriz del tamaño apropiado.
Finalmente, podemos inicializar y dimensionar su matriz, como en valoresX. Hay que tener en cuenta que al declarar una matriz de tipo char, se requiere un elemento más que su inicialización, para contener el carácter nulo requerido.
Como acceder a un array.
Las matrices están indexadas a cero, es decir, el primer elemento de la matriz está en el índice 0, por lo tanto:
numerosEnteros[0] == 1, numerosEnteros[3] == 10, numerosEnteros[6] == 40, etc.
Esto también significa que en nuestra matriz de ejemplo que contiene 9 elementos el indice 8 es el ultimo elemento. Por lo tanto:
int numerosEnteros[] = {1, 5, 8, 10, 20, 35, 40, 76, 200}; numerosEnteros[8] = 200;
Si escribimos: numerosEnteros[9] no es valido, contiene información aleatoria y otra dirección de memoria.
Por esta razón hay que tener cuidado al momento de acceder a las matrices Acceder más allá del final de una matriz (utilizando un número de índice mayor que el tamaño de matriz declarado - 1) es leer desde la memoria que está en uso para otros fines. La lectura de estas ubicaciones nos puede traer fallas y el mal funcionamiento del programa esto también puede ser un error difícil de localizar.
Asignar el valor a una matriz
Para asignar el valor a una matriz hacemos lo siguiente:
numerosEnteros[0] = 10;
La posición 0 de la matriz ahora va a tener un valor de 10.
Obtener el valor de una posición de la matriz
Para obtener el valor de una posición de la matriz hacemos lo siguiente:
x = numerosEnteros[7];
La variable x va a obtener el valor de la posición numero 7 de la matriz por lo tanto x = 76.
Las matrices a menudo se usan dentro de bucles donde el contador de bucles se utiliza como indice para cada uno de los elementos de la matriz, por ejemplo para imprimir los datos de la matriz numerosEnteros en el monitor serial, hacemos lo siguiente:
int numerosEnteros[] = {1, 5, 8,10,20, 35, 40, 76, 200};
void setup() {
Serial.begin(9600);
for(int x = 0; x < 9; x++){
Serial.print(numerosEnteros[x]);
}
}
void loop() {
}
Publicar un comentario