Sunteți pe pagina 1din 16

Manual - Arduino.

qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 33

Desarrollo de Microcontroladores

Qué es
ARDuINO
KIt De tRAbAjO y eNtORNO De DesARROllO
Arduino es una herramienta para hacer que las computadoras puedan “sentir y controlar
el mundo físico” en base a órdenes muy fáciles de establecer. Es una plataforma de desa-
rrollo de computación física (physical computing) de código abierto, basada en una placa
sencilla con un microcontrolador y un entorno de desarrollo (software Arduino) para crear
programas que serán grabados en el microcontrolador de la placa. Puede usar Arduino
para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sen-
sores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los pro-
yectos de Arduino pueden ser autónomos o comunicarse con un programa (software) que
se ejecute en una computadora personal y hasta en un smarphone. La placa puede mon-
tarla Ud. mismo o comprarla ya lista para usar y el software de desarrollo es abierto y lo
puede descargar gratis desde Internet. En esta entrega explica qué es Arduino, cuáles son
los primeros pasos que el lector debe dar para trabajar con esta plataforma, cómo es el kit
básico de desarrollo y explicaremos cómo se emplea el software Arduino, cuya página ofi-
cial es http://www.arduino.cc/es y entendiendo que los textos están licenciados bajo
“Creative Commons Attribution-ShareAlike 3.0 License” y que el código fuente de los
ejemplos en la guía están liberados como dominio público.

Coordinación: Federico Prado - fprado@webelectronica.com.ar

Microcontroladores 33
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 34

A rDuino

IntroduCCIón Multi-Plataforma - El software de Arduino


funciona en los sistemas operativos Windows,
Arduino es una placa con un microcontrola- Macintosh OSX y Linux. La mayoría de los entor-
dor de la marca Atmel y con toda la circuitería de nos para microcontroladores están limitados a
soporte, que incluye, reguladores de tensión, un Windows.
puerto USB (En los últimos modelos, aunque el
original utilizaba un puerto serie) conectado a un Entorno de programación simple y directo
módulo adaptador USB-Serie que permite pro- - El entorno de programación de Arduino es fácil
gramar el microcontrolador desde cualquier PC de usar para principiantes y lo suficientemente
de manera cómoda y también hacer pruebas de flexible para los usuarios avanzados. Pensando
comunicación con el propio chip. en los profesores, Arduino está basado en el
Un arduino dispone de 14 pines que pueden entorno de programación de Procesing con lo
configurarse como entrada o salida y a los que que el estudiante que aprenda a programar en
puede conectarse cualquier dispositivo que sea este entorno se sentirá familiarizado con el entor-
capaz de transmitir o recibir señales digitales de no de desarrollo Arduino.
0V y 5V.
También dispone de entradas y salidas analó- Software ampliable y de código abierto- El
gicas. Mediante las entradas analógicas pode- software Arduino esta publicado bajo una licencia
mos obtener datos de sensores en forma de libre y preparado para ser ampliado por progra-
variaciones continuas de un voltaje. Las salidas madores experimentados. El lenguaje puede
analógicas suelen utilizarse para enviar señales ampliarse a través de librerías de C++, y si se
de control en forma de señales PWM. está interesado en profundizar en los detalles téc-
El lenguaje de programación de Arduino es nicos, se puede dar el salto a la programación en
una implementación de Wiring, una plataforma de el lenguaje AVR C en el que está basado. De
computación física parecida, que a su vez se igual modo se puede añadir directamente código
basa en Processing, un entorno de programación en AVR C en sus programas si así lo desea.
multimedia.
Hardware ampliable y de Código abierto -
¿Por qué Arduino? Arduino está basado en los microcontroladores
Hay muchos microcontroladores y platafor- ATMEGA168, ATMEGA328 y ATMEGA1280. Los
mas con microcontroladores disponibles para la circuitos de los módulos están publicados bajo
computación física: licencia Creative Commons, por lo que diseñado-
res de circuitos con experiencia pueden hacer su
Parallax Basic Stamp, BX-24 de Netmedia, propia versión del módulo, ampliándolo u optimi-
Phidgets, zándolo. Incluso usuarios relativamente inexper-
Handyboard del MIT, tos pueden construir la versión para placa de
Picaxe, desarrollo para entender cómo funciona y ahorrar
etc. algo de dinero.

