Muchas aplicaciones con microcontroladores hacen uso de cadenas de texto o strings. Las cadenas de texto o strings son un tipo de dato usado en la mayoría de los compiladores para microcontroladores, y la IDE de Arduino posee una biblioteca dedicada a String. Estas cadenas son como arrays de caracteres ASCII, lo que significa que ocupan un lugar en la memoria y que un carácter sigue al otro. Para manejar cadenas de texto en Arduino, puedes usar el tipo String.
Formas de crear cadenas de texto
Existen principalmente dos maneras de crear cadenas de texto en Arduino:
- Crear un objeto a partir de la Clase String: Se crea un String llamado reportString y se inicializa con el texto: SensorReading: 456. Podemos notar que los objetos o datos string en C++ deben ser escritos con 'S' mayúscula.
- Crear un array de caracteres: Esta forma de crear un string es la utilizada en la programación en C tradicional. Una desventaja al usar cadenas de texto en lenguaje C es que el programador debe definir previamente un array o espacio de memoria para almacenar los caracteres.
Operaciones comunes con objetos String
Son muchas las ventajas de usar objetos String, ya que permiten su fácil manipulación y concatenación. Para el desarrollo de proyectos, el lenguaje de programación para Arduino basado en C/C++ facilita estas tareas:
- Adición: Para adicionar un valor a una cadena de texto, usamos el operador de adición, representado por el símbolo '+'.
- Concatenación: Una de las operaciones más usadas es adicionar un texto al final de una string utilizando el operador '+=' o la función concat().
- Cambio de formato: La biblioteca para el manejo de texto posee instrucciones para pasar de minúsculas a mayúsculas mediante la función toUpperCase(), y viceversa.
- Acceso a caracteres: Para conocer o conseguir un carácter de una determinada posición, se puede usar la función string.charAt(n), donde 'n' es la posición. Para modificar un carácter, se utiliza string.setCharAt(index, c).
Tabla de referencia para tipos de datos
Al trabajar con variables en Arduino, es fundamental conocer sus límites y características:
| Tipo de dato | Tamaño (bits) | Rango |
|---|---|---|
| word | 16 | 0 a 65,535 |
| int | 16 | -32,768 a 32,767 |
| char | 8 | 1 carácter ASCII |
Consideraciones sobre el uso de memoria
Una variable String, cuando no se inicializa y no contiene ningún valor, se le asigna un espacio de 16 bytes en la memoria RAM. Es muy importante resaltar que cuando se usan variables del tipo String se hará un uso excesivo de la memoria de Arduino. Una variable String siempre debe terminar en un carácter nulo, es decir, en \0. Si se inicializa con un valor que supera el espacio asignado, se le asignará un valor que considere el byte nulo necesario para finalizar la cadena.
Lea también: IVA 21% Excel
Los programas usados como ejemplo pueden ser encontrados en el menú: Archivo -> Ejemplos -> Strings de la IDE de Arduino. Dependerá, como siempre, del proyecto en el que estemos trabajando y de nuestro objetivo, utilizar uno de estos métodos para convertir un número en cadena con Arduino.
Lea también: Guía IVA reducido
Lea también: ¿Cómo localizar tus XML del SAT?
