617 626 1 PB
617 626 1 PB
617 626 1 PB
VO
OLUMEN XIII.
X AÑO 2015
2
SEPA
ARATA
UN
NA MIRA
ADA AL MUNDO
O ARDUIN
NO
Jo
osé Carlo
os Herre
ero Herranz, Jesú
ús Sánch
hez Allen
nde
RESUMEN: Este primer artículo sobre Arduino es eminentemente descriptivo y ofrece una visión global
de los aspectos m ás significativos del mundo Arduino, el hardware, los distintos modelos de placas
oficiales, deteniéndose con un mayor detalle en el modelo UNO R3, las placas compatibles, el entorno y
lenguaje de programación de Arduino, así como otros entornos gráficos de pr ogramación, las shields
(escudos) que conectan las plataformas con el m undo exterior y permiten que se puedan comunicar,
conectarles sensores o controlar actuadores.
ABSTRACT: This first article about Arduino is eminently descriptive and provides an overview of the
most significant aspects of the Arduino world, hardware, official models of board, stopping in greater
detail in the model UNO R3, compatible boards, IDE and Arduino programming language and other
graphical programming environments, the shields that connect the platforms with the outside world and
allow them to communicate, connect them to sensors and driver actuators.
SUMARIO: 1. Arduino 2. Arduino UNO 3. Entorno de desarrollo integrado para Arduino 4. Familia
Arduino 5. Shields 6. Otros entornos de programación de Arduino 6.1. Ardublock 6.2. Miniblock 6.3.
Modkit 6.4 Scratch 6.5 Physical Etoys 6.6. Ardulab 7. Clones y compatibles Arduino 8. Arduino en el
espacio, Ardusat 9. Fritzing 10. Conclusiones 11. Webgrafía. Introducción 2. Texto dividido en
apartados 3. Conclusiones 4. Bibliografía
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
4 José Carlos Herrero Herranz , Jesús Sánchez Allende
1. Arduino
Arduino se puede utilizar para desarrollar ob jetos interactivos, que pueden funcionar de
forma autónoma, sin necesidad de estar cone ctados a un ordenador, o puede conectarse
con otro software que se esté ejecutando en un ordenador, com o por ejem plo Flash,
Processing, Max/MSP, LabView, MatLab, entre otros 5.
Con Arduino se puede tomar información del entorno a través de sensores conectados a
sus entradas analógicas y digitales, puede controlar luces, motores y o tros actuadores
directamente o partir de las señales de control generadas en sus salidas. Hay modelos de
Arduino específicos desarrollados para facilitar llevar tecnología puesta (weareables), o
1
http://arduino.cc/
2
http://wiring.org.co/
3
http://www.processing.org/
4
http://arduino.cc/en/Main/Software
5
http://arduino.cc/en/Guide/Introduction
en la ropa, e-textiles 6. Puede comunicarse con otras placas Arduin o y con otros
sistemas, mediante Wifi, Ethernet, Bluetooth, etc., esto permite también la interacción a
distancia y el Internet de las cosas (IoT).
Arduino encuentra un uso am plio en la ense ñanza: en materias relac ionadas con la
robótica, el control, la adquisición de datos, los diseños interactivos, etc., la sencillez de
uso de esta plataform a permite a personas no expertas en electróni ca, utilizar en s us
creaciones dispositivos electrónicos y contro larlos, de una m anera sencilla o asequible
para ellos.
Las posibilidades de r ealizar desarrollos basados en Arduino tienen c omo límite la
imaginación.
Arduino nació con el objeto de proporcionar una plataforma económica y fácil uso, para
enseñar electrónica a los alum nos del Instituto de Diseño Interactivo de Ivrea, (Italia).
Sus creadores y socios fundadores son los italianos Massim o Banzi y Gianluca
Martino, los estadounidenses Tom Igoe y, David Mellis y el español David Cuartielles,
quienes decidieron que su diseño fuera ab ierto licenciándolo en Creative Commoons 7,
protegiendo la marca, pero el hardware, el software y l a documentación son libres, se
pueden descargar los archivos de diseño de l circuito electrónico, los fuentes del
software y se pueden m odificar, compartir etc. 8 En la actualidad hay m ás de 1.200.000
placas Arduino oficiales distribuidas por todo el m undo, y entre 3 y 4 m illones de
usuarios visitan de forma regular el sitio web cada trimestre 9
2. Arduino UNO
6
http://www.quees.info/que-es-wearable.html
7
http://es.creativecommons.org/blog/
8
http://vimeo.com/18390711
9
http://readwrite.com/2014/05/12/arduino-massimo-banzi-diy-electronics-hardware-hacking-builders
10
http://arduino.cc/en/Main/ArduinoBoardUno
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
6 José Carlos Herrero Herranz , Jesús Sánchez Allende
3. Entorn
no de desarrrollo integrrado para Arduino
A
El entornno de de sarrollo
s inttegrado, coomúnmente IDE ( inttegrated development
d t
environmeent) para Arrduino, es uuna herramienta desarrrollada en JJava, por lo o que puedee
utilizarse con distinto
os sistemas operativos,, Windows, Mac OS X y Linux, es softwaree
abierto quue se puede descargar ddesde la pág pal de Arduuino 11. El ID
gina princip DE permitee
la ediciónn y c ompilaación de pr oogramas enn el lenguaj e de Ard uuino, y car garlos
g en l a
plataformaa para que ses ejecuten.. El entorno
o incluye multitud
m de fficheros dee programass
de ejemploo de utilizacción.
El IDE d ispone
i tamb bién de unna ventana tipo
t Terminnal, para l a comunicación por e l
puerto serie de las plaacas Arduinno. 12
11
http://arduuino.cc/en/Maain/Software
12
http://arduuino.cc/en/Gu
uide/Environmment
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
8 José Carlos Herrero Herranz , Jesús Sánchez Allende
3.1 Lengu
uaje de programación
n del IDE de Arduino
13
http://playyground.arduinno.cc/Code/Fuunction
14
http://arduuino.cc/en/Refference/Librarries
15
http://ardduino.cc/en/Haacking/LibraryyTutorial
A modo de d resumen y para teneer una visióón global, ene el cuadroo siguiente se resumenn
las instruucciones, vaariables etcc del leng
guaje de p rogramación
r n Arduino, para un a
referenciaa completa de
d este se puuede enconttrar en [1], [2].
[
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
10 José Carlos Herrero Herranz , Jesús Sánchez Allende
4. Familiaa Arduino
16
http://arduuino.cc/en/Maain/Products
17
http://es.w
wikipedia.org/wiki/Arduinoo
18
http://arduuino.cc/en/Maain/ArduinoBooardUno
19
http://arduuino.cc/en/Maain/ArduinoBooardDue
20
http://arduuino.cc/en/Maain/ArduinoBooardLeonardo
o
21
http://arduuino.cc/en/Maain/ArduinoBooardMega2560
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
12 José Carlos Herrero Herranz , Jesús Sánchez Allende
29
http://arduuino.cc/en/Maain/ArduinoBooardFio
30
http://arduuino.cc/en/Maain/ArduinoBooardPro
31
http://arduuino.cc/en/Maain/ArduinoBooardProMini
32
http://arduuino.cc/en/Maain/ArduinoBooardLilyPad
33
http://arduuino.cc/en/Maain/ArduinoBooardLilyPadU
USB
34
http://arduuino.cc/en/Maain/ArduinoBooardLilyPadSimple
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
14 José Carlos Herrero Herranz , Jesús Sánchez Allende
35
http://arduuino.cc/en/Maain/ArduinoLiilyPadSimpleS
Snap
36
http://arduuino.cc/en/Maain/ArduinoBooardYun?fromm=Products.ArduinoYUN
37
http://arduuino.cc/en/uplloads/Main/Arrduino_Zero_
_front.png
38
http://arduuino.cc/en/Maain/Robot
39
http://com
mplubot.educa.madrid.org/pproyectos/arduuino/ArduinoR
Robot/es/ArduuinoRobot_hisstoria_es.php
Incluye varios
v puerttos: mini-PC CI Expresss, Ethernet, serie RS 232, USB raíz, USB B
cliente, coonector paraa tarjeta Miccro-SD y 8 MBM de mem NOR. 40
moria flash N
Arduin no TRE. Baasado en el procesadorr Sitara AM M3359AZCZ Z100 (ARM M
Cortex--A8) a 1 GH Hz, 512 Mb b de RAM DDR3L,
D es un pequeñoo ordenadorr
que pu uede ejecutaar Linux. Incluye
I 1 puerto
p Ether
ernet 10/100
0, 1 puert o
USB 2..0 y 4 puertoo USB Host, salida de vídeo HDM MI y audio, zócalo paraa
tarjetas Micro-SD D. Incluye también un u procesaddor ATmega32u4, ell
mismo quue la p lacca Leonarddo, por lo que tamb bién tiene las caractterísticas y
funcionaliidad de es ta,
t así pue s son dos sistemas
s en
n uno. Desdde la mis ma
m placa e s
41
posible edditar, compillar y ejecutaar los sketch
hes.
5. Shieldss
40
http://arduuino.cc/en/Ard
duinoCertifiedd/IntelGalileo
41
http://arduuino.cc/en/Maain/ArduinoBooardTre
42
http://arduuino.cc/en/Maain/Products
43
http://arduuino.cc/en/Maain/ArduinoEtthernetShield
44
http://arduuino.cc/en/Maain/ArduinoGS SMShield
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
16 José Carlos Herrero Herranz , Jesús Sánchez Allende
T
Tabla 5.1 Shieelds Arduino oficiales
o
Además de las shiields oficiaales, hay disponibless cientos dde ellas desde d otross
suministraadores, y ad
demás de paara las func iones indicaadas, tambiéén hay paraa control dee
matrices ded LED, vi sualizadorees LCD, vi sualizadores
s s LCD grá fficos, pantaallas TFT y
táctiles, módulos
m GPS, control dde relés, mó
ódulos RFID D, visualizaadores de 7 segmentos,,
acelerómeetro, Radio FM, MIDI,, adquisición y almacen namiento dde datos, com municaciónn
4-20 mA, RTC, CAN N-Bus, MP 3 etc, otra s funciones similares y diversos modelos
m dee
ellas. Jonathan Oxerr en su sit iio web http://shieldlisst.org/ tienee la r ecopilación máss
45
http://www w.digi.com/prroducts/wireleess-wired-emb
bedded-solutio
ons/zigbee-rf--modules/zigb
bee-mesh-
module/xbeee-zb-module
46
http://arduuino.cc/en/Maain/ArduinoW
WirelessShield
47
http://arduuino.cc/en/Maain/ArduinoW
WiFiShield
48
http://arduuino.cc/en/Maain/ArduinoM
MotorShieldR3
49
http://arduuino.cc/en/Maain/ArduinoUS SBHostShieldd
50
http://arduuino.cc/en/Maain/ArduinoPrrotoShield
extensa de shields para Arduino, ordenadas por fabri cantes o comercializadores y que
también se puede buscar por función introduciendo los términos correspondientes en el
campo de búsqueda, u obtener un listado com pleto si se busca sin introducir datos en
campo de búsqueda.
Cuando se utilizan shields, una inform ación importante es conocer que pines utiliza
cada una de ellas y cuales quedan libres y pueden ser utilizados para otra o para otras
funciones que requiera el usua rio. Esta información está di sponible en el sitio web de
Arduino 51 para las shields oficiales y para otras de distintas fuentes que han
proporcionado esta información.
Además del IDE de Arduino, hay multitud de aplicaciones software que perm iten
programar o utilizar la plataforma Arduino, muchas de ellas son gráficas y resultan muy
adecuadas para iniciarse en la programación o en la robótica desde edades tempranas.
Algunos de estas aplicaciones son propiam ente entornos de program ación, con las
que se genera código para cargar a la pl ataforma Arduino y que funcione de forma
autónoma. Hay otro tipo de aplicaciones que utilizan la plataform a Arduino com o un
dispositivo de entrada y salida a la que simplemente envían o desde la que leen datos, lo
que permite realizar funciones de control o de monitorización.
Seguidamente se describen al gunas de estas aplicaciones, las tres aplicaciones que
siguen son entornos de p rogramación mientras que los 3 res tantes son aplicaciones que
pueden interactuar con la plataforma. En [3] se puede encontrar una infor mación más
completa sobre alguno de estos entornos y en otras monografías específicas del m ismo
autor.
6.1 Ardublock.
Ardublock, se distribuye como un applet de java que se añade a las herramientas del
IDE de Arduino. La programación se realiza encajando piezas que son las instrucciones
del lenguaje de Arduino y se configuran lo s parámetros correspondientes, generándose
51
http://playground.arduino.cc/Main/ShieldPinUsage
52
http://playground.arduino.cc/Main/InterfacingWithHardware
53
http://playground.arduino.cc/Main/ArduinoCoreHardware#Shields
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
18 José Carlos Herrero Herranz , Jesús Sánchez Allende
6.2 Minibloq
M
Minibbloq, es u nan herram mienta que nos perm mite program mar varioss tipos d e
plataformaas Arduino.. Mediante sencillos icconos, que contienen
c bbloques de código,
c quee
se van enncajando unos
u con ootros y co nfigurando
n sus parámeetros, se puede
p crearr
programass complejoss. La aplicacción muestrra también el
e código enn lenguaje Arduino.
A Laa
aplicaciónn genera, co
ompila y ennvía el códi go a la pla taforma
t Ardrduino, es por
p tanto unn
entorno dee programacción.
Minibbloq es softwware libre y con las f uentes
u dispo
onibles paraa su modificación, quee
se puede obtener
o en http://blog.m
h minibloq.orgg.
6.3 Modkit
M
Modkkit, es un entorno
e de programaciión que p ermite progrramar vario os tipos dee
plataformaas entre ellaas Arduino.. Se van e ncajando
n pieezas que sonn las instru
ucciones dell
lenguaje Arduino,
A qu
ue se confi gguran con losl valores corresponddientes, geneerandose ell
código correspondien nte en lenguuaje Arduin no. Es una aplicación
a w
web esto es, se ejecutaa
desde el navegador.
n
El sitiio web oficiial del proyeecto es http://www.modkit.com/
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
20 José Carlos Herrero Herranz , Jesús Sánchez Allende
6.4 Sccratch
Scratcch, es un s oftware
o educcativo de inniciación a la programaación desarrrollado porr
el Lifelongg Kindergarten Groupp en el Labo oratorio de Medios dell MIT,54 esttá orientadoo
para niñoss en edad escolar,
e tienne una interrfaz sencilla e in tuitivva, donde e l código s e
divide en bloques que q se van encajando unos con otros paraa formar el programa..
Permite crear
c historiias interacttivas, animaciones, juegos y m úúsica. El p rograma
r ess
gratuito y su código fuente
f está ddisponible para
p la comu unidad proppiciando la creación dee
programass, para variaas plataformmas, entre elllas Arduinoo con S4A.
Scratcch S4A paraa Arduino ees una mod dificación dee Scratch, qque permite manejar laa
plataformaa Arduino ded una formma sencilla, de este moodo es posibble interactu
uar tambiénn
ollado en ell Citilab, y desde su sitio web 566
con el ent orno. Scratcch S4A ha sido desarro 55
se puede descargar
d y obtener info
formación soobre este prroyecto.
6.5 Ph
hysical Etoyys
Physiccal Etoys, es
e una herraamienta parra programaación gráficca con finess didácticoss
que permiite programmar distintoss dispositivos entre loss que se e nncuentra Arduino. Estáá
basado enn Etoys,57 lenguaje
l dee programación gráfico orientadoo a la edu cación
c y laa
54
http://scraatch.mit.edu/
55
http://citillab.eu
56
http://s4a..cat
57
http://en.wwikipedia.org//wiki/Etoys_%
%28programm
ming_languagee%29
6.6 Arrdulab
ArduL Lab es u n entorno dde trabajo que permitte interactuuar con la plataformaa
Arduino, y crear u n laboratorioo virtual e n el que el usuario puuede experim mentar conn
sensores y actuadorees conectaddos a la plaataforma, sin necesidaad de prog ramación
r y
realizar acctividades orientados
o aal aprendizajje de conceptos sencilllos relacion
nados con laa
electrónicaa y la robótica.
ArduLLab es un desarrollo
d deel Grupo Av vanzado deel Aula de RRobótica Co omplubot 599
60
se ditribuyye bajo licen
ncia freewaare, y se puede
p conseeguir desde su portal web.61
58
http://tecnnodacta.com.aar
59
Aula de Robótica
R Comp plubot
60
licencia frreeware
61
http://commplubot.educa.madrid.org/pproyectos/ardu
uino/ardulab/ardulab_index..php
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
22 José Carlos Herrero Herranz , Jesús Sánchez Allende
Una relación
r muy
m compleeta de ento ornos de programació
p ón y de aplicaciones
a s
software con
c las qu e Arduino ppuede comu unicarse y transferir ddatos entre ellos estánn
o web de Arrduino 62, 63.
disponiblees en el sitio
7. Cloones y comp
patibles Arrduino
62
http://playyground.arduin
no.cc/Main/D
DevelopmentT Tools
63
http://playyground.arduin
no.cc/Main/InnterfacingWith
hSoftware
64
http://www w.dfrobot.com
m/index.php?rroute=productt/product&pro
oduct_id=10444
manejo de LEDS 67, matrices de L ED, visualizadores LCD o de 7 segm entos, etc.,
manejo de motores, o para robots, que incluyen además sensores y actuadores, 68
Muchos de los diseños tam bién persiguen obtener un sistem a más económico,
reduciendo en lo posible los costes de fabricación 69, 70 o haciendo diseños más simples
71
, o que facilitan la autoconstrucción, util izando por ejem plo diseños del circuito
impreso de simple cara, 72, 73, 74, o simplemente con un tamaño más pequeño 75.
Arduino también está en el espacio, ArduS at-1 and ArduSat-X son dos satélites
idénticos, que fueron lanzados al espacio, el 4 de agosto de 2013, 78 desde el Centro
Espacial de Tanegashimaen en Japón, bordo de la nave de carga HTV4 Kounotori 4, 79
propulsada por un cohete H-IIB de la agenc ia espacial jap onesa Jaxa, en una de las
misiones de reabastecimiento de la Estación Espacial Internacional, (ISS). Ardusat 80 es
un satélite de código abierto, diseñado bajo el estándar Cubesat, construido y gestionado
65
http://www.freetronics.com/products/etherten
66
http://www.logos-electro.com/zigduino/
67
http://www.toastedcircuits.com/html/product/Lightuino_5.0.html
68
http://www.inexglobal.com/products.php?type=micro&cat=AVR&model=popbotxt
69
http://richduino.com/
70
http://www.pablogindel.com/fotos/?album=1&gallery=15
71
http://playground.arduino.cc/Main/1000PadsLuigino
72
http://unitaperiferica.altervista.org/index.php/elettronica-2/8-easyduino
73
http://m0xpd.blogspot.co.uk/2013/02/what-do-i-know.html
74
http://vonkonow.com/wordpress/2012/10/nanino-the-diy-friendly-arduino/
75
http://www.microduino.cc/
76
http://www.arduino.cc/en/Main/Policy
77
http://playground.arduino.cc/Main/SimilarBoards
78
http://blog.arduino.cc/2013/08/12/ardusat-successfully-launched-in-space/
79
http://innovacion.ticbeat.com/sensores-espaoles-de-camino-al-espacio-en-los-satlites-ardusat/
80
https://www.kickstarter.com/projects/575960623/ardusat-your-arduino-experiment-in-
space?ref=nav_search
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
24 José Carlos Herrero Herranz , Jesús Sánchez Allende
81
por la compañía aeroespacial Nanosatisfi mediante un proyecto de crowdfunding en
Kickstarter, 82 .
9. Fritzing
Fritzing es una herram ienta muy útil para documentar los diseños con Arduino u
otras plataformas. Permite documentar fácilmente el montaje de prototipos sobre placas
de inserción, añadir comentarios, etc. A part ir del montaje sobre placa de inserción, se
genera el esquem a eléctrico del m ontaje y también es posible realizar el diseño del
circuito impreso.
Este programa es una iniciativa de códi go abierto, con licencia GNU GPL, para él
código y Creative Commons para los ejem plos que incorpora. La página oficial del
proyecto es: http://fritzing.org/ desde donde se puede descargar.
El entrono tiene un área de trabajo donde se sitúan y se conectan los com ponentes
del circuito, si bien se puede n conectar los componentes di rectamente, lo habitual es
hacerlo sobre una placa de inserción. Las lib rerías incluyen componentes discretos,
integrados, módulos, plataformas de microcontroladores, etc.
81
http://www.nanosatisfi.com/
82
https://www.kickstarter.com/projects/575960623/ardusat-your-arduino-experiment-in-space/posts
Otra posibilidad
p que brindaa la ap licaciión es la ded añadir nnotas en la pantalla dee
trabajo, loo que res ulta
u útil p aara incluir aclaracionees sobre ell diseño, ele montaje,,
componenntes, etc. o de su fun ccionamiento o, lo que sin duda c oontribuye a mejorar laa
documentaación de un n diseño.
A la vez
v que se va v realizanddo el montaaje en la plaaca de protootipos, el p rograma vaa
generandoo de forma simultánea
s eel esquema eléctrico deel mismo.
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
26 José Carlos Herrero Herranz , Jesús Sánchez Allende
Así mismo
m tambiién a la vezz que se rea liza un mon ntaje, el proograma va situando
s loss
componenntes, esta vezv con s u encapsulaado sobre una placa de circuitto impreso,,
señalando las conexiiones eléctrricas entre ellos.
e Una vez
v distribuuidos los c omponentes
o s
sobre la placa
p se pueede indicar aal programaa que realicce el ruteo dde las pista s por una o
ambas carras. Finalizaado este, es posible modificar el diiseño propuuesto por el programa y
desviar pistas o camb biarlas de ccara y por último
ú verifi
ficar que se cumplen laas reglas dee
diseño.
Fig
g. 9.3 PCB finnal del semáfo
oro del ejempllo incluido en Fritzing.
10. Coonclusioness
Finalmente señalar que las plataform as de hardware abierto como Arduino resultan
de gran utilidad en el mundo educativo en multitud de campos tales com o robótica,
electrónica, física, program ación, creaciones artísticas, etc ., y en todos los niveles
educativos, desde la educación primaria a la universidad.
http://www.uax.es/publicacion/una-mirada-al-mundo-arduino.pdf
28 José Carlos Herrero Herranz , Jesús Sánchez Allende
11. Biblioografía