Encuentra informaci贸n referente a la programaci贸n, electr贸nica y mucho m谩s, la p谩gina est谩 pensada para compartir contenido educativo relevante coadyuvando a su aprendizaje diario.
Tipos de datos y operadores en Arduino

Utilizar de forma correcta los tipos de datos y operadores en Arduino es importante para no desperdiciar espacio de memoria en el microcontrolador que se encuentra en la placa de Arduino que estemos utilizando, como sabemos un microcontrolador no posee mucha memoria por lo cual debemos optimizar lo m谩s posible nuestro c贸digo.

Tipos de datos en Arduino

Los tipos de datos en Arduino son muy similares a cualquier otro lenguaje de programaci贸n, a continuaci贸n se muestra una tabla con los tipos de datos.

Tipos de datos booleanos

Es un tipo de dato que solo puede tener dos estados verdadero (true) o falso (false), tambi茅n puedes trabajar con 鈥1鈥 que es igual como se haya declarado en 鈥渢rue鈥 o 鈥0鈥 que es igual a 鈥渇alse鈥, estos datos se declaran con la palabra reservada 鈥渂oolean鈥.

Tipos de datos de caracteres

Es un tipo de dato que trabaja con caracteres, pero tambi茅n se puede declarar un valor num茅rico que representa a un car谩cter en c贸digo ASCII, se declaran con la palabra reservada 鈥渃har鈥.

Tipos de datos num茅ricos enteros

Son datos para manejar n煤meros enteros utilizados habitualmente para hacer alg煤n c谩lculo matem谩tico, podemos utilizar este tipo de datos declarando las palabras reservadas byte, int, short, word y long.

Tipos de datos num茅ricos flotantes

Este tipo de datos usados cuando requerimos trabajar con datos precisos, esta precisi贸n depender谩 no tanto del tipo de dato flotante que usemos sino del tipo de microcontrolador que usemos, puesto que cada uno de estos tienen sus propias caracter铆sticas por lo cual se debe ver la hoja de datos y ver sus especificaciones t茅cnicas para trabajar con ellas.

En el caso de Arduino sus placas de desarrollo trabajan con distintos microcontroladores por lo cual se sugiere ver sus caracter铆sticas de las mismas antes de trabajar con datos flotantes, para usar este tipo de datos debemos declarar la reservada float o doubl茅.

Array y String en Arduino

Los array y String en Arduino no son tipos de datos primitivos, pero podemos trabajar como si lo fueran, pero con muchas m谩s ventajas a la hora de trabajar con ellas.

Tipo Array en Arduino

Un array es un conjunto de datos que pueden ser guardados en una variable, accesible mediante un 铆ndice que representa su posici贸n del valor guardado, si bien muchos lo consideran cono un tipo de dato en realidad un array es una estructura de datos.

Un array en muy 煤til cuando requerimos trabajar con m煤ltiples datos del mismo tipo y deseamos hacer operaciones con ellas puesto que si hacemos estas operaciones con las variables tradicionales descritas anteriormente, nuestro c贸digo ser铆a muy amplio y poco entendible.

Adem谩s una de sus ventajas de trabajar con array es que podemos trabajar de manera independiente con cada uno de los valores guardados.

Un array en Arduino puede ser de una o varias dimensiones, asi lograremos crear una array que almacene otro array, uno de las aplicaciones para los array es cuando generamos gr谩ficos personalizados en las pantallas LCD usadas en nuestros proyectos.

Ejemplo

  int matriz[6];
  int matriz[] = {2, 4, 8, 3, 6};
  int matriz[6] = {2, 4, -8, 3, 2};
  char mensaje[4] = "Hola";

Tipo String en Arduino

Cuando queremos trabajar con cadenas es muy dif铆cil hacerlo con el tipo de datos char puesto que deber铆amos declara una gran cantidad de datos char y concatenarlos para formar una frase o trabajar con un array de char, esto no es una forma pr谩ctica para trabajar con cadenas, para solucionar este problema en Arduino podemos trabajar con la librer铆a String, este nos proporciona todas las facilidades para gestionar cadenas y gracias a esto podemos buscar, sustituir, concatenar, saber su tama帽o, etc.

Ejemplo

String mensaje = "Hola mundo";

Operadores en Arduino

Los operadores son elementos muy importantes para trabajar en nuestros programas en Arduino, porque gracias a ellos podemos realizar segmentos de c贸digo con un prop贸sito espec铆fico realizando comparaciones, contadores o simplemente alguna operaci贸n aritm茅tica.

Operadores Aritm茅ticos

Estos operadores permiten trabajar con las operaciones aritm茅ticas b谩sicas como sumar, restar, dividir, multiplicar y el modulo, d谩ndonos la oportunidad de trabajar haciendo c谩lculos matem谩ticos para desarrollar una tarea en espec铆fico.

