Arduino
Arduino
Propósito
Conocer la estructura de un programa en Arduino, las sentencias bási-
cas usadas con esta IDE y cargar el programa a la placa, evidenciando
el encendido de leds con Arduino, montando nuestro propio semáforo.
¡Para Reflexionar!
Conecte o contacte con la realidad (exploración de los saberes previos)
Cuando empezamos a trabajar con el Hardware Libre el primer proyecto que hacemos es
encender un LED. Luego pasamos a mover motores, medir la distancia o temperatura o ver
los datos en una pantalla LCD.
¿Qué proyectos podrías realizar con motores? ¿Conoces algún otro proyecto con Arduino?
¿Quienes deberían tratar los desechos nucleares? ¿Quiénes deberían explorar los volcanes
y otros planetas?
26
Tema 3: Hardware y software de Arduino
PLACAS DE DESARROLLO
En realidad, el MCU PIC, de Microchip Technology
(1975), fue uno de los más importantes para los fanáti-
UN POCO DE HISTORIA cos de la electrónica, pues era de bajo costo y se con-
seguía con facilidad. Como el PIC es un MCU, contiene
En este apartado conoceremos, a grandes rasgos, la un procesador incorporado, memoria e I/O (in/outs)
evolución de los MCU hasta llegar a las actuales pla- programables.
cas de desarrollo. Ahora bien, trabajar con un microcontrolador PIC es
Si profundizamos en la historia, encontramos que el difícil si no tenemos conocimientos profundos de
microcontrolador comercial apareció en 1971, gracias programación C de bajo nivel; por eso se populariza-
al Intel 4004 de 4 bits. Se trató de la segunda CPU com- ron los chips PICAXE, pues son capaces de entender
pleta de un solo chip y la primera comercial. Luego se lenguajes más sencillos, como BASIC o diagramas de
presentó el 8008 de 8 bits (la base de las computadoras flujos, que son utilizados en educación.
personales). En aquella época, también surgieron los
procesadores Z80 y el 6502.
27
¿QUÉ ES ARDUINO Y PARA QUÉ SIRVE?
∆ Se llama open hardware a los dispositivos de hardware cuyas especificaciones y diagramas esquemáticos
son de acceso público, ya sea bajo algún tipo de pago o de forma gratuita. Se debe recordar en todo momen-
to que libre no es sinónimo de gratis. El hardware libre forma parte de la cultura libre.
∆ Se llama open software al tipo del software que respeta la libertad de los usuarios sobre su producto ad-
quirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado y redistribuido li-
bremente.
∆ Un microcontrolador (abreviado μC, UC o
MCU) es un circuito integrado programa-
ble, capaz de ejecutar las órdenes grabadas
en su memoria. Está compuesto de varios
bloques funcionales, los cuales cumplen
una tarea específica. Un microcontrolador
incluye en su interior las tres principales
unidades funcionales de un ordenador:
unidad central de procesamiento, me-
moria y periféricos de entrada/sali-
da.
28
Tema 3: Hardware y software de Arduino
29
FAMILIA ARDUINO bien resultan compatibles, no pueden utilizar el nom-
bre Arduino. Las diseñan otras compañías y, por lo
Podemos imaginar las placas Arduino como general, se crean para cubrir necesidades específicas
las distribuciones GNU/Linux, cada una de en que las placas oficiales no han llegado. En reali-
ellas, preparada para atender necesidades de dad, como hemos comentado en secciones anterio-
usuarios particulares, o para ser utilizadas en res, cualquiera puede crear su propia placa Arduino;
una serie de proyectos o tareas. en este caso, pasaría a formar parte de las placas no
oficiales. Esto es importante a la hora de seleccionar
Es necesario considerar que los modelos oficiales de una placa para trabajar en nuestros proyectos.
placas Arduino alcanzan algunas decenas, pero si su- Por ejemplo, es posible que necesitemos una placa
mamos los modelos no oficiales y los Arduino compa- compatible por alguna característica que no encon-
tibles, con facilidad tendremos cientos. En este punto tramos en una placa oficial, o que nos interese contar
hemos introducido un par de conceptos nuevos: pla- con una placa de desarrollo oficial, y entonces tendre-
cas oficiales y no oficiales de Arduino. ¿En qué se di- mos que elegir entre las manufacturadas por las em-
ferencian? presas antes mencionadas.
Por un lado, las placas oficiales son aquellas construi-
das por la empresa Smart Projects, por SpartFun Elec- En cualquier caso, una de las más utilizadas es
tronics o por Gravitech, las únicas que llevan la marca la Arduino UNO, sobre todo, por quienes recién
registrada Arduino y que incluyen su logo. se inician en el mundo de Arduino.
Por otra parte, las placas no oficiales son las que, si
Uno
Due
Ethernet
Pro mini
LilyPad
Mega 2560 r3
Esplora
Nano
30
Tema 3: Hardware y software de Arduino
RESET2
GND
ATMEGA8U2/ATMEGA16U2 ICSP
ARDUINO
UNO
USB JACK
TYPE B
MOSI2
MISO2
SCK2
5V
Máximo absoluto por pin
USB
JACK
40mA recomendado 20mA
POWER
JACK
GND Máximo absoluto de 200 mA
7-12V dependiendo de para todo el equipo
la corriente consumida RESET Button
VIN 2.1mm
31
Guía visual de los elementos más relevantes
1 2 3
6
4
10
9 8
1. Puerto USB: se trata de un puerto USB tal como tras cargamos el código generado en el IDE de Ar-
el que encontramos en dispositivos como una im- duino o cuando se efectúa una comunicación en
presora. Lo usaremos para entregar energía a la serie.
placa Arduino mientras estamos trabajando con 6. LED de corriente: este LED se encuentra marcado
la PC. También es necesario para cargar los boce- con el texto ON. Cuando la placa está recibiendo
tos o sketches; en definitiva, es la forma de comu- corriente, por ejemplo desde la computadora a tra-
nicación de la placa con la computadora. vés del puerto USB, se encenderá una luz de color
2. Botón de reinicio: es un pequeño botón que sobre- verde. Podemos utilizar este LED para verificar
sale de la placa Arduino, cuya función es permi- que la placa recibe energía en forma correcta.
tirnos resetear el microcontrolador ATmega; de 7. Microcontrolador ATmega: sin duda, se considera
este modo eliminaremos lo que hayamos cargado el corazón de la placa Arduino UNO. Es un micro-
y podremos comenzar con un nuevo proyecto o controlador creado por ATmel; para el caso de esta
sketch. Resulta bastante útil y siempre debemos placa se trata del ATmega328P-PU.
tenerlo en cuenta pues, al principio, podemos 8. Entrada analógica: conjunto de clavijas que fun-
equivocarnos bastante mientras cargamos los bo- cionan como entradas analógicas, presentes en la
cetos. placa Arduino UNO. Podemos utilizarlas con ana-
3. Clavijas digitales: pueden usarse, por ejemplo, logRead().
para digitalRead() o analogWrite(), entre otras op- 9. Clavijas GND y 5V: estas clavijas son adecuadas
ciones. para otorgar corriente de +5 V a los circuitos en
4. Clavija 13 LED: es un activador que se presenta los que trabajemos, y también, una toma de tierra.
en forma predeterminada en Arduino UNO; está 10. Conector de corriente: en el primer punto cono-
indicado con la letra L impresa en la placa. Más cimos una forma de energizar nuestra placa Ar-
adelante lo utilizaremos para efectuar la primera duino, mediante el puerto USB. Pero este puerto
comunicación con nuestra placa de desarrollo. solo proporcionará energía a la placa mientras
5. LED TX y RX: son LEDs que están perfectamente la mantengamos conectada a la computadora.
indicados en la placa Arduino y se utilizan para Cuando esto no suceda, utilizaremos el conector
verificar que existe comunicación entre esta y la de corriente para energizar la placa; este conector
computadora. La forma en que verificamos la co- puede trabajar con voltajes que van desde los 7 V
municación es esperando a que parpadeen mien- hasta los 12 V.
32
Tema 3: Hardware y software de Arduino
SOFTWARE
Entre las características más destacadas de Arduino IDE, encontramos las siguientes:
∆ Gratuito y libre: Arduino IDE se distribuye en forma gratuita, por lo que solo necesitamos acceder al sitio
web oficial de la aplicación para descargar una copia instalable. También se trata de un software que se
distribuye con una licencia libre, de modo que es posible acceder al código fuente del IDE y construir el
instalador desde él o realizar las modificaciones que consideremos necesarias.
Para los usuarios comunes, bastará con descargar el instalador adecuado para el sistema operativo y proceder
con la instalación.
El código fuente de Arduino IDE se encuentra disponible en la dirección https://github.com/arduino/Arduino.
33
Instalación del IDE
Antes de conocer y trabajar con Arduino IDE, debemos realizar las tareas que nos permitirán instalarlo. Como
sabemos, se trata de una herramienta multiplataforma, por lo que podremos trabajar en diversos sistemas
operativos. En primer lugar, revisaremos la forma en que debemos instalar el IDE en un sistema Windows.
1
Ingresamos en la direc-
ción www.arduino.cc y
hacemos clic en el enlace
Software, que se encuentra en
la barra superior de opciones.
En la ventana que se presen-
ta, bajamos hasta la sección
Arduino IDE y presionamos
sobre Windows Installer.
2 3
Una vez que la descarga haya finalizado, hace- Seleccionamos los componentes que serán ins-
mos doble clic sobre el archivo adecuado y espe- talados; es recomendable marcar, al menos, las
ramos mientras se inicia el asistente de instala- opciones InstallArduino Software, Install USB
ción. En la primera pantalla será necesario aceptar el driver y Associate .ino files; luego presionamos el bo-
acuerdo de licencia, para lo cual presionamos I Agree. tón Next.
5
El proceso de instalación solo tardará un mo-
mento y podremos ver su avance gracias a la ba-
rra de la ventana. Cuando se complete, hacemos
clic sobre el botón Close.
34
Tema 3: Hardware y software de Arduino
6
En este momento, el IDE de Arduino ya se encon-
trará instalado en la computadora. Es necesario
saber que, en las nuevas versiones del IDE, no se
necesita instalar los drivers pues vienen integrados.
Iniciamos el software y veremos su pantalla de carga.
7
Una vez cargado, la apariencia del IDE será simi-
lar a la que se observa en la imagen. Más adelan-
te, se explicarán las partes principales que com-
ponen esta aplicación y cómo se deben utilizar.
Más opciones
Otra de las opciones disponibles para desarrollar código para Arduino es utilizar un IDE en línea, de modo que
no será necesario instalar una aplicación en la computadora. Arduino Create es el IDE en la nube lanzado por
www.arduino.cc; nos propone una interfaz de programación que se ejecuta directamente en un navegador
web, y la encontramos en la dirección https://create.arduino.cc. Algunos IDEs alternativos instalables y opcio-
nes que nos permiten programar para Arduino son los siguientes:
∆ Stino (https://github.com/Robot-Will/Stino): se trata de un plugin para el editor Sublime Text. Nos permite
desarrollar para Arduino de manera fácil, ya que ofrece acceso muy rápido a toda la estructura del proyec-
to, posee autocompletado y otras características importantes.
∆ Atmel Studio (www.atmel.com/microsite/atmel_studio6): se basa en Visual Studio, y es adecuado para
trabajar con Arduino y con los distintos microprocesadores compatibles de Atmel. Solo es compatible con
Microsoft Windows.
∆ MariaMole (http://dalpix.com/mariamole): se trata de un editor de Arduino bastante ligero, por lo que puede
ser ejecutado
en compu-
tadoras con
recursos li-
mitados. Per-
mite trabajar
con opciones
de ordena-
ción por pro-
yectos, ofrece
variadas me-
joras visuales
y se ejecuta
en diferen-
tes sistemas
operativos.
35
ENTORNO DE TRABAJO
El entorno de trabajo del IDE de Arduino es visualmente sencillo: se compone de algunas secciones bien dife-
renciadas donde encontraremos las herramientas y las opciones para desarrollar, un apartado donde escribir
el código y, también, espacios donde se muestran los mensajes y los errores que se presenten.
1
2
3 7
4 9
5
6
10
8
11
1. Información: en esta barra vemos el nombre del ten alternativas al monitor serie, y en algunas
proyecto en el que estamos trabajando, así como ocasiones puede ser necesario acudir a ellas pues
también la versión del IDE. la herramienta incluida en Arduino IDE es muy
2. Botón Verificar: si hacemos clic en este botón, el sencilla.
IDE verifica el programa o sketch que hemos es- 8. Pestañas: en esta sección se presentan las pesta-
crito. Si se encuentran problemas, aparecen en la ñas que están abiertas, aquellas que corresponden
consola de error; de lo contrario, la misma consola a los códigos en los que estamos trabajando. Para
nos entregará información relevante sobre el pro- activarlas es necesario hacer clic sobre su nom-
grama. bre.
3. Botón Subir: mediante este botón, podemos subir 9. Opciones de pestañas: si desplegamos este menú,
el programa ya verificado a la placa Arduino. veremos algunas opciones que nos permiten
4. Botón Nuevo: crea un nuevo proyecto en forma in- realizar tareas sobre las pestañas abiertas. Entre
mediata; veremos otra ventana donde tendremos ellas, se encuentran: Nueva pestaña, Renombrar,
acceso a todas las herramientas y opciones dispo- Pestaña anterior y Pestaña siguiente.
nibles para trabajar. 10. Editor: en este apartado podemos escribir o edi-
5. Botón Abrir: al hacer clic sobre este botón, se des- tar el código que corresponde al programa que
pliega un menú que permite abrir un proyecto al- deseamos cargar. Se trata de la sección principal
macenado con anticipación. También se presenta del IDE, pues la utilizaremos para escribir las ac-
una serie de sketches de prueba listos para cargar ciones por medio del lenguaje de programación
y utilizar. adecuado. Más tarde lo cargaremos en la memoria
6. Botón Salvar: permite guardar el trabajo que he- flash de Arduino.
mos realizado hasta este momento. 11. Consola de error: en este apartado se muestran
7. Botón Monitor Serie: muestra los datos que son los errores que puedan presentarse al verificar el
enviados por Arduino mediante el puerto serie; código. Debemos poner atención en esta sección,
además, permite enviar a Arduino utilizando el pues entrega la información necesaria para corre-
puerto serie. Debemos tener en cuenta que exis- gir los posibles problemas.
36
Tema 3: Hardware y software de Arduino
Prueba de conexión
Con los principales elementos de la placa Arduino UNO ya descriptos, podemos realizar el primer test de fun-
cionamiento.
Para probar la placa Arduino UNO la conectamos a la computadora y verificamos que se le proporcione co-
rriente. Utilizaremos algunos de los LEDs que existen en la placa.
37
5 Generalmente el Arduino se conecta a un
puerto USB que luego el driver lo “tradu-
ce” como un puerto COM. La mejor forma de
averiguar si esta conectado, es seguir el si-
guiente procedimiento.
Verificar y seleccionar en
las En los submenús de
“Herramientas” – “Puerto”,
la conexión de Arduino
UNO.
38
Tema 3: Hardware y software de Arduino
2 Con la placa
conectada
a la PC, verifica-
mos que el LED
de corriente, de-
berá mostrar una
luz constante de
color verde.
3 Ejecutamos el IDE de
Arduino y cargamos el
ejemplo Blink ubicado en
menú. Archivo - Ejemplos -
01.Basics - Blink.
Utilizando el menú Herra-
mientas, podremos elegir, la
placa “Arduino Uno” con la
que trabajaremos en el IDE.
Además, seleccionaremos al
puerto donde esta conectado
la placa de Arduino.
39
1
1. Botón Subir: mediante este botón, podemos subir tablecen las variables que utilizará durante todo el
el sketch en la placa Arduino UNO. programa. pinMode, define la configuración de del
2. Subido: verificamos que subió el sketch sin erro- hardware de la placa (OUTPUT = salida)
res. De inmediato veremos que el LED parpadea, 4. loop: lo que se escriba dentro de las llaves que
según las indicaciones del sketch Blink. acompañan al nombre loop se ejecutará cons-
3. setup: lo que se escriba entre las llaves que acom- tantemente hasta que se apague el Arduino. digi-
pañan al nombre setup, se ejecuta una única vez talWrite, Escriba un valor HIGH(alto) o LOW(bajo)
siempre que se encienda o resetee la placa. Se es- en un pin digital. (1000 = 1s)
40
Tema 3: Hardware y software de Arduino
∆ Identificar los valores de los resistores adecuados, para encender un led con Arduino.
∆ Encender un led conectado a un ping distinto al 13 de Arduino.
41
Ejercicio 3-4 Evaluamos y reflexionamos
¿Crees que lo aprendido te será útil para la implementación de tu proyecto de
emprendimiento con Arduino? ¿Por qué?
Lista de cotejo
Evidencia de aprendizaje:
Bibliografía
• Peña Claudio (2020). Descubriendo Arduino. SIX EDICIONES
• Tonjeiro G., Reino G. (2020). Taller de Arduino. booqlab
• Vermaat M. E.,Sebok S.L., Freund S. M.,Campbell J. T., Frydenberg M. (2018). Discovering Computers
2018. Digital Technology, data, and devices.
• June Jamrich (2018). New Perspectives on Computer Concepts 2018.
42