Estructura de un programa
Para escribir un programa con arduino se deben tener en cuenta una serie de elementos básicos en su estructura.
- Directivas de reprocesado: controlan la conversión del programa a código máquina por parte del compilador
- Programas o funciones: conjunto de instrucciones. Puede haber uno o varios; en cualquier caso siempre debe haber uno definido como principal mediante la inclusión de la llamada void loop(){}.
- Instrucciones: indican como debe comportarse el arduino en todo momento.
- Comentarios: permiten escribir lo que significa cada línea del programa.
Tipos de datos
Los arduinos tienden ser altamente dependientes a los datos, ya que en su núcleo existe la unidad aritmética lógica (ALU), encargada de ejecutar operaciones simples en su memoria. A la ALU no le importa que representen los tipos de datos para el usuario, sea texto, valores enteros o flotantes o incluso el código de programación.
Todo el contexto para las operaciones viene del compilador y del usuario, quien es el que define los valores y le da las instrucciones al compilador.
Definiendo tipos de datos
El ambiente arduino es realmente c++, con bibliotecas de soporte, y demás características en la sintaxis del código, al igual que la declaración de las variables del programa.
Al igual que en c++ los datos tiene un tamaño y rango que soporta la cantidad de valor, en la siguiente tabla encontrara el detalle de dicha información.
Tipo | Tamaño | Rango | Descripción |
---|---|---|---|
boolean | 1 bit | 0 a 1 | Entero de 1 bit |
byte | 8 bit | 0 a 255 | Entero |
unsigned char | 8 bit | 0 a 255 | Entro sin signo |
char | 8 bit | -128 a 127 | Entero con signo |
int | 8 bit | -32,768 a 32,767 | Entero de 8 bit con signo |
word unsigned int | 16 bit | 0 - 65,535 | Entero de 16 bit |
long | 16 bit | -2,147'483,648 a 2,147'483,647 | Entero de 16 bit con signo |
unsigned long | 4 byte | 0 a 4,294'967,295 | Entero sin signo de 4 bits |
float / double | 4 byte | -3.4028235e+37 a 3.4028235e+38 | Decimal con signo de 4 bytes |
Constantes
Las constantes son expresiones predefinidos en el lenguaje de Arduino[2]. Se utilizan para hacer que los programas más fáciles de leer.
Clasificamos constantes en grupos:
- Definición de nivel lógico en donde utilizamos valores como
true
yfalse
- Definición de niveles de pin
HIHG
yLOW
donde pordemos declarar un el comportamiento electrico de un pin por medio de la funciónpinMode()
. - Definición de los modos de pines digitales: INPUT, INPUT_PULLUP y OUTPUT.
Para mas información en el post de constantes encontraran el detalle de las clasificaciones mencionadas anteriormente.
Ejemplos de datos
Declaración de constantes
También se pueden declarar las constantes para propósitos generales dentro de nuestra aplicación, ya que le dan a la estructura del programa una forma de mencionar valores sin que sufran cambios a lo largo del programa.
//Declaración de valores
const int DIA_SEMANA = 7;
const int MESES_AÑO = 12;
//Declaración de pines
const int PIN_13 = 13;
const int LED_RED = 3;
Las constantes se declaran en mayúscula y al principio del programa.
Variables
Las variables se utilizan para nombrar posiciones de memoria RAM; se deben declarar obligatoriamente antes de utilizarlas; para ello se debe inicial el nombre y el tipo de dato que se manejara.
Tipo nombre_variable = valor_inicial;
Donde
- Tipo hacer referencia a cualquiera de los tipo de datos vistos en la tabla anterior.
- Nombre_variable puede ser cualquier nombre de variable.
- Valor_inicial si se requiere es el valor que se le puede dar a la variable.
int dato;
int suma = 3;
float temp_limit = 500.5;
char saludo = 'h';
Las variables definidas en un programa pueden ser de tipo LOCAL o GLOBAL. Las variables locales se utilizan en la función de donde se encuentran declaradas; las variables globales se pueden utilizar en todas las funciones del programa.
//VARIABLES GLOBALES
//Declaración de valores
const int DIA_SEMANA = 7;
const int MESES_AÑO = 12;
//Declaración de pines
const int PIN_13 = 13;
const int LED_RED = 3;
void setup() {
//VARIABLE LOCAL
int dato;
int suma = 3;
}
void loop() {
//VARIABLE LOCAL
float temp_limit = 500.5;
char saludo = 'h';
}
Esta es una explicación corta pero detallada de arduino tipos de datos utilizados en nuestro entrono de desarrollo de arduino.
Referencias
[1] arduino https://www.arduino.cc/reference/en/language/variables/constants/constants/, Consultado marzo 2019