Todos éstos ofrecen funcionalidades simila-


res. Organizan el complicado trabajo de progra- ¿CóMo uSo ArduIno?
mar un microcontrolador en paquetes fáciles de
usar. Arduino, además de simplificar el proceso Los textos de la guía "Como empezar con
de trabajar con microcontroladores, posee algu- Arduino", que se encuentra en la página
nas ventajas respecto a otros sistemas a profe- http://www.arduino.cc/es/ están licenciados
sores, estudiantes y amateurs: bajo Creative Commons Attribution-ShareAlike
3.0 License. El código fuente de los ejemplos en
Asequible - Las placas Arduino son más ase- la guía están liberados como dominio público, tal
quibles comparadas con otras plataformas de como ya hemos dicho y como repetiremos varias
microcontroladores. La versión más cara de un veces” para que el lector comprenda que todo lo
módulo de Arduino puede ser montada a mano, e que haga con Arduino puede implicar una rápida
incluso ya montada cuesta bastante menos de 90 salida laboral sin tener que pagar licencias o
dólares americanos derechos.

34 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 35

KiT De T rAbAjo y e nTorno De D esArrollo

Este documento explica cómo conectar una


placa Arduino a la computadora y volcar el códi-
go de un primer programa. Lo que necesita,
entonces, es lo siguiente:

1. Consiga una placa Arduino y un cable USB.


2. Descargue el IDE (software) de Arduino.
3. Conecte la placa a la PC.
4. Instale los drivers del conversor USB a
RS232 que posee la placa.
5. Ejecute la Aplicación Arduino (el IDE que
descargó).
6. Abra el ejemplo Blink que posee la aplica-
Figura 1 - Arduino Uno ción.
7. Seleccione su placa.
8. Selecciona el puerto serie apropiado.
9. Suba el sketch (el programa ejemplo) a la
placa.

ConSIgA un ArduIno y un CAblE uSb

En este tutorial asumimos que estás usando


un placa Arduino Duemilanove, Nano o Diecimila.
Si tiene cualquier otra placa necesita leer la pági-
na correspondiente a la placa que use en esta
guía de iniciación. En la figura 1 puede apreciar
Figura 2 - Cable USB un detalle de la placa Arduino Uno.
También necesitará un cable estándar USB
La idea es que aprenda, se capacite, practi- (conexión A a conexión B), como los que se usan
que y tenga un buen desempeño. para conectar, por ejemplo, una impresora USB.
(En el caso de la placa Arduino Nano necesitará
un cable de conexión A a conexión mini-B). En la
CoMEnzAndo Con ArduIno En WIndoWS figura 2 puede ver el cable que necesita para
conectar la placa a la computadora.
Para esta primera experiencia vamos a supo-
ner que Ud. ya tiene una placa ARDUINO lista
para usar; más adelante daremos las diferentes dESCArgA El IdE dE ArduIno
configuraciones circuitales y los pasos a seguir
para un montaje seguro. Descargue la última versión de la página de
Por razones de espacio no podremos publicar descargas:
toda esta información y es por ello que ya tene-
mos desarrollados 6 libros sobre Arudino el pri- http://arduino.cc/en/Main/Software
mero de los cuales está próximo a publicarse. Ud.
puede descargar los 3 primeros libros de ARDUI- Podrá seleccionar el software adecuado de
NO, que entre otras cosas poseen distintas ver- acuerdo con el sistema operativo que esté emple-
siones de Placas Arduino para armar, desde ando, en este caso nosotros descargamos el IDE
nuestra web: de Arduino para Windows.
Cuando la descarga finalice, descomprima el
www.webelectronica.com.ar fichero. Asegúrese de mantener la estructura de
directorios. Haga doble clic en la carpeta “ardui-
Debe hacer clic en el ícono password e ingre- no-00XX” para abrirla, debería ver una serie de
sando la clave: arduino. ficheros y carpetas ahí dentro, figura 3.

