Byte almacena un valor numérico de 8 bits sin decimales. Tienen un rango entre 0 y 255
byte unaVariable = 180; // Declara 'unaVariable' como tipo byte
Enteros son un tipo de datos primarios que almacenan valores numéricos de 16 bits sin decimales comprendidos en el rango de -32.768 a 32.767.
int unaVariable = 1500; // Declara 'unaVariable' como una variable de tipo entero
Nota: Las variables de tipo entero “int” pueden sobrepasar su valor máximo o mínimo como consecuencia de una operación. Por ejemplo, si x = 32767 y una posterior declaración agrega 1 a x, x = x + 1 entonces el valor se x pasará a ser -32768. (algo así como que el valor da la vuelta)
El formato de variable numérica de tipo extendido “long” se refiere a números enteros (tipo 32 bits) sin decimales que se encuentran dentro del rango -2.147.483.648 a 2.147.483.647.
long unaVariable = 90000; // Declara 'unaVariable' como tipo long
El formato de dato del tipo “punto flotante” “float” se aplica a los números con decimales. Los números de punto flotante tienen una mayor resolución que los de 32 bits con un rango comprendido entre -3.4028235E+38 y 3.4028235E+38.
float unaVariable = 3.14; // Declara 'unaVariable' como tipo flotante
Nota: Los números de punto flotante no son exactos, y pueden producir resultados extraños en las comparaciones. Los cálculos matemáticos de punto flotante son también mucho más lentos que los del tipo de números enteros, por lo que debe evitarse su uso si es posible.
Un array es un conjunto de valores a los que se accede con un número índice. Cualquier valor puede ser
recogido haciendo uso del nombre de la matriz y el número del índice.
El primer valor de la matriz es el que está indicado con el índice 0, es decir el primer valor del conjunto
es el de la posición 0. Un array tiene que ser declarado y opcionalmente asignados valores a cada posición
antes de ser utilizado
int miArray[] = {valor0, valor1, valor2...}
Del mismo modo es posible declarar una matriz indicando el tipo de datos y el tamaño y posteriormente,
asignar valores a una posición especifica:
int miArray[5]; // Declara un array de enteros de 6 posiciones
miArray[3] = 10; // Asigna el valor 10 a la posición 4
Para leer de un array basta con escribir el nombre y la posición a leer:
x = miArray[3]; // x ahora es igual a 10 que está en la posición 3 del array
Las matrices se utilizan a menudo para estamentos de tipo bucle, en los que la variable de incremento del
contador del bucle se utiliza como índice o puntero del array. El siguiente ejemplo usa una matriz para el
parpadeo de un LED.
Utilizando un bucle tipo for, el contador comienza en cero 0 y escribe el valor que figura en la posición de
índice 0 en la serie que hemos escrito dentro del array parpadeo[], en este caso 180, que se envía a la
salida analógica tipo PWM configurada en el PIN10, se hace una pausa de 200 ms y a continuación se pasa al
siguiente valor que asigna el índice “i”.
int ledPin = 10; // Salida LED en el PIN 10
byte parpadeo[] = {180, 30, 255, 200, 10, 90, 150, 60}; // Array de 8 valores diferentes
void setup()
{
pinMode(ledPin, OUTPUT); // Configura la salida PIN 10
}
void loop() // Bucle del programa
{
for(int i=0; i<8; i++) // Crea un bucle tipo for utilizando la variable i de 0 a 7
{
analogWrite(ledPin, parpadeo[i]); // Escribe en la salida PIN 10 el valor al que
// apunta i dentro del array parpadeo[]
delay(200); // Espera 200ms
}
}