Arrays

Un array es una colección de variables a las que se accede con un número de índice. Los arrays en el lenguaje de programación C++ en los que se escriben los bocetos de Arduino pueden ser complicados, pero el uso de arrays simples es relativamente sencillo.

 int myInts[6];
  int myPins[] = {2, 4, 8, 3, 6};
  int mySensVals[5] = {2, 4, -8, 3, 2};
  char message[6] = "hello";


.Un array debe ser declarado y opcionalmente enumerar su contenido antes de usarse. Puede declarar un array sin inicializar como en myInts.
En myPins declaramos una array sin elegir explícitamente un tamaño. El compilador cuenta los elementos y crea una matriz del tamaño apropiado.
Finalmente, puede inicializar y dimensionar su matriz, como en mySensVals. Tenga 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.

Acceso a un array
Las matrices están indexadas a cero, es decir, en referencia a la inicialización de la matriz anterior, el primer elemento de la matriz está en el índice 0, por lo tanto

mySensVals[0] == 2, mySensVals[1] == 4, y así sucesivamente.

También significa que en una matriz con diez elementos, el índice nueve es el último elemento. Por lo tanto: se requiere la inicialización para mantener el carácter nulo requerido.

int myArray[10]={9, 3, 2, 4, 3, 2, 7, 8, 9, 11};
// myArray[9]    contains 11
// myArray[10]   is invalid and contains random information (other memory address)

Por esta razón, debe tener cuidado al acceder a los arrays. Acceder más allá del final de un array (usando un número de índice mayor que el tamaño del array declarado – 1) es leer de la memoria que está en uso para otros fines. La lectura de estas ubicaciones probablemente no hará mucho, excepto generar datos no válidos. Escribir en ubicaciones de memoria aleatorias es definitivamente una mala idea y, a menudo, puede conducir a resultados desagradables, como bloqueos o mal funcionamiento del programa. Esto también puede ser un error difícil de rastrear.

A diferencia de BASIC o JAVA, el compilador de C++ no comprueba si el acceso a la matriz está dentro de los límites legales del tamaño de la matriz que ha declarado.

Para asignar un valor a un array:
mySensVals[0] = 10;

Para recuperar un valor de una matriz:
x = mySensVals[4];

Arrays y bucles FOR
Las matrices a menudo se manipulan dentro de los bucles, donde el contador de bucles se usa como índice para cada elemento de la matriz. Por ejemplo, para imprimir los elementos de un array en el puerto serie, podría hacer algo como esto:

for (byte i = 0; i < 5; i = i + 1) {
  Serial.println(myPins[i]);
}

Enviar un array de variables:

La idea es enviar un array de cinco variables enteras que van cambiando en función del loop,

int x,y,z,phi,g;
int data[]={x,y,z,phi,g};
 for (byte i = 0; i < 5; i = i + 1) {
  Serial.println(data[i])}

substring()

[Función StringObject]

Descripción

Obtenga una subcadena de un objeto String. El índice inicial es inclusivo (el carácter correspondiente se incluye en la subcadena), pero el índice final opcional es exclusivo (el carácter correspondiente no está incluido en la subcadena). Si se omite el índice final, la subcadena continúa hasta el final de la cadena.

Sintaxis

myString.substring(from)
myString.substring(from, to)

Parámetros

myString: una variable de tipo .
from : el índice en el que se va a iniciar la subcadena.
to (opcional): el índice para finalizar la subcadena antes.Stringfromto

Devuelve

Subcadena.

Mas información:

https://docs.arduino.cc/built-in-examples/control-structures/Arrays

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Translate »