Arduino
Arduino
Un microcontrolador es un circuito integrado o “chip” (es decir, un dispositivo electrónico que integra
en un solo encapsulado un gran número de componentes) que tiene la característica de ser
programable. Es decir, que es capaz de ejecutar de forma autónoma una serie de instrucciones
previamente definidas por nosotros.
Una placa hardware libre que incorpora un microcontrolador reprogramable y una serie de pines
(los cuales están unidos internamente a las patillas de E/S del microcontrolador) que permiten
conectar allí de forma muy sencilla y cómoda diferentes sensores y actuadores.
Un software (más en concreto, un “entorno de desarrollo”) gratis, libre y multiplataforma (ya que
funciona en Linux, MacOS y Windows) que debemos instalar en nuestro ordenador y que nos
permite escribir, verificar y guardar (“cargar”) en la memoria del microcontrolador de la placa Arduino
el conjunto de instrucciones que deseamos que este empiece a ejecutar.
https://www.arduino.cc/
¿Por qué elegir Arduino? 7
Existen muchas otras placas de diferentes fabricantes que, aunque incorporan diferentes modelos
de microcontroladores, son comparables y ofrecen una funcionalidad más o menos similar a la de las
placas Arduino. Todas ellas también vienen acompañadas de un entorno de desarrollo agradable y
cómodo y de un lenguaje de programación sencillo y completo. No obstante, la plataforma Arduino
(hardware + software) ofrece una serie de ventajas:
Cuando se desea transmitir un conjunto de datos desde un componente electrónico a otro, se puede
hacer de múltiples formas. Una de ellas es estableciendo una comunicación “serie”; en este tipo de
comunicación la información es transmitida bit a bit (uno tras otro) por un único canal, enviando por
tanto un solo bit en cada momento. Otra manera de transferir datos es mediante la llamada
comunicación “paralela”, en la cual se envían varios bits simultáneamente, cada uno por un canal
separado y sincronizado con el resto.
9
Partes importantes de un Arduino 10
La alimentación: El voltaje de funcionamiento de la placa Arduino (incluyendo el microcontrolador y el
resto de componentes) es de 5 V. Se puede obtener de las siguientes formas: Conectando la placa
Arduino a una fuente externa, Conectando la placa Arduino a nuestro computador mediante un cable
USB.
Las entradas y salidas digitales: La placa Arduino dispone de 14 pines-hembra de entradas o salidas
(según lo que convenga) digitales, numeradas desde la 0 hasta la 13. Es aquí donde conectaremos
nuestros sensores para que la placa pueda recibir datos del entorno, y también donde conectaremos
los actuadores para que la placa pueda enviarles las órdenes pertinentes, además de poder conectar
cualquier otro componente que necesite comunicarse con la placa de alguna manera. A veces a estos
pines-hembra digitales de “propósito general” se les llama pines GPIO (de “General Purpose
Input/Output”).
Las entradas analógicas: La placa Arduino dispone de 6 entradas analógicas (en forma de pines- 11
hembra etiquetados como “A0”, “A1”... hasta “A5”) que pueden recibir voltajes dentro de un rango de
valores continuos de entre 0 y 5 V. No obstante, la electrónica de la placa tan solo puede trabajar con
valores digitales, por lo que es necesaria una conversión previa del valor analógico recibido a un valor
digital lo más aproximado posible. Esta se realiza mediante un circuito conversor analógico/digital
incorporado en la propia placa.
Las salidas analógicas (PWM): En nuestros proyectos a menudo necesitaremos enviar al entorno
señales analógicas, por ejemplo, para variar progresivamente la velocidad de un motor, la frecuencia
de un sonido emitido por un zumbador o la intensidad con la que luce un LED. No basta con simples
señales digitales: tenemos que generar señales que varíen continuamente. La placa Arduino no
dispone de pines-hembra de salida analógica propiamente dichos (porque su sistema electrónico
interno no es capaz de manejar este tipo de señales), sino que utiliza algunos pines-hembra de salida
digitales concretos para “simular” un comportamiento analógico. Los pines-hembra digitales que son
capaces trabajar en este modo no son todos: solo son los marcados con la etiqueta “PWM”. En
concreto para el modelo Arduino UNO son los pines número: 3, 5, 6, 9, 10 y 11.
El botón de “reset”: La placa Arduino UNO dispone de un botón de reinicio (“reset”) que permite, una 12
vez pulsado, enviar una señal LOW al pin “RESET” de la placa para parar y volver a arrancar el
microcontrolador. Como en el momento del arranque del microcontrolador siempre se activa la
ejecución del bootloader, el botón de reinicio se suele utilizar para permitir la carga de un nuevo
programa en la memoria Flash del microcontrolador –eliminando el que estuviera grabado
anteriormente– y su posterior puesta en marcha.
¿Qué “shields” Arduino oficiales existen? 13
Además de las placas Arduino propiamente dichas, también existen los llamados “shields”. Un “shield”
(en inglés significa “escudo”) no es más que una placa de circuito impreso que se coloca en la parte
superior de una placa Arduino y se conecta a ella mediante el acoplamiento de sus pines sin necesidad
de ningún cable. Su función es actuar como placas supletorias, ampliando las capacidades y
complementando la funcionalidad de la placa Arduino base de una forma más compacta y estable.
¿Qué es un IDE? 14
Las siglas IDE vienen de Integrated Development Environment, lo que traducido a nuestro idioma
significa Entorno de Desarrollo Integrado. Esto es simplemente una forma de llamar al conjunto de
herramientas software que permite a los programadores poder desarrollar (es decir, básicamente
escribir y probar) sus propios programas con comodidad. En el caso de Arduino, necesitamos un IDE
que nos permita escribir y editar nuestro programa (también llamado “sketch” en el mundo de Arduino),
que nos permita comprobar que no hayamos cometido ningún error y que además nos permita, cuando
ya estemos seguros de que el sketch es correcto, grabarlo en la memoria del microcontrolador de la
placa Arduino para que este se convierta a partir de entonces en el ejecutor autónomo de dicho
programa.
15
Estructura general de un sketch 16
Un programa diseñado para ejecutarse sobre un Arduino (un “sketch”) siempre se compone de tres
secciones:
La sección de declaraciones de variables globales: ubicada directamente al principio del sketch.
La sección llamada “void setup()”: delimitada por llaves de apertura y cierre.
La sección llamada “void loop()”: delimitada por llaves de apertura y cierre.
La primera sección del sketch (que no tiene ningún tipo de símbolo delimitador de inicio o de final) está
reservada para escribir, tal como su nombre indica, las diferentes declaraciones de variables que
necesitemos. En el interior de las otras dos secciones (es decir, dentro de sus llaves) deberemos escribir
las instrucciones que deseemos ejecutar en nuestra placa.
17
Sobre las mayúsculas, tabulaciones y puntos y comas 18
El lenguaje Arduino es “case-sensitive”: Hola ≠ hola
Las tabulaciones de las instrucciones contenidas dentro de las secciones “void setup()” y “void loop()” del
sketch del ejemplo 4.1 no son en absoluto necesarias para que la compilación del sketch se produzca
con éxito.
Todas las instrucciones (incluyendo también las declaraciones de variables) acaban con un punto y
coma.
Comentarios
Comentarios compuestos por una línea entera (o parte de ella): para añadirlos deberemos escribir dos
barras ( // ) al principio de cada línea que queramos convertir en comentario.
Comentarios compuestos por un bloque de varias líneas seguidas: para añadirlos deberemos escribir
una barra seguida de un asterisco ( /* ) al principio del bloque de texto que queramos convertir en
comentario, y un asterisco seguido de una barra ( */ ) al final de dicho bloque.
Variables 19
Una variable es un elemento de nuestro sketch que actúa como un pequeño “cajoncito” (identificado por
un nombre elegido por nosotros) que guarda un determinado contenido.
Arduino Debugger
ArduinoSim Eagle de Autodesk
Fritzing Proteus
TinkerCad
LTSpice
PartQuest
Referencias bibliográficas
Torrente Artero O. (2013). Arduino Curso práctico de formación. México: Grupo editorial
Alfaomega.