//tipo vacio (solo para funciones)
void
//booleano, false o true
boolean variable = false;
//entero, 16 bits, de -32,768 a 32,767
int variable = 100;
//entero, 16 bits, de 0 a 65535 (excepto en Due, donde son 32 bits)
unsigned int variable = 100;
//entero, 16 bits, de 0 a 65535
short variable = 100;
//entero, 32 bits, de -2,147,483,648 a 2,147,483,647
long variable = 100000L;
//entero, 32bits, de 0 a 4,294,967,295
unsigned long variable = 100000L;
//coma flotante, 32 bits, de -3.4028235E+38 a 3.4028235E+38. Precision 6 digitos
float variable = 1.117;
//idéntico a float, excepto en Arduino Due donde es flotante de 64 bits
double variable = 1.117;
//8 bits, de 0 a 255
byte variable = B10010;
//16bits, sin signo, de 0 a 65535
word variable = 10000;
//8 bits, de -128 a 127
char variable = 'A';
//8 bits, de 0 a 255
unsigned char variable = 240;
//convierte a char
char(variable);
//convierte a byte
byte(variable);
//convierte a int
int(variable);
//convierte a word
word(variable);
//convierte a long
long(variable);
//convierte a float
float(variable);
//STATIC
//Variables visibles únicamente en el interior de una función,
//y cuyo valor se mantiene entre llamadas a la misma.
static int variable;
//CONST
//Variables cuyo valor no puede ser redefinido tras la inicialización
const float pi = 3.14;
//VOLATILE
//Variables en las que se indica al compilador que no guarde en los registros
//del microprocesador, sino que fuerza la actualización en memoria. Esto se
//hace cuando existe la posibilidad de que el valor de la variable sea
//modificado por otro proceso que se ejecuta concurrentemente con el actual
//(por ejemplo cuando se emplean hilos o interrupciones)
volatile int variable = LOW;