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:
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.
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:
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.