Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arduino Tema 1 Informática Industrial
Arduino Tema 1 Informática Industrial
INDICE
¿Por qué entonces utilizar Arduino? ¿Qué características tiene Arduino que le dan ese plus en
atractivo? Veamos:
Asequible - Las placas Arduino son más asequibles comparadas con otras plataformas de
microcontroladores. La versión estándar (Arduino UNO) ronda los 22€ + IVA.
Software ampliable y de código abierto - El software Arduino está publicado bajo una
licencia libre (Creative Commons) y preparado para poder ser ampliado por programadores
experimentados. El lenguaje puede ampliarse a través de librerías de C.
Además del modelo ARDUINO UNO, que usaremos en este curso, existen multitud de
modelos que se adaptan, continuamente, a situaciones concretas o simplemente que integran
algún elemento que queremos usar como por ejemplo un modem bluetooth, una conexión wifi
o Ethernet o simplemente queremos que sea muy pequeño o que consuma poco (consultar
http://arduino.cc/en/Main/Hardware ). A fecha de realización de esta documentación, algunos
de los modelos Arduino disponibles más conocidos son:
- Arduino MEGA
- Arduino Bluetooth
- Arduino Pro
- Arduino Nano
- Arduino Mini
Hemos visto unos cuantos modelos de Arduino, aunque aún no hemos descrito con
precisión ninguno. Ahora veremos las Shields o “Escudos”, que son tarjetas que podemos
conectar a algunos modelos de Arduino (aunque existen algunas para el Arduino MEGA, casi
todas están destinadas para el Arduino UNO) para ampliar sus posibilidades o simplemente
para ahorrarnos trabajo extra. Entre las Shields más populares podemos encontrar:
- Arduino SCREWSHIELD
Para dotar a Arduino de terminales de tornillo de
3,5 mm. Dispone de una zona central para conectar
componentes y permite añadir otras shields encima. El
pulsador reset está accesible.
Tanto los modelos de Arduino aquí descritos como las shields que hemos visto,
son una muestra de lo que el mercado cambiante nos ofrece. Para estar al tanto de los
nuevos modelos que continuamente van apareciendo, se recomienda visitar la página
web oficial de Arduino, en su apartado de productos:
https://www.arduino.cc/en/Main/Products
2.1.- Alimentación
Podemos utilizar:
Están enumerados desde el pin 0 al pin 13. Los pines que pueden ser
configurados como salidas “PWM” son: 3, 5, 6, 9,10 i 11.
Led pin 13
Led’s pines
TX RX
Los pines 2 y 3 son los encargados de testear las dos interrupciones externas de las que
dispone el microcontrolador (INT 0 y INT 1)
Los pines 10, 11, 12 y 13, realizan las funciones de los pines SS, MOSI, MISO y SCK
respectivamente, en la comunicación SPI con periféricos u otros microcontroladores, mediante la
librería <spi.h>.
Los 6 pines pueden usarse, sin perder funcionalidad, como cualquier pin de
entrada/salida digital de propósito general (GPIO) (0-13).
Los pines A4 y A5 se usan para las comunicaciones I2C como líneas SDA y SCL
respectivamente mediante la librería <wire.h>.
Las entradas analógicas A0-A5 no necesitan ser configuradas como entradas
para ser usadas como entradas analógicas. Si es necesario configurarlas como entradas
o salidas digitales, en caso de tratarlas como GPIO. En este caso, nos referiremos a
ellas como GPIO desde el pin 14 al 19. Es decir si en nuestro proyecto agotamos los
GPIO digitales, podremos usar los analógicos.
Como hemos comentado anteriormente, algunos GPIO digitales pueden actuar como
salidas PWM o salidas moduladas en amplitud de pulso. Se trata de los pines 3, 5, 6, 9,10 i 11.
Para escribir un valor analógico en estos pines, los configuraremos primero como salidas
y después usaremos la función analogWrite (num_pin, valor); donde valor es una
variable entera de 1 byte que tomará valores desde 0 a 255.
Cuando escribimos 0, en el pin tendremos 0V. Si escribimos 255, en el pin tendremos 5V
Incluso puedes descargar cualquier versión anterior desde la 0001 hasta la 0023, que
fue la antecesora de la versión, que a fecha de realización de esta documentación, es hoy la
definitiva, la 1.0. En el apartado release notes, podemos encontrar las diferencias que se han
ido introduciendo en cada versión. El código fuente del IDE está hospedado en GitHub.com.
Click!
Si consultamos las propiedades de este nuevo puerto COM podemos observar que
trabaja con un BaudRate de 9600 bps, con 8 bits de datos, sin paridad ni control de flujo y con
un bit de parada. Ahora ya podemos ejecutar Arduino.exe y lanzar el IDE de Arduino, conectar
la placa al ordenador y listo.
Barra de Menús
Área de Trabajo
Área de Notificaciones
palabra sketch seguido de la fecha y una letra. Por ejemplo si el 1 de abril creamos un sketch
nuevo, el IDE lo nombrará sketch_apr01a si es el primero del día, sketch_apr01b si es el
segundo del día y así sucesivamente. Al guardar el sketch en el que se está
trabajando, el IDE crea una carpeta con el nombre del sketch, en la carpeta Arduino, en la
carpeta Documentos de nuestro PC. Dentro de esta carpeta está el archivo que contiene el
código que por defecto se llamará como el sketch acabado con la extensión *.ino
Barra de Menús
En la barra de menús observamos, en la parte superior, el nombre del sketch en el que
estamos trabajando y la versión del IDE. Después encontramos los siguientes menús: File, Edit,
Sketch, Tools y Help
Menú File
Menú Edit
Las opciones son casi todas comunes a las de cualquier aplicación que se ejecute en
Windows y que disponga del menú Edit. Las que no son tan habituales son:
Copy for forum: Copia al portapapeles de Windows, el código completo del sketch en
el que estamos trabajando pero conservando el formato para poder pegarlo en foros
Copy as HTML: Copia al portapapeles de Windows, el código completo del sketch en
el que estamos trabajando pero conservando el formato para poder pegarlo en la
edición de páginas web
Comment/Uncomment: Previa selección de una o varias líneas de nuestro código, con
esta opción podemos comentar la línea (inserta // al principio) y el compilador no las
interpretará. Si seleccionamos una línea ya comentada, esta opción las descomentará.
Increase Indent: Seleccionamos una o varias líneas y esta opción introduce a todas, un
tabulador.
Decrase Indent: Seleccionamos una o varias líneas y esta opción elimina a todas, un
tabulador.
Menú Sketch
Menú Tools
Menú Help
Getting Started: Abre la Guía de Inicio del sitio web de Arduino. Esta guía está
guardada en el propio IDE de Arduino. No necesita conexión a internet.
Environment: Abre la guía del IDE de Arduino.
Troubleshooting: Abre la guía de resolución de problemas.
Reference: Abre la guía de referencias del lenguaje utilizado por Arduino.
Find in Reference: Búsqueda de algún término en la guía de referencias.
Frequently Asked Questions: Abre la guía de preguntas más frecuentes.
Visit Arduino.cc: Conecta a través de internet con el sitio oficial de Arduino que
es http://arduino.cc
About Arduino: Muestra información sobre los creadores de Arduino.
Save
Área de Trabajo
El área de trabajo es la zona editable del IDE de Arduino donde escribiremos
nuestro código para posteriormente, compilarlo y transferirlo a la placa. En un
programa de Arduino, podemos tener tantas funciones como queramos (definidas por
el usuario) pero como mínimo tendremos dos: setup () y loop ().
Área de Notificaciones
El área de notificaciones es la zona del IDE de Arduino donde el compilador nos
dará información sobre posibles errores, qué placa tenemos conectada y a qué puerto.
También nos indica en que línea tenemos el cursor dentro del área de trabajo.
Ahora conectamos nuestra placa Arduino al puerto USB de nuestro ordenador. En el menú
Tools Board elegimos nuestro modelo de Arduino
Función Setup ()
Se ejecuta una
vez
Función loop ()
Se ejecuta
indefinidamente
Configuración
c) Hay que tener mucho cuidado con los tipos de datos de las variables que utilizamos y
con las conversiones que el compilador realiza de forma automática. Sobre todo hay
que tener en cuenta que sólo podemos enviar desde el monitor al microcontrolador,
caracteres.
A continuación vamos a modificar el sketch blink para poder interactuar con nuestra
placa Arduino utilizando, Serial Monitor. Diferenciaremos dos casos:
Vamos a modificar el código para que Arduino nos envíe el valor de una
variable, no un mensaje de texto.