Cómo convertir el número entero en String Arduino

Cómo convertir el número entero en String Arduino

Arduino es una plataforma basada en microcontroladores que consta de software y hardware. La programación de Arduino se basa en el lenguaje C/C ++. Se heredan múltiples funciones utilizadas en Arduino de ambos idiomas. Este artículo describirá diferentes formas de convertir int en cadena utilizando funciones de C en Arduino IDE.

Métodos para convertir int to string en arduino

Int to String La conversión es el proceso de convertir un tipo de datos enteros en un tipo de datos de cadena utilizando el código Arduino. Esto a menudo es necesario cuando se trabaja con lenguajes de programación, ya que diferentes tipos de datos tienen diferentes características y métodos de manipulación.

Por ejemplo, Se puede usar un entero para realizar cálculos matemáticos, mientras que una cadena puede usarse para mantener los datos de texto. Para usar los datos almacenados en un entero como una cadena, primero debe convertirse en el tipo de datos de cadena.

Hay múltiples funciones C disponibles que se pueden usar en la programación de Arduino para convertir int en cadena. Los siguientes son las tres formas que pueden convertir cualquier número entero en una cadena:

  • Uso de la función String ()
  • Uso de la función sprintf ()
  • Uso de la función DTOSTRF ()

1: usando la función String ()

La función de cadena en la programación de Arduino es la forma más simple de transformar int to String. La función string () construye una instancia de la clase de cadena. Usando esta función se pueden convertir diferentes tipos de datos en cadena, incluido el int.

Sintaxis

Sintaxis de función string ():

Cadena (val)

Parámetros:

Esta función toma un parámetro:

Val: Una variable para formatear en una cadena.

Devoluciones:

Devuelve una cadena.

Código de ejemplo

El siguiente es el código de ejemplo donde inicializamos una variable "a"Con el tipo de datos INT. Después de eso, se inicializa una nueva cadena con el nombre mystr. A continuación usando el Cadena() función variable a se devuelve como una instancia de cadena.

setup () void
De serie.comenzar (9600); /*Tasa de baudios para la comunicación en serie*/
int a = 1234; /*Inicializar una cadena con el valor 1234*/
Cadena mystr; /*Se define la nueva cadena*/
mystr = string (a); /*Convertir int a string*/
De serie.imprimir ("entero convertido en cadena:");
De serie.println (mystr); /*Imprimir valor de cadena en el monitor serial*/

bucle void ()

Podemos ver la cadena del convertidor en el monitor de serie IDE.

2: Uso de la función sprintf ()

El sprintf significa impresión de cadena. Esta función toma valor de las variables y la almacena dentro del búfer. Para mostrar la variable formateada como cadena dentro de ese búfer, usamos el De serie.impresión () función.

Sintaxis

sprintf (búfer, "%d", myint);

Parámetros

Esta función toma dos argumentos.

  • Primer argumento buffer almacenará los personajes dentro de la matriz.
  • El segundo argumento es la variable int o cualquier otra cadena que se debe almacenar.
  • %d es el especificador de formato para enteros decimales firmados. Le dice a sprintf () que el tipo de datos de variable se almacenará dentro del búfer.

Devoluciones

Devuelve un búfer que almacena una cadena.

Para obtener información más detallada sobre Arduino sprintf () Función Lea el artículo Cómo imprimir múltiples variables usando la función Sprintf () en Arduino Serial Monitor.

Código de ejemplo

En código dado un En t Se inicializa la variable. Después de eso usando el sprintf () función Este valor entero se convierte en cadena y se almacena dentro del búfer.

setup () void
De serie.comenzar (9600); /*Tasa de baudios para la comunicación en serie*/
int myint = 123; /*Int definido*/
buffer de char [10]; /*Tamaño del búfer definido*/
sprintf (búfer, "%d", myint); /*Convertir int en una cadena y almacenar dentro de un búfer*/
String myString = String (buffer);
De serie.imprimir ("entero convertido en cadena:");
De serie.println (myString); /*Imprimir valor de cadena en el monitor serial*/

bucle void ()

La salida representa el entero convertido en cadena.

3: Uso de la función DTOSTRF ()

Arduino función dtostrf () le permite especificar el ancho mínimo y el número de decimales para la cadena resultante.

Esta función puede pasar un valor doble y convertirlo en una representación ASCII que se almacena dentro del cadena.

Sintaxis

DTOSTRF (FloatValue, MinStringWidth, NumafterDecimal, Charbuf_to_store_String);

Parámetros

Esta función toma 4 argumentos:

  • Valor flotante (escriba el doble)
  • Min String Width (tipo char)
  • Número después de decimal (escriba char)
  • Char Buffer (escriba char)

Devolver

Esta función devuelve un nuevo puntero a la cadena convertida de int.

Para una guía más detallada sobre el DTOSTRF () Función Lea el tutorial Arduino dTostrf () Función: ingrese sus flotadores en cuerdas.

Código de ejemplo

Esto creará una cadena con un ancho mínimo de 6 caracteres y sin lugares decimales, por lo que la cadena resultante será " 123".

setup () void
De serie.comenzar (9600); /*Tasa de baudios para la comunicación en serie*/
int myint = 123; /*Int definido*/
buffer de char [10]; /*Tamaño del búfer definido*/
dTostrf (myint, 6, 0, búfer); /*Convertir valores dobles y flotantes en cadena*/
String myString = String (buffer);
De serie.imprimir ("entero convertido en cadena:");
De serie.println (myString); /*Imprimir valor de cadena en el monitor serial*/

bucle void ()

La salida representa la cadena " 123". Se dejan tres espacios izquierdos ya que el ancho definido para la cadena de salida es 6.

Conclusión

La programación de Arduino toma la mayor parte de su función de C/C++. Para convertir el entero en cadena en la programación de Arduino, hay tres funciones diferentes que incluyen dtostrf (), sprintf () y string (). Usando estas funciones, cualquiera de los enteros se puede convertir en cadena y mostrarse en el monitor en serie o en alguna pantalla LCD I2C o OLED.