Microcontroladores 35
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 36

A rDuino

En el CD que se sugiere
descargar, se encuentran
los programas para
Windows, Macintosh y
Linux. Más arriba se indica
cómo descargarlo desde la
web

ConECtE lA PlACA

Conecte la placa Arduino


a su computadora usando el
cable USB, figura 4. el LED
verde indicador de la ali-
mentación (nombrado como
PWR en la placa) debería Figura 3 - Ícono que debe ejecutar para que se abra el entorno de
quedar encendido a partir desarrollo Arduino.
de ese momento.
Si está usando una placa
Arduino Diecimila, necesita-
rá asegurarse de que la
placa está configurada para
alimentarse mediante la
conexión USB. La fuente de
alimentación se selecciona
con un puente ("jumper"),
una pequeña pieza de plás-
tico que encaja en dos de
los tres pins situados entre
las conectores USB y de ali-
mentación de la placa.
Compruebe que el puente
esté conectando los dos
pins más cercanos al puerto
USB de la placa.
En las placas Arduino
Duemilanove y Arduino Figura 4 - Conectando la placa Arduino a la computadora
Nano la fuente de alimenta-
ción adecuada se selecciona de forma automáti- deberían descargarse e instalarse automática-
ca y no requiere tener que realizar ninguna com- mente.
probación en este sentido. En Windows XP, se abrirá el diálogo de insta-
lación de Nuevo Harware:
Cuando le pregunte: ¿Puede Windows conec-
InStAlE loS drIvErS tarse a Windows Update para buscar el software?
seleccione No, no esta vez. Haga clic en siguien-
Cuando conecta la placa, Windows debería te.
inicializar la instalación de los drivers (siempre y Seleccione “Instalar desde una lista o locali-
cuando no haya utilizado su PC con una placa zación específica” (Avanzado) y haga clic en
Arduino anteriormente o con algún dispositivo siguiente. Asegúrese que “Buscar los mejores dri-
que requiera la instalación de un puerto COM vir- vers en estas localizaciones” esté seleccionado;
tual a partir de un puerto USB). deseleccione “Buscar en medios removibles”;
En Windows Vista y Windows 7, los drivers seleccione “Incluye esta localización en la bús-

36 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 37

KiT De T rAbAjo y e nTorno De D esArrollo

Figura 5 - Ubicación de los


drivers para la instalación de
la placa Arduino.

queda” y navegue al directorio “drivers/FTDI USB y seleccione la misma carpeta de instalación de


Drivers” dentro de la carpeta de Arduino que ha los drivers. Esta vez el sistema encontrará un
descomprimido previamente. "USB Serial Port" (o Puerto USB-Serie).
Puede comprobar que los drivers se han ins-
Nota: La versión más reciente de los drivers talado correctamente abriendo la carpeta del
se puede encontrar en la página web del fabri- Administrador del Dispositivo, en el grupo
cante delchip FTDI. Dispositivos del panel de control del sistema.
Busque "USB Serial Port" (o Puerto USB-Serie)
Haga clic en “Siguiente” en la sección de puertos; esa es su placa
Arduino. Si no pudiera realizar la instalación de
El asistente de instalación buscará los drivers los drivers con éxito, puede hacer lo siguiente:
y le anunciará que encontró un "USB Serial
Converter" (se traduce por Conversor USB-
Serie). InStAlACIón MAnuAl dEl drIvEr

Haga click en Finalizar Vamos a administrar dispositivos:

El asistente de instalación de hardware volve- “Inicio” → clic derecho en equipo → adminis-


rá a iniciarse. Repita los mismos pasos que antes trar → administrar dispositivos

Figura 6 - Instalación manual de los drivers de la placa Arduino

Microcontroladores 37
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 38

A rDuino

Buscamos en “otros dis-


positivos” los elementos
desconocidos y con clic
derecho seleccionamos
“actualizar controlador”,
figura 5.
Ahora seleccionamos
“buscar software de contro-
lador en el equipo” y busca-
mos la ubicación de carpeta Figura 7 - Ejecucción del software
Drivers, tal como ya explica- Arduino.
mos, figura 6.

