Arduino:
Interpolación de cadenas de texto
Cómo hacerlo:
Para interpolar una cadena en Arduino, usualmente concatenamos con el operador +
o con la función sprintf()
. Aquí van dos ejemplos breves:
char buffer[50];
int temp = 23;
// Usando el operador '+':
String message = "La temperatura es " + String(temp) + " grados Celsius.";
Serial.println(message);
// Usando sprintf():
sprintf(buffer, "La temperatura es %d grados Celsius.", temp);
Serial.println(buffer);
Salidas esperadas:
La temperatura es 23 grados Celsius.
La temperatura es 23 grados Celsius.
Profundización
Históricamente, el lenguaje C, en el cual se basa Arduino, utiliza funciones como sprintf()
para formatear cadenas. No obstante, en otros idiomas más modernos, la interpolación es más directa, como Ruby o Python que usan #{variable}
o f"texto {variable}"
, respectivamente. En Arduino, nos limitamos al estilo C por restricciones de memoria y porque el lenguaje está orientado al rendimiento en sistemas embebidos. Alternativas a sprintf()
incluyen la concatenación manual o usar String
y sus métodos, pero cada opción tiene implicaciones en el uso de la memoria y rendimiento, algo a tener en cuenta al programar microcontroladores.
Ver También
- La referencia oficial de Arduino sobre Strings: https://www.arduino.cc/reference/en/language/variables/data-types/string/
- Un tutorial sobre
sprintf()
en C: http://www.cplusplus.com/reference/cstdio/sprintf/ - Documentación de Arduino sobre
Serial.print()
: https://www.arduino.cc/reference/en/language/functions/communication/serial/print/