LUIS ALEJANDRO BERNAL ROMERO
La declaracipon de variables es mejor con:
#define LED_ROSA_1 3
Por que no ocupa memoria en ejecución.
Jonathan Alexander López Cruz
Aunque << #define >> pueda tener un uso similar a la palabra clave << const >>, no es recomendable su uso para declarar CONSTANTES (NO VARIABLES).
<< #define >> es una orden de preprocesador, es decir que se ejecuta antes que el compilador, y el usarlo de esta manera lo que hace es sustituir todos los valores del nombre de la constante en el código y luego entregarla de esa forma al compilador, es como un buscar y remplazar (al menos al usarlo de esta forma, #define tiene otros usos)
Un ejemplo muy común que se puede encontrar el linea es cuando se definen constantes como PI:
#define PI 3.141592 //...etc.
void setup() { //no intereza declarar nada para este ejemplo }
void loop() { int Valor_sensor = analogRead(A0); // Convertir la lectura analogica (que va de 0 - 1023) a voltage (0 - 5V): float voltage = Valor_sensor * (5.0 / 1023.0);
if (Valor_sensor <= PI) { Serial.println(voltage); } else { Serial.println(PI); } }
Al utilizar << #define >> en lugar de << const >>, no solo no estamos definiendo el tipo de variable (para entender que problema puede haber, busquen la diferencia de lenguajes tipados y no tipados), si no que al realizarse esta orden de preprocesador le estamos enviando al compilador lo siguiente:
//---------------------------------------------------------------------- #define PI 3.141592 //...etc.
void setup() { //no intereza declarar nada para este ejemplo }
void loop() { int Valor_sensor = analogRead(A0); // Convertir la lectura analogica (que va de 0 - 1023) a voltage (0 - 5V): float voltage = Valor_sensor * (5.0 / 1023.0);
if (Valor_sensor <= 3.141592) { Serial.println(voltage); } else { Serial.println(3.141592); } } //-----------------------------------------------------------------------------
Usando #define no estamos creando una constante, en realidad, se comporta igual que si se hubiese escrito el valor a mano.
Para darse una mejor idea pueden checar el siguiente enlace:
https://vitaminacpp.wordpress.com/2013/01/06/const-contra-define/
Saludos.