EjECutE lA APlICACIón ArduIno

Ya estamos en condiciones de comenzar a


trabajar. Haga doble clic en la aplicación Arduino,
figura 7. Se desplegará la pantalla de inicio del
programa, tal como se muestra en la figura 8.

AbrA El EjEMPlo blInk

Abra el programa de ejemplo para hacer par-


padear un LED ("LED blink") que esté conectado
en la pata 13 del microcontrolador de la placa
Arduino:

File → Examples → Digital → Blink Figura 9

Figura 8 - Escritorio de trabajo del entorno de desarrollo (IDE) de Arduino.

38 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 39

KiT De T rAbAjo y e nTorno De D esArrollo

En su computadora
aparecerá una imagen
como la mostrada en la
figura 9.

SElECCIonE Su PlACA

Necesitará seleccio-
nar el tipo de placa de su
Arduino en el menú:

Tools → Board

En la figura 10 puede
ver la imagen que se
despliega, en la que
debe realizar la selec-
ción. Para las nuevas
placas Arduino con el
chip ATmega 328 (com-
pruebe el texto escrito en
el chip de la placa),
seleccione la opción
“Arduino Duemilanove or
Figura 10 - Selección de la placa Arduino en el IDE.
Nano w/ ATmega328” del
menú desplegable.
Anteriormente las placas
Arduino incluían un chip
ATmega 168; para estos
casos seleccione la
opción “Arduino
Diecimila, Duemilanove,
or Nano w/ ATmega168”.

SElECCIonE El
PuErto SErIE

Seleccione el disposi-
tivo serie de la placa
Arduino en el menú:

Tools → Serial Port


(Herramientas | Puertos Serie).

En la figura 11 puede
ver la imagen que se
despliega, en la que
debe realizar la selec-
ción. Lo más probable es
que sea COM3 o mayor
Figura 11 - Selección del puerto en el que está conectada la placa. (COM1 y COM2 se

Microcontroladores 39
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 40

A rDuino

Figura 12 - Carga del programa escrito en el IDE al microcontrolador de la placa

reservan, por regla general para puertos serie de * La sección “reference” para conocer el len-
hardware). Para asegurarse cuál es, puede des- guaje de programación Arduino.
conectar la placa y volver a mirar el menú; el
puerto de la placa habrá desaparecido de la lista.
Reconecte la placa y seleccione el puerto apro- CArACtEríStICAS téCnICAS dE un ArduIno uno
piado que se indica en el Administrador de
Dispositivos. Arduino UNO es la versión más conocida de
la placa de entrenamiento, existen dos variantes,
la Arduino UNO convencional, figura 13 y la
SubA El SkEtCH A lA PlACA Arduino UNO SMD, figura 14. La única diferencia
entre ambas es el tipo de microcontrolador que
Cuando abrió el archivo de ejemplo, lo que montan. La primera es un microcontrolador
aparece en la pantalla es el programa que al ser Atmega en formato DIP y la segunda dispone de
cargado en el microcontrolador de su placa un microcontrolador en formato SMD. Para
Arduino, hará parpadear un LED. Para “subir el entendernos, el formato DIP es mucho más gran-
sketch” (programa escrito en el IDE de Arduino) de que el formato SMD, que se suelda a la super-
ahora simplemente pulse sobre el botón "Upload" ficie de la placa.
en el Menú del Entorno Arduino, figura 12. En este tutorial haremos uso de la primera
Espere unos pocos segundos (debería ver par- versión porque nos permite programar el chip
padear los Led RX y TX de la placa). sobre la propia placa y después poder quitarlo
Si el volcado del código es exitoso verá apa- para integrarlo en otro proyecto.
recer el mensaje "Done uploading" en la barra de Si su intención es usar directamente la propia
estado. placa en sus prototipos, cualquiera de las dos
versiones es similar.
Nota: Si tiene una placa Arduino Mini, NG, u
otras placas, necesitará presionar el botón de
reseteo de la placa inmediatamente antes de pre- rESuMEn dE CArACtEríStICAS téCnICAS
sionar el botón "Upload" del Entorno de
Programación Arduino. Como mencionamos, el Arduino 1 usa un
microcontrolador ATMEL Atmega328, de 28 ter-
Unos pocos segundos después de finalizar el minales que opera con una tensión de 5V. En la
volcado del programa debería ver cómo el Led de
la placa conectado al pin 13 (L) comienza a par-
padear con un color naranja. Si ocurre esto ¡en
hora buena!