+ Operador suma
Operador resta
* Operador multiplicaci贸n
/ Operador divisi贸n
% Operador m贸dulo

Si combinamos estos operadores asignaremos nuevas funcionalidades a las variables como por ejemplo un acumulador o contador, es decir que podemos acumular un valor en una variable en cada vuelta dentro un bucle o simplemente realizaremos un contador de las vueltas que hace un bucle.

 x ++; //equivale a x = x + 1 (incrementa x en 1)
x --; //equivale a x = x - 1 (decrementa x en 1)
x += y; //equivale a x = x + y (x es igual a x + el valor de y )
x -= y; //equivale a x = x 鈥 y ( x es igual a x 鈥 el valor de y)
x *= y; //equivale a x = x * y (x es igual a x por el valor de y)
x /= y; //equivale a x = x / y (x es igual a x dividido por y)

Operadores de comparaci贸n

Son usados para realizar comparaciones entre valores, son muy usadas en las estructuras de comparaci贸n donde podemos realizar una comparaci贸n para determinar si cumple o no una condici贸n, pero tambi茅n se puede utilizar sin ninguna estructura de comparaci贸n.

x == y; //x es igual a y
x != y; //x es distinto de y
x < y; //x es menor que y
x > y; //x es mayor que y
x <= y; //x es menor o igual que y
x >=y; // "x" es mayor o igual que "y"

Operadores l贸gicos

Utilizados para realizar comparaciones entre expresiones, al realizar estas comparaciones nos devuelve verdadero si cumple con la condici贸n (true) o falso (false) si no cumple.

Arduino trabaja con tres operadores l贸gicos:

! No l贸gico (NOT)
&& 鈥淵鈥 l贸gico (AND)
|| 鈥淥鈥 l贸gico (OR)

Operadores de acceso con punteros

Si bien trabajar con punteros es complejo para aquellos que inician en la programaci贸n con Arduino, es muy bueno saber que pueden acceder a ellos en cualquier momento, los punteros son usados cuando deseamos trabajar directamente con una direcci贸n de memoria, esto hace que nuestros programas sean m谩s eficientes pero si no se utiliza de forma adecuada lo que haremos ser谩 una programa inconsistente.

Si deseamos trabajar con punteros en Arduino podemos utilizar el operador unario & para obtener la direcci贸n de memoria de una variable y el operador unario * sera usado para acceder a lo apuntado por un puntero.

Operadores de bit a bit

Cuando deseamos trabajar en Arduino directamente con bits podemos trabajar con distintos operadores que nos pueden ayudar a realizar que nuestros proyectos sean m谩s eficientes. 

Trabajar con bits implica que estaremos realizando c谩lculos con n煤meros binarios, haciendo comparaciones, negaciones  o desplazamientos a la derecha o izquierda, etc.

Operador Significado
& AND
| OR
~ NOT
^ XOR
>>  Desplazamiento a la derecha
<<  Desplazamiento a la izquierda

Ejemplo de un Contador binario de 4 bits con operador de desplazamiento

Con este ejemplo sencillo podemos ver el uso de operadores aritm茅ticos, de comparaci贸n y de bits.

Diagrama

Diagrama del ejemplo "contador binario" para explicar los Tipos de datos y operadores en Arduino

Materiales necesarios

  • 1 Protoboard
  • 4 Resistencias de 220 o 330 ohmios
  • 4 Leds
  • 1 Arduino Uno
  • Cables para la conexi贸n
// Creatividad Codificada 

int tiempo = 400;
byte i,j,x,y;
void setup()
{
// Definimos nuestras salidas
  pinMode(13,OUTPUT); 
  pinMode(12,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(10,OUTPUT);
}
void loop()
{
  for ( i = 0; i < 24; i++) // n煤mero de iteraciones para 4 bits 
  {
     for ( j = 0; j < 4; j++)
     {
       if ( ( (i >> j) & 1 )  == 1 ) // Operador de comparaci贸n y bits
       {
          x = 13-j;
          digitalWrite(x, HIGH);
       }   
       else 
       {
         y = 13-j;
         digitalWrite(y, LOW);
        }
     }
     delay(tiempo); // Tiempo de retardo
  }
}

驴Que te parecio el art铆culo?

Su direcci贸n de email no sera publicado. Los campos obligatorios est谩n marcados con *.

驴Qu茅 hacemos con tus datos?

Creatividad Codificada como responsable tratar谩 tus datos con la finalidad de gestionar tu participaci贸n en nuestro blog informativo. Puedes acceder, rectificar y suprimir tus datos, as铆 como ejercer otros derechos consultando la informaci贸n adicional y detallada sobre protecci贸n de datos en nuestra Pol铆tica de Privacidad