Convertir entero en cadena en Arduino

Yousef Zahid 12 octubre 2023
Convertir entero en cadena en Arduino

A muchos programadores novatos les resulta difícil convertir números enteros en cadenas y viceversa debido a que tienen una memoria de memoria de un ejemplo particular en un libro. Crearemos una hoja de ruta simple pero práctica para resolver problemas como estos en el futuro.

En primer lugar, definamos los términos necesarios antes de continuar con el código.

Un entero es una palabra matemática que define un conjunto de números naturales. Por ejemplo, un número negativo como -2 es un número entero, 0 es un número entero, aunque no es ni positivo ni negativo. Además, todos los números naturales positivos también son números enteros. Sin embargo, tenga cuidado de que los números racionales, irracionales e imaginarios no caigan bajo su paraguas. En un lenguaje de programación, la variable int almacena números enteros.

Una cadena en C++, por otro lado, es solo un array unidimensional de caracteres. Por ejemplo, la palabra HU es una cadena de dos caracteres. La variable de cadena almacena caracteres. La clase String también existe, pero eso es un poco complejo en esta etapa.

Expliquémoslo en un código simple.

Serial.begin(9600);   // Baud rate for communication, sending bits at a rate of
                      // 9600 bits/sec.
char a[] = {72, 85};  //  define two integer in an array.
Serial.println(a);    // Prints the output a.

Antes de comenzar a explicar, es necesario tener en cuenta que este código requiere un USB Arduino en vivo conectado a la PC para que el monitor en serie muestre los resultados.

La tasa de bits es 9600, que es necesaria. Aumentarlo puede interrumpir el flujo y la salida se volverá errática. El código completo es un número entero, carácter y cadenas en 3 líneas. El 72 y el 85, dos números enteros, se procesan usando la variable char y se convierten en palabras usando el código ASCII. Después de recuperar estos datos de la biblioteca, el comando Serial.println envía la salida al monitor en serie. Estos dos caracteres o alfabetos aquí formarían una cadena pero no necesariamente la definirían.

El monitor imprimirá HU para su visualización. Puede intentar cambiar el valor y ver el resultado por sí mismo.

int i = 72;      // Assigns an integer value to i
char b[] = {i};  // the integer value has been assign as a variable to b
Serial.println(b);

Ahora bien, este ejemplo no es el típico. Es una conversión simple de entero a carácter y puede elaborar más el código para introducir cadenas si desea volverse complejo.

Explicación de enteros, cadenas y variables de caracteres

El último ejemplo es un poco más sofisticado:

int h = 72;  // Assigning integer.
int j = 85;
char c[] = {h,
            j};  // Inputting the variable h and j into the character variable c
String(z) = c;   // Producing a string.
Serial.println(z);

Empecemos por la primera línea, asignando un valor entero simple a h. Lo mismo ocurre con j. Además, la variable char c luego subconjunta estas dos variables y las convierte de enteros a HEX.

Artículo relacionado - Arduino String

Artículo relacionado - Arduino Integer