Ya tiene su Arduino listo y funcionando!!!

Si tiene problemas, por favor, consulte las


sugerencias ante problemas que se encuentran
en el texto completo del primer libro que puede
descargar desde nuestra web de la forma indica-
da anteriormente. A partir de ahora también podrá
consultar:

* Los ejemplos sobre el funcionamiento de


distintos sensores y dispositivos. Figura 13 - Arduino Uno Atmega328.

40 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 41

KiT De T rAbAjo y e nTorno De D esArrollo

Cada uno de los pines digitales dispone de


una resistencia de pull-up interna de entre 20kΩ
y 50kΩ que está desconectada, salvo que noso-
tros indiquemos lo contrario.
Arduino también dispone de 6 pines de entra-
da analógicos que trasladan las señales a un
conversor analógico/digital de 10 bits.

PInES ESPECIAlES dE EntrAdA y SAlIdA:

* rX y tX: Se usan para transmisiones serie


de señales TTL.

Figura 14 - Arduino Uno SMD. * Interrupciones externas: Los pines 2 y 3


están configurados para generar una interrupción
tabla 1 puede ver un resumen de las principales en el Atmega328. Las interrupciones pueden dis-
características de esta placa entrenadora. pararse cuando se encuentra un valor bajo en
estas entradas y con flancos de subida o bajada
de la entrada.
EntrAdAS y SAlIdAS
* PWM: Arduino dispone de 6 salidas destina-
Cada uno de los 14 pines digitales del das a la generación de señales PWM de hasta 8
Atmega328 se puede usar como entrada o como bits.
salida. Funcionan a 5V y cada pin puede sumi-
nistrar hasta 40mA. La intensidad máxima de * SPI: Los pines 10, 11, 12 y 13 pueden utili-
entrada también es de 40mA. zarse para llevar a cabo comunicaciones SPI,
que permiten trasladar información full dúplex en
un entorno Maestro/Esclavo.

* I2C: Permite establecer comunicaciones a


través de un bus I2C. El bus I2C es un producto
de Phillips para interconexión de sistemas embe-
bidos. Actualmente se puede encontrar una gran
diversidad de dispositivos que utilizan esta inter-
faz, desde pantallas LCD, memorias EEPROM,
sensores, etc.

¿CóMo AlIMEntAr un ArduIno?

Puede alimentarse directamente a través del


propio cable USB o mediante una fuente de ali-
mentación externa, como puede ser un pequeño
transformador o, por ejemplo, una batería de 9V.
Los límites están entre los 6V y los 12V. Como
única restricción hay que saber que si la placa se
alimenta con menos de 7V, la salida del regulador
de tensión a 5V puede dar menos que esta ten-
sión y si sobrepasamos los 12V, probablemente
dañaremos la placa.
La alimentación puede conectarse mediante
Tabla 1 - Características del Atmega328. un conector de 2,1mm con el positivo en el cen-

Microcontroladores 41
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 42

A rDuino

Figura 15 - los distintos tipos de placas Arduino.

42 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 43

KiT De T rAbAjo y e nTorno De D esArrollo

el voltaje presente en el
jack directamente
desde Vin. En el caso
de que el Arduino esté
siendo alimentado
mediante el cable USB,
ese voltaje no podrá ser
monitoreado desde
aquí.
En la figura 15 se puede
apreciar la familia de
Arduino, con las varian-
tes propuestas y que se
ofrecen comercialmen-
te. Como dijimos, la
más popular es Arduino
Uno, que en sus tres
tipos se puede ver en la
figura 16.

Figura 16 - El IdE ArduIno


