ARD-SYN 02 – Sintaxis (II). Las secciones setup y loop

Tras el artículo anterior, en el que resumíamos los contenidos que forman parte de la primera sección de un sketch Arduino, en este artículo vamos a centrarnos en las secciones setup y loop, y en las instrucciones que podemos llegar a encontrar aquí.

ARD-SYN 03 – Sintaxis (III). Aritmética

Arduino cuenta con una serie de funciones para la realización de cálculos matemáticos que pueden ser necesarios para la operativa del sketch. Elemental, querido Watson: ningún lenguaje de programación puede hacer nada si no implementa funcionalidades matemáticas y, desde luego, Arduino no es la excepción, aunque sí es cierto que sus capacidades de cálculo no son tantas y tan elaboradas como las de otros lenguajes en algunos aspectos, lo que implementa es suficiente para lo que está concebido. En este artículo vamos a cotejar las funcionalidades aritméticas de Arduino.

ARD-SYN 04 – Sintaxis (IV). Control de flujo

El proceso “natural” de ejecución de un sketch implica que las instrucciones se ejecuten una detrás de otra, desde la primera hasta la última. Por supuesto, esto supone una forma de trabajo que no es adecuada en la práctica. Hay veces que, dependiendo del estado de ciertas variables, el skecth debe ejecutar una parte del código, u otra distinta. También existen fragmentos del código que deben ejecutarse reiterativamente un cierto número de veces, antes de seguir adelante. De todo esto se encargan las estructuras de control de flujo, de las que vamos a hablar en este artículo.

ARD-SYN 05 – Sintaxis (V). Tipos de datos

En este artículo vamos a entrar hasta la cocina en los tipos de datos que podemos manejar con Arduino. Ya hemos mencionado, por encima, esta cuestión en un artículo anterior. Sin embargo, es necesario entrar en detalle al repecto. Antes de entrar en materia, un comentario. Arduino maneja, básicamente, tres tipos de datos: Numéricos Caracteres Booleanos Todo lo demás, todos los tipos de datos que podemos manejar, son variantes de alguno de estos tres.

ARD-SYN 06 – Sintaxis (VI). La clase String

En el artículo anterior mencioné de pasada, al final, la clase String que implementa Arduino para manejo de cadenas. Dadas las muchas prestaciones que esta clase nos ofrece, merece dedicarle un post completo, y a ello vamos. DECLARANDO CADENAS CON String Declarar cadenas usando la clase String es, en realidad, crear objetos de dicha clase. El de la clase permite crear cadenas de varias maneras diferentes, según los argumentos recibidos.

LA LIBRERÍA EEPROM

Las plaquitas de Arduino cuentan con una zona de memoria de un tipo conocido como EEPROM (Electrically Erasable Read Only Memory, Memoria de Sólo Lectura, Borrable Eléctricamente). Aunque el nombre pueda no parecer muy afortunado, se trata de una memoria no volátil, es decir, cuyo contenido no se pierde cuando se desconecta la alimentación. Sin embargo, se puede borrar y reescribir mediante las adecuadas señales eléctricas. Podemos considerar estas memorias como diminutísimos discos duros (la capacidad varía de unas versiones de Arduino a otras, pero oscila entre 1 y 4 Kb). Si bien es muy poco, para determinados usos es adecuada.

LA LIBRERÍA LiquidCrystal

Esta librería contiene todo lo necesario para gestionar un display LCD (Cristal Líquido) con Arduino. En el tutorial 12 hemos visto como se usa en la práctica. Aquí vamos a recopilar una referencia, a modo de recordatorio, de lo que puede hacer esta librería para comunicar Arduino con un display de datos. La librería LiquidCrystal nos permite crear un objeto que representa al display LCD y que contiene todas las operaciones “de bajo nivel” para que a nosotros nos resulte fácil la programación de este dispositivo. Ahora vamos a conocer los métodos que nos ofrece, para poder usarlos cuando nos haga falta.

LA LIBRERÍA Servo

La librería Servo implementa la clase del mismo nombre, destinada a facilitar la comunicación de Arduino con servomotores. La clase Servo (y, por tanto, cualquier objeto que instanciemos a partir de la misma) cuenta con los siguientes métodos: El constructor Esta es una clase cuyo constructor puede parecer un poco atípico, ya que no recibe argumentos ni se incluyen los paréntesis propios de la sintaxis de uso de los métodos. Lo único que se hace es declarar un objeto de la clase Servo, así: Servo MiMotorServo;

LA LIBRERÍA LedControl

Esta librería se emplea para que Arduino pueda gestionar módulos de displays LED de siete segmentos y otros dispositivos de señalización LED basados en la arquitectura del circuito integrado MAX 7219 o MAX 7221. En el artículo 16 vemos cómo se emplea. Aquí vamos a incluir el enlace de descarga (para los que aún no la tengáis) y, por supuesto, una referencia de los métodos de esta librería, para que podáis usarla en vuestros sketches.

LA LIBRERÍA Adafruit_TFTLCD

Esta librería está concebida para la gestión de pantallas TFT. Se ocupa de todo lo relacionado con la inicialización y configuración de la pantalla, así como de la visualización de datos y gráficos en la misma. En el mercado existe una gran variedad de librerías que hacen esto. Elegir una u otra es, en la mayoría de los casos, una cuestión de criterio. Con determinados dispositivos, es probarlas y ver cual se adapta mejor a lo que necesites. En mi caso, esta es la que mejor resultado me ha dado. Puedes descargarla en este enlace. Esta librería hace uso, a su vez de la librería Adafruit_GFX para gráficos, que puedes descargar en este enlace. En versiones anteriores era necesario incluir, en el sketch, ambas librerías. En la versión actual, incluimos Adafruit_TFTLCD y esta, a su vez, se ocupa de cargar Adafruit_GFX de forma transparente. Por supuesto, ambas deben haber sido incorporadas a la lista de librerías de Arduino.