Variantes de
Arduino Uno. Cuando trabajamos con
Arduino, lo que hace-
tro o directamente a los pines Vin y GND marca- mos realmente es mezclar un circuito con una
dos sobre la placa. idea que plasmamos en un programa. Este pro-
Hay que tener en cuenta que podemos medir grama lo grabamos en un chip que es el micro-

Figura 17 - Forma de trabajar con Arduino.

Microcontroladores 43
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 44

A rDuino

controlador que está sobre la placa


de Arduino. Una idea de esta forma
de trabajar la puede ver en la figura
17.
Las siglas IDE significan:
“Integrated Development
Environment”, lo que traducido a
nuestro idioma significa Entorno de
Desarrollo Integrado. En el caso de
Arduino se trata de una plataforma
en la que podremos editar los pro-
gramas que vamos a cargar en la
placa y una serie de botones que
nos permitirán llevar a cabo opera-
ciones como la verificación de que
nuestro programa es correcto o
programar el microcontrolador,
figura 18.
La ventana o escritorio del pro-
grama se divide en cuatro grandes
áreas:

* La barra de menú, figura 19.


* La barra de botones, figura 20.
* El editor o escritorio, figura 21.
* La barra de mensajes, figura
22.
Figura 18 - Programa escrito en el escritorio de Arduino.
Programación de un Arduino.

Vamos a comenzar a programar


en Arduino. Arduino utiliza una mez- Figura 19 - Barra de menú.
cla curiosa de lenguajes de progra-
mación. Está implementado en
Java, pero para programar los chips
utiliza C++.
Nosotros no pretendemos conse- Figura 20 - La barra de botones
guir que en un taller de un par de
horas la gente se convierta por arte
de magia en grandes programado-
res, pero sí que sean capaces de
hacer sus primeros pinitos mediante
proyectos sencillos y que esto
pueda favorecer que les pique el
gusanillo.
Un programa diseñado para eje-
cutarse sobre un Arduino se conoce
como sketch, que podríamos tradu-
cir como “boceto” o “borrador”. Un
sketch siempre tiene la misma
estructura y tiene un formato como
el de la figura 23. Figura 21 - El escritorio.

44 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 45

KiT De T rAbAjo y e nTorno De D esArrollo

continuación comenzaría a repetirse


indefinidamente el contenido de la
función loop. Por lo tanto, lo que
escucharía sería:

Bip Bop Bop Bop Bop


Figura 22 - La barra de mensajes.
Hasta que a alguien se le ocurriera
desconectar el cable o la pila del
Arduino.

Control de entradas y salidas digita-


les.
Vea en la figura 25 un esquemático
que representa a la placa Arduino
Uno. Arduino dispone de 14 pines
de entradas y salidas digitales.
Figura 23 - Sketch o programa escrito en el escritorio. Pueden configurarse como pines de
entrada o de salida. Veamos un
ejemplo.

PráCtICA 1:
EnCEndIdo dE un lEd

Un diodo LED es un dispositivo electrónico


que es capaz de producir luz, requiere que se
preste atención a la polaridad, es decir, debe
tenerse en cuenta que una pata debe estar
conectada a un punto del circuito con una tensión
más positiva que la otra. El truco es recordar:

* Un LED dispone de dos patillas, una más


larga y otra más corta.
* La pata más larga debe estar conectada a la
Figura 24 - Ejemplo de escritura de un parte más positiva del circuito.
programa * El voltaje entre las patas del LED debe estar
dentro de los límites que indica el fabricante.
Lo que se escriba entre las llaves que acom-
pañan al nombre setup, se ejecuta una única vez Los LEDs suelen encenderse en torno a los
siempre que se encienda o resetee la placa. 2V. Para limitar la tensión en los extremos de un
Lo que se escriba dentro de las llaves que LED debemos colocar una resistencia. Si no lo
acompañan al nombre loop se ejecutará constan- hacemos podríamos llegar a quemarlos.
temente hasta que se apague o resetee la máqui- En síntesis, pretendemos que un LED se
na. encienda y parpadee. Para nuestro propósito va
Para entendernos, en la figura 24 tenemos un utilizar una salida cualquiera del Arduino, en prin-
pequeño ejemplo gráfico. cipio, la patita 12. A esta patita vamos a conectar
Si tuviéramos un Arduino capaz de entender un LED.
este programa, al encenderlo, es decir, al conec- Para que encienda con normalidad y no
tarle el cable USB o una pila de 9V. Primero se dañarlo, vamos a colocarle, en serie, una resis-
ejecutaría el contenido de la función setup y a tencia, yo he representado una de 2,2kΩ, figura
26.

Microcontroladores 45
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 46

A rDuino

Hay que recordar que la pata más


larga del LED debe conectarse a una
parte “más positiva” del circuito, mientras
que la pata más corta la conectaremos a
tierra utilizando uno de los pines etique-
tados como GND (Ground) de la placa
Arduino.

El Programa:

Recuerde, lo que se escribe entre las Figura 25 - Entradas y salidas de la placa Arduino.
llaves de la función setup se ejecuta una
única vez en el arranque de la placa. Lo
que coloquemos entre las llaves de la función
loop se ejecutará una vez tras otra hasta que
apaguemos el Arduino.
Se estará preguntando ¿qué cosas pongo
ahí? … pues… veamos:

pinMode (número de pin, entrada o salida).

PinMode es una función, es un trozo de códi-


go que alguien programó para que no tuviéramos
que hacerlo nosotros, así que después de mos-
trarle el respeto y agradecimiento adecuado
vamos a ver para qué sirve.
Esta función configura uno de los pines digita-
les como entrada o salida. Si recuerda, tenemos
catorce pines digitales, el primero es el 0 y el últi- Figura 26 - Conexión de un LED en la placa
mo es el 13. Además existen dos posibles confi- Arduino Uno.
guraciones para cada pin, puede estar configura-
do como entrada INPUT o como salida OUTPUT. Arduino recuerde que debe estar desconectado
Así que para configurar la pata “pin 12” como del resto del circuito.
salida tendremos que escribir: 4) No debe confundir pin con pata del integra-
do. Pin es la posición que ocupa el bit a designar
pinMode(12, OUTPUT); dentro del puerto de entradas y salidas y ese pin
tiene conexión eléctrica con una patita del inte-
Si lo quisiéramos configurar como entrada el grado (microcontrolador) que puede tener otro
pin 11 tendríamos que escribir: número y que el fabricante brinda en el manual
del dispositivo.
pinMode(11, INPUT);
Continuemos con la explicación de las sen-
Antes de proseguir, debemos recordar lo tencias que necesitamos para la programación
siguiente: de nuestro proyecto:

1) ¡Cuidado! el pin que quiero configurar y la digitalWrite(número de pin, estado alto o estado bajo)
configuración que quiero que se le aplique están
separados por una coma “,” ¡No se olvides de A estas alturas, ya tiene que haberse percata-
ella! do de que esto tiene que ver con señales digita-
2)¡El punto y coma del final “;” también es les. Como sabe, las señales digitales binarias
importante. representan dos estados: un estado bajo, tam-
3) Más importante aún, cuando programe un bién conocido como 0, apagado u OFF y un esta-

46 Microcontroladores
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 47

KiT De T rAbAjo y e nTorno De D esArrollo

do alto también conocido como 1, encendido u Por ahora, con esto es suficiente ¿ahora qué
ON. También sabrá que el estado alto o HIGH se hacemos?
representa con 5V (aunque las placas que se ali- Es bien sencillo. Escribimos las instrucciones
mentan a 3.3V devolverán esto como valor alto) y mencionadas en el escritorio del software Arduino
que el estado bajo o LOW se representa con 0V. una debajo de la otra. Hecho esto, por un lado
DigitalWrite necesita dos parámetros para su pulsaremos sobre el botón que tiene el símbolo
programación o definición, el primero, una vez de play, minicadena o reproductor multimedia de
más, es el número de pin digital al que haremos la barra de botones.
referencia y el siguiente es el estado que quere- Al hacer clic sobre ese botón el sketch escrito
mos mantener en ese pin, por lo tanto. se compilará (se transformará a un lenguaje que
Si quiero enviar un valor alto en el pin 12 ten- “entiende” el microcontrolador). Si hubiera cual-
dré que escribir: quier error, nos aparecerá un texto en rojo en la
parte baja de la ventana, en la sección de men-
digitalWrite(12, HIGH); sajes. Si todo ha ido bien, podemos “subir” el pro-
grama a la placa.
Si quiero tener 0V en el pin 10 escribiré: Lo que haremos es enviar, a través del cable
USB, el programa traducido a la placa y lo graba-
digitalWrite(10, LOW); rá en el chip del microcontrolador.
Este proceso es realmente simple, sólo hay
Otra instrucción que necesitamos es: que hacer clic en el botón de programación.
Sobre la placa hay dos pequeños LEDS, eti-
delay(milisegundos) quetados con los nombres, TX y RX que deberí-
an comenzar a parpadear, indicando que el pro-
Delay es una función más sencillita que el grama está siendo transferido. Luego, el Led que
resto, hace que toda la ejecución de Arduino pare conectamos a la placa debe comenzar a parpa-
durante los milisegundos que le indiquemos dear.
como argumento. Por lo tanto, si quiero esperar
medio segundo escribiré:
ACtIvIdAdES:
delay(500);
1. Haga el mismo montaje anterior pero utili-
Si quiero esperar diez segundos escribiré: zando el pin 7 para conectar el diodo LED.
2. Con el montaje anterior haga que el diodo
delay(10000); esté encendido 1 segundo y apagado 2 segun-
dos.
3. Intente ahora hacer que dos LEDs se apa-
guen y parpadeen de manera secuencial, al esti-
lo del conocido “auto fantástico”.

PráCtICA 2:
EnCEndIdo dEl lEd l IntEgrAdo En lA PlACA

Si se fija, en la placa, justo enfrente del pin


digital número 13, hay un pequeño LED que tiene
serigrafiada la letra “L” justo al lado. Es un diodo
que está conectado directamente al pin 13 y que
no necesita de ningún componente adicional para
su manejo, ya que la resistencia limitadora está
en la placa.
Podemos utilizarlo en nuestros montajes para
Figura 27 - Programa para manejar el LED mostrarnos si la placa está teniendo actividad o
integrado en la placa. no.

Microcontroladores 47
Manual - Arduino.qxd:*Cap 4 - telefonia 21/01/14 10:08 Page 48

A rDuino

Figura 28 - Principales componentes de la placa Arduino Uno.

La manera de programarlo es exactamente la 10- Pines de alimentación


misma que en los casos anteriores. 11- Entradas analógicas
Vamos a conseguir que parpadee el LED L 12- Pines de TX y RX TX
integrado en la placa. 13- Entradas / Salidas digitales
Para desarrollar esta idea sólo hace falta la 14- Pines de Tierra y Referencia
placa de Arduino y un cable USB. En la figura 27 15-ICSP para Atmega328
puede ver cuál es el programa que deberá escri- 16- ICSP para interfases USB
bir.
Realice la práctica y vea los resultados. Como puede apreciar, el tema se va tornando
Para finalizar, en la figura 27 se muestra la apasionante ya que trabajar con Arduino no revis-
ubicación del LED integrado, pero también se te mayores dificultades.
pueden observar los principales componentes a Pero esto es el comienzo, de más está decir
saber: que continuaremos desarrollando prácticas para
que Ud. se capacite con esta plataforma.
1- Jack USB jack Recuerde que Ud. puede descargar los 3 pri-
2- Jack de alimentación, meros libros de ARDUINO, que entre otras cosas
3- Microprocesador poseen distintas versiones de Placas Arduino
4- Conversor RS232 a USB para armar, desde nuestra web:
5- Cristal de 16MHz
6- Pulsador de reset www.webelectronica.com.ar
7- Led de alimentación
8- Leds de TX/RX Debe hacer clic en el ícono password e ingre-
9- Led integrado (pin 13) sando la clave: arduino. J

48 Microcontroladores

S-ar putea să vă placă și