Q ARDuINO - publicidad.ventadewebs.com.arpublicidad.ventadewebs.com.ar/Desde...

16
Desarrollo de Microcontroladores 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 - [email protected] Qué es ARDuINO KIt De tRAbAjO y eNtORNO De DesARROllO

Transcript of Q ARDuINO - publicidad.ventadewebs.com.arpublicidad.ventadewebs.com.ar/Desde...

Desarrollo de Microcontroladores

Microcontroladores 3 3

Arduino es una herramienta para hacer que las computadoras puedan “sentir y controlarel 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 placasencilla con un microcontrolador y un entorno de desarrollo (software Arduino) para crearprogramas que serán grabados en el microcontrolador de la placa. Puede usar Arduinopara 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) quese 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 lopuede descargar gratis desde Internet. En esta entrega explica qué es Arduino, cuáles sonlos primeros pasos que el lector debe dar para trabajar con esta plataforma, cómo es el kitbá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 losejemplos en la guía están liberados como dominio público.

Coordinación: Federico Prado - [email protected]

Qué es

ARDuINOKIt De tRAbAjO y eNtORNO De DesARROllO

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

ArDuino

IntroduCCIón

Arduino es una placa con un microcontrola-dor de la marca Atmel y con toda la circuitería desoporte, que incluye, reguladores de tensión, unpuerto USB (En los últimos modelos, aunque eloriginal utilizaba un puerto serie) conectado a unmódulo adaptador USB-Serie que permite pro-gramar el microcontrolador desde cualquier PCde manera cómoda y también hacer pruebas decomunicación con el propio chip.

Un arduino dispone de 14 pines que puedenconfigurarse como entrada o salida y a los quepuede conectarse cualquier dispositivo que seacapaz de transmitir o recibir señales digitales de0V y 5V.

También dispone de entradas y salidas analó-gicas. Mediante las entradas analógicas pode-mos obtener datos de sensores en forma devariaciones continuas de un voltaje. Las salidasanalógicas suelen utilizarse para enviar señalesde control en forma de señales PWM.

El lenguaje de programación de Arduino esuna implementación de Wiring, una plataforma decomputación física parecida, que a su vez sebasa en Processing, un entorno de programaciónmultimedia.

¿Por qué Arduino?Hay muchos microcontroladores y platafor-

mas con microcontroladores disponibles para lacomputación física:

Parallax Basic Stamp, BX-24 de Netmedia,

Phidgets,

Handyboard del MIT,

Picaxe,

etc.

Todos éstos ofrecen funcionalidades simila-res. Organizan el complicado trabajo de progra-mar un microcontrolador en paquetes fáciles deusar. Arduino, además de simplificar el procesode trabajar con microcontroladores, posee algu-nas ventajas respecto a otros sistemas a profe-sores, estudiantes y amateurs:

Asequible - Las placas Arduino son más ase-quibles comparadas con otras plataformas demicrocontroladores. La versión más cara de unmódulo de Arduino puede ser montada a mano, eincluso ya montada cuesta bastante menos de 90dólares americanos

Multi-Plataforma - El software de Arduinofunciona en los sistemas operativos Windows,Macintosh OSX y Linux. La mayoría de los entor-nos para microcontroladores están limitados aWindows.

Entorno de programación simple y directo- El entorno de programación de Arduino es fácilde usar para principiantes y lo suficientementeflexible para los usuarios avanzados. Pensandoen los profesores, Arduino está basado en elentorno de programación de Procesing con loque el estudiante que aprenda a programar eneste entorno se sentirá familiarizado con el entor-no de desarrollo Arduino.

Software ampliable y de código abierto- Elsoftware Arduino esta publicado bajo una licencialibre y preparado para ser ampliado por progra-madores experimentados. El lenguaje puedeampliarse a través de librerías de C++, y si seestá interesado en profundizar en los detalles téc-nicos, se puede dar el salto a la programación enel lenguaje AVR C en el que está basado. Deigual modo se puede añadir directamente códigoen AVR C en sus programas si así lo desea.

Hardware ampliable y de Código abierto -Arduino está basado en los microcontroladoresATMEGA168, ATMEGA328 y ATMEGA1280. Loscircuitos de los módulos están publicados bajolicencia Creative Commons, por lo que diseñado-res de circuitos con experiencia pueden hacer supropia versión del módulo, ampliándolo u optimi-zándolo. Incluso usuarios relativamente inexper-tos pueden construir la versión para placa dedesarrollo para entender cómo funciona y ahorraralgo de dinero.

¿CóMo uSo ArduIno?

Los textos de la guía "Como empezar conArduino", que se encuentra en la páginahttp://www.arduino.cc/es/ están licenciadosbajo Creative Commons Attribution-ShareAlike3.0 License. El código fuente de los ejemplos enla guía están liberados como dominio público, talcomo ya hemos dicho y como repetiremos variasveces” para que el lector comprenda que todo loque haga con Arduino puede implicar una rápidasalida laboral sin tener que pagar licencias oderechos.

34 Microcontroladores

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

KiT De TrAbAjo y enTorno De DesArrollo

La idea es que aprenda, se capacite, practi-que y tenga un buen desempeño.

CoMEnzAndo Con ArduIno En WIndoWS

Para esta primera experiencia vamos a supo-ner que Ud. ya tiene una placa ARDUINO listapara usar; más adelante daremos las diferentesconfiguraciones circuitales y los pasos a seguirpara un montaje seguro.

Por razones de espacio no podremos publicartoda esta información y es por ello que ya tene-mos desarrollados 6 libros sobre Arudino el pri-mero de los cuales está próximo a publicarse. Ud.puede descargar los 3 primeros libros de ARDUI-NO, que entre otras cosas poseen distintas ver-siones de Placas Arduino para armar, desdenuestra web:

www.webelectronica.com.ar

Debe hacer clic en el ícono password e ingre-sando la clave: arduino.

Este documento explica cómo conectar unaplaca 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-

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 usandoun placa Arduino Duemilanove, Nano o Diecimila.Si tiene cualquier otra placa necesita leer la pági-na correspondiente a la placa que use en estaguía de iniciación. En la figura 1 puede apreciarun detalle de la placa Arduino Uno.

También necesitará un cable estándar USB(conexión A a conexión B), como los que se usanpara 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 lafigura 2 puede ver el cable que necesita paraconectar la placa a la computadora.

dESCArgA El IdE dE ArduIno

Descargue la última versión de la página dedescargas:

http://arduino.cc/en/Main/Software

Podrá seleccionar el software adecuado deacuerdo con el sistema operativo que esté emple-ando, en este caso nosotros descargamos el IDEde Arduino para Windows.

Cuando la descarga finalice, descomprima elfichero. Asegúrese de mantener la estructura dedirectorios. Haga doble clic en la carpeta “ardui-no-00XX” para abrirla, debería ver una serie deficheros y carpetas ahí dentro, figura 3.

Microcontroladores 3 5

Figura 1 - Arduino Uno

Figura 2 - Cable USB

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

ArDuino

En el CD que se sugieredescargar, se encuentranlos programas paraWindows, Macintosh yLinux. Más arriba se indicacómo descargarlo desde laweb

ConECtE lA PlACA

Conecte la placa Arduinoa su computadora usando elcable USB, figura 4. el LEDverde indicador de la ali-mentación (nombrado comoPWR en la placa) deberíaquedar encendido a partirde ese momento.

Si está usando una placaArduino Diecimila, necesita-rá asegurarse de que laplaca está configurada paraalimentarse mediante laconexión USB. La fuente dealimentación se seleccionacon un puente ("jumper"),una pequeña pieza de plás-tico que encaja en dos delos tres pins situados entrelas conectores USB y de ali-mentación de la placa.Compruebe que el puenteesté conectando los dospins más cercanos al puertoUSB de la placa.

En las placas ArduinoDuemilanove y ArduinoNano la fuente de alimenta-ción adecuada se selecciona de forma automáti-ca y no requiere tener que realizar ninguna com-probación en este sentido.

InStAlE loS drIvErS

Cuando conecta la placa, Windows deberíainicializar la instalación de los drivers (siempre ycuando no haya utilizado su PC con una placaArduino anteriormente o con algún dispositivoque requiera la instalación de un puerto COM vir-tual a partir de un puerto USB).

En Windows Vista y Windows 7, los drivers

deberían descargarse e instalarse automática-mente.

En Windows XP, se abrirá el diálogo de insta-lación de Nuevo Harware:

Cuando le pregunte: ¿Puede Windows conec-tarse a Windows Update para buscar el software?seleccione No, no esta vez. Haga clic en siguien-te.

Seleccione “Instalar desde una lista o locali-zación específica” (Avanzado) y haga clic ensiguiente. Asegúrese que “Buscar los mejores dri-vers en estas localizaciones” esté seleccionado;deseleccione “Buscar en medios removibles”;seleccione “Incluye esta localización en la bús-

36 Microcontroladores

Figura 3 - Ícono que debe ejecutar para que se abra el entorno dedesarrollo Arduino.

Figura 4 - Conectando la placa Arduino a la computadora

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

KiT De TrAbAjo y enTorno De DesArrollo

queda” y navegue al directorio “drivers/FTDI USBDrivers” dentro de la carpeta de Arduino que hadescomprimido previamente.

Nota: La versión más reciente de los drivers

se puede encontrar en la página web del fabri-

cante delchip FTDI.

Haga clic en “Siguiente”

El asistente de instalación buscará los driversy le anunciará que encontró un "USB SerialConverter" (se traduce por Conversor USB-Serie).

Haga click en Finalizar

El asistente de instalación de hardware volve-rá a iniciarse. Repita los mismos pasos que antes

y seleccione la misma carpeta de instalación delos drivers. Esta vez el sistema encontrará un"USB Serial Port" (o Puerto USB-Serie).

Puede comprobar que los drivers se han ins-talado correctamente abriendo la carpeta delAdministrador del Dispositivo, en el grupoDispositivos del panel de control del sistema.Busque "USB Serial Port" (o Puerto USB-Serie)en la sección de puertos; esa es su placaArduino. Si no pudiera realizar la instalación delos drivers con éxito, puede hacer lo siguiente:

InStAlACIón MAnuAl dEl drIvEr

Vamos a administrar dispositivos:

“Inicio” → clic derecho en equipo → adminis-

trar → administrar dispositivos

Microcontroladores 3 7

Figura 5 - Ubicación de losdrivers para la instalación de

la placa Arduino.

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

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

ArDuino

Buscamos en “otros dis-positivos” los elementosdesconocidos y con clicderecho seleccionamos“actualizar controlador”,figura 5.

Ahora seleccionamos“buscar software de contro-lador en el equipo” y busca-mos la ubicación de carpetaDrivers, tal como ya explica-mos, figura 6.

EjECutE lA APlICACIón ArduIno

Ya estamos en condiciones de comenzar atrabajar. Haga doble clic en la aplicación Arduino,figura 7. Se desplegará la pantalla de inicio delprograma, 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é conectadoen la pata 13 del microcontrolador de la placaArduino:

File → Examples → Digital → Blink

38 Microcontroladores

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

Figura 9

Figura 7 - Ejecucción del softwareArduino.

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

KiT De TrAbAjo y enTorno De DesArrollo

En su computadoraaparecerá una imagencomo la mostrada en lafigura 9.

SElECCIonE Su PlACA

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

Tools → Board

En la figura 10 puedever la imagen que sedespliega, en la quedebe realizar la selec-ción. Para las nuevasplacas Arduino con elchip ATmega 328 (com-pruebe el texto escrito enel chip de la placa),seleccione la opción“Arduino Duemilanove orNano w/ ATmega328” delmenú desplegable.Anteriormente las placasArduino incluían un chipATmega 168; para estoscasos seleccione laopción “ArduinoDiecimila, Duemilanove,or Nano w/ ATmega168”.

SElECCIonE El

PuErto SErIE

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

Tools → Serial Port(Herramientas | Puertos Serie).

En la figura 11 puedever la imagen que sedespliega, en la quedebe realizar la selec-ción. Lo más probable esque sea COM3 o mayor(COM1 y COM2 se

Microcontroladores 3 9

Figura 10 - Selección de la placa Arduino en el IDE.

Figura 11 - Selección del puerto en el que está conectada la placa.

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

ArDuino

reservan, por regla general para puertos serie dehardware). Para asegurarse cuál es, puede des-conectar la placa y volver a mirar el menú; elpuerto de la placa habrá desaparecido de la lista.Reconecte la placa y seleccione el puerto apro-piado que se indica en el Administrador deDispositivos.

SubA El SkEtCH A lA PlACA

Cuando abrió el archivo de ejemplo, lo queaparece en la pantalla es el programa que al sercargado en el microcontrolador de su placaArduino, hará parpadear un LED. Para “subir elsketch” (programa escrito en el IDE de Arduino)ahora simplemente pulse sobre el botón "Upload"en el Menú del Entorno Arduino, figura 12.Espere unos pocos segundos (debería ver par-padear los Led RX y TX de la placa).

Si el volcado del código es exitoso verá apa-recer el mensaje "Done uploading" en la barra deestado.

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-

sionar el botón "Upload" del Entorno de

Programación Arduino.

Unos pocos segundos después de finalizar elvolcado del programa debería ver cómo el Led dela placa conectado al pin 13 (L) comienza a par-padear con un color naranja. Si ocurre esto ¡enhora buena!

Ya tiene su Arduino listo y funcionando!!!

Si tiene problemas, por favor, consulte lassugerencias ante problemas que se encuentranen el texto completo del primer libro que puededescargar 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.

* La sección “reference” para conocer el len-

guaje de programación Arduino.

CArACtEríStICAS téCnICAS dE un ArduIno uno

Arduino UNO es la versión más conocida dela placa de entrenamiento, existen dos variantes,la Arduino UNO convencional, figura 13 y laArduino UNO SMD, figura 14. La única diferenciaentre ambas es el tipo de microcontrolador quemontan. La primera es un microcontroladorAtmega en formato DIP y la segunda dispone deun microcontrolador en formato SMD. Paraentendernos, el formato DIP es mucho más gran-de que el formato SMD, que se suelda a la super-ficie de la placa.

En este tutorial haremos uso de la primeraversión porque nos permite programar el chipsobre la propia placa y después poder quitarlopara integrarlo en otro proyecto.

Si su intención es usar directamente la propiaplaca en sus prototipos, cualquiera de las dosversiones es similar.

rESuMEn dE CArACtEríStICAS téCnICAS

Como mencionamos, el Arduino 1 usa unmicrocontrolador ATMEL Atmega328, de 28 ter-minales que opera con una tensión de 5V. En la

40 Microcontroladores

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

Figura 13 - Arduino Uno Atmega328.

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

KiT De TrAbAjo y enTorno De DesArrollo

tabla 1 puede ver un resumen de las principalescaracterísticas de esta placa entrenadora.

EntrAdAS y SAlIdAS

Cada uno de los 14 pines digitales delAtmega328 se puede usar como entrada o comosalida. Funcionan a 5V y cada pin puede sumi-nistrar hasta 40mA. La intensidad máxima deentrada también es de 40mA.

Cada uno de los pines digitales dispone deuna 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 unconversor analógico/digital de 10 bits.

PInES ESPECIAlES dE EntrAdA y SAlIdA:

* rX y tX: Se usan para transmisiones seriede señales TTL.

* Interrupciones externas: Los pines 2 y 3están configurados para generar una interrupciónen el Atmega328. Las interrupciones pueden dis-pararse cuando se encuentra un valor bajo enestas entradas y con flancos de subida o bajadade la entrada.

* PWM: Arduino dispone de 6 salidas destina-das a la generación de señales PWM de hasta 8bits.

* SPI: Los pines 10, 11, 12 y 13 pueden utili-zarse para llevar a cabo comunicaciones SPI,que permiten trasladar información full dúplex enun entorno Maestro/Esclavo.

* I2C: Permite establecer comunicaciones através de un bus I2C. El bus I2C es un productode Phillips para interconexión de sistemas embe-bidos. Actualmente se puede encontrar una grandiversidad 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 delpropio cable USB o mediante una fuente de ali-mentación externa, como puede ser un pequeñotransformador 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 sealimenta con menos de 7V, la salida del reguladorde tensión a 5V puede dar menos que esta ten-sión y si sobrepasamos los 12V, probablementedañaremos la placa.

La alimentación puede conectarse medianteun conector de 2,1mm con el positivo en el cen-

Microcontroladores 4 1

Tabla 1 - Características del Atmega328.

Figura 14 - Arduino Uno SMD.

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

ArDuino

42 Microcontroladores

Figura 15 - los distintos tipos de placas Arduino.

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

KiT De TrAbAjo y enTorno De DesArrollo

tro o directamente a los pines Vin y GND marca-dos sobre la placa.

Hay que tener en cuenta que podemos medir

el voltaje presente en eljack directamentedesde Vin. En el casode que el Arduino estésiendo alimentadomediante el cable USB,ese voltaje no podrá sermonitoreado desdeaquí.En la figura 15 se puedeapreciar la familia deArduino, con las varian-tes propuestas y que seofrecen comercialmen-te. Como dijimos, lamás popular es ArduinoUno, que en sus trestipos se puede ver en lafigura 16.

El IdE ArduIno

Cuando trabajamos conArduino, lo que hace-

mos realmente es mezclar un circuito con unaidea que plasmamos en un programa. Este pro-grama lo grabamos en un chip que es el micro-

Microcontroladores 4 3

Figura 16 -Variantes deArduino Uno.

Figura 17 - Forma de trabajar con Arduino.

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

ArDuino

controlador que está sobre la placade Arduino. Una idea de esta formade trabajar la puede ver en la figura17.

Las siglas IDE significan:“Integrated DevelopmentEnvironment”, lo que traducido anuestro idioma significa Entorno deDesarrollo Integrado. En el caso deArduino se trata de una plataformaen la que podremos editar los pro-gramas que vamos a cargar en laplaca y una serie de botones quenos permitirán llevar a cabo opera-ciones como la verificación de quenuestro programa es correcto oprogramar 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.

Programación de un Arduino.

Vamos a comenzar a programaren Arduino. Arduino utiliza una mez-cla curiosa de lenguajes de progra-mación. Está implementado enJava, pero para programar los chipsutiliza C++.

Nosotros no pretendemos conse-guir que en un taller de un par dehoras la gente se convierta por artede magia en grandes programado-res, pero sí que sean capaces dehacer sus primeros pinitos medianteproyectos sencillos y que estopueda favorecer que les pique elgusanillo.

Un programa diseñado para eje-cutarse sobre un Arduino se conocecomo sketch, que podríamos tradu-cir como “boceto” o “borrador”. Unsketch siempre tiene la mismaestructura y tiene un formato comoel de la figura 23.

44 Microcontroladores

Figura 18 - Programa escrito en el escritorio de Arduino.

Figura 19 - Barra de menú.

Figura 20 - La barra de botones

Figura 21 - El escritorio.

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

KiT De TrAbAjo y enTorno De DesArrollo

Lo que se escriba entre las llaves que acom-pañan al nombre setup, se ejecuta una única vezsiempre que se encienda o resetee la placa.

Lo que se escriba dentro de las llaves queacompañan al nombre loop se ejecutará constan-temente hasta que se apague o resetee la máqui-na.

Para entendernos, en la figura 24 tenemos unpequeño ejemplo gráfico.

Si tuviéramos un Arduino capaz de entendereste programa, al encenderlo, es decir, al conec-tarle el cable USB o una pila de 9V. Primero seejecutaría el contenido de la función setup y a

continuación comenzaría a repetirseindefinidamente el contenido de lafunción loop. Por lo tanto, lo queescucharía sería:

Bip Bop Bop Bop Bop

Hasta que a alguien se le ocurrieradesconectar el cable o la pila delArduino.

Control de entradas y salidas digita-les.Vea en la figura 25 un esquemáticoque representa a la placa ArduinoUno. Arduino dispone de 14 pinesde entradas y salidas digitales.Pueden configurarse como pines deentrada o de salida. Veamos un

ejemplo.

PráCtICA 1: EnCEndIdo dE un lEd

Un diodo LED es un dispositivo electrónicoque es capaz de producir luz, requiere que sepreste atención a la polaridad, es decir, debetenerse en cuenta que una pata debe estarconectada a un punto del circuito con una tensiónmá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

parte más positiva del circuito.

* El voltaje entre las patas del LED debe estar

dentro de los límites que indica el fabricante.

Los LEDs suelen encenderse en torno a los2V. Para limitar la tensión en los extremos de unLED debemos colocar una resistencia. Si no lohacemos podríamos llegar a quemarlos.

En síntesis, pretendemos que un LED seencienda y parpadee. Para nuestro propósito vautilizar una salida cualquiera del Arduino, en prin-cipio, la patita 12. A esta patita vamos a conectarun LED.

Para que encienda con normalidad y nodañarlo, vamos a colocarle, en serie, una resis-tencia, yo he representado una de 2,2kΩ, figura26.

Microcontroladores 4 5

Figura 22 - La barra de mensajes.

Figura 23 - Sketch o programa escrito en el escritorio.

Figura 24 - Ejemplo de escritura de unprograma

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

ArDuino

Hay que recordar que la pata máslarga del LED debe conectarse a unaparte “más positiva” del circuito, mientrasque la pata más corta la conectaremos atierra utilizando uno de los pines etique-tados como GND (Ground) de la placaArduino.

El Programa:

Recuerde, lo que se escribe entre lasllaves de la función setup se ejecuta unaúnica vez en el arranque de la placa. Loque coloquemos entre las llaves de la funciónloop se ejecutará una vez tras otra hasta queapaguemos el Arduino.

Se estará preguntando ¿qué cosas pongoahí? … 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éramosque hacerlo nosotros, así que después de mos-trarle el respeto y agradecimiento adecuadovamos a ver para qué sirve.

Esta función configura uno de los pines digita-les como entrada o salida. Si recuerda, tenemoscatorce pines digitales, el primero es el 0 y el últi-mo es el 13. Además existen dos posibles confi-guraciones para cada pin, puede estar configura-do como entrada INPUT o como salida OUTPUT.

Así que para configurar la pata “pin 12” comosalida tendremos que escribir:

pinMode(12, OUTPUT);

Si lo quisiéramos configurar como entrada elpin 11 tendríamos que escribir:

pinMode(11, INPUT);

Antes de proseguir, debemos recordar losiguiente:

1) ¡Cuidado! el pin que quiero configurar y la

configuración que quiero que se le aplique están

separados por una coma “,” ¡No se olvides de

ella!

2)¡El punto y coma del final “;” también es

importante.

3) Más importante aún, cuando programe un

Arduino recuerde que debe estar desconectado

del resto del circuito.

4) No debe confundir pin con pata del integra-

do. Pin es la posición que ocupa el bit a designar

dentro del puerto de entradas y salidas y ese pin

tiene conexión eléctrica con una patita del inte-

grado (microcontrolador) que puede tener otro

número y que el fabricante brinda en el manual

del dispositivo.

Continuemos con la explicación de las sen-tencias que necesitamos para la programaciónde nuestro proyecto:

digitalWrite(número de pin, estado alto o estado bajo)

A estas alturas, ya tiene que haberse percata-do de que esto tiene que ver con señales digita-les. Como sabe, las señales digitales binariasrepresentan dos estados: un estado bajo, tam-bién conocido como 0, apagado u OFF y un esta-

46 Microcontroladores

Figura 25 - Entradas y salidas de la placa Arduino.

Figura 26 - Conexión de un LED en la placaArduino Uno.

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

KiT De TrAbAjo y enTorno De DesArrollo

do alto también conocido como 1, encendido uON. También sabrá que el estado alto o HIGH serepresenta con 5V (aunque las placas que se ali-mentan a 3.3V devolverán esto como valor alto) yque el estado bajo o LOW se representa con 0V.

DigitalWrite necesita dos parámetros para suprogramación o definición, el primero, una vezmás, es el número de pin digital al que haremosreferencia y el siguiente es el estado que quere-mos mantener en ese pin, por lo tanto.

Si quiero enviar un valor alto en el pin 12 ten-dré que escribir:

digitalWrite(12, HIGH);

Si quiero tener 0V en el pin 10 escribiré:

digitalWrite(10, LOW);

Otra instrucción que necesitamos es:

delay(milisegundos)

Delay es una función más sencillita que elresto, hace que toda la ejecución de Arduino paredurante los milisegundos que le indiquemoscomo argumento. Por lo tanto, si quiero esperarmedio segundo escribiré:

delay(500);

Si quiero esperar diez segundos escribiré:

delay(10000);

Por ahora, con esto es suficiente ¿ahora quéhacemos?

Es bien sencillo. Escribimos las instruccionesmencionadas en el escritorio del software Arduinouna debajo de la otra. Hecho esto, por un ladopulsaremos sobre el botón que tiene el símbolode play, minicadena o reproductor multimedia dela barra de botones.

Al hacer clic sobre ese botón el sketch escritose compilará (se transformará a un lenguaje que“entiende” el microcontrolador). Si hubiera cual-quier error, nos aparecerá un texto en rojo en laparte baja de la ventana, en la sección de men-sajes. Si todo ha ido bien, podemos “subir” el pro-grama a la placa.

Lo que haremos es enviar, a través del cableUSB, el programa traducido a la placa y lo graba-rá en el chip del microcontrolador.

Este proceso es realmente simple, sólo hayque hacer clic en el botón de programación.

Sobre la placa hay dos pequeños LEDS, eti-quetados con los nombres, TX y RX que deberí-an comenzar a parpadear, indicando que el pro-grama está siendo transferido. Luego, el Led queconectamos a la placa debe comenzar a parpa-dear.

ACtIvIdAdES:

1. Haga el mismo montaje anterior pero utili-

zando el pin 7 para conectar el diodo LED.

2. Con el montaje anterior haga que el diodo

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 pindigital número 13, hay un pequeño LED que tieneserigrafiada la letra “L” justo al lado. Es un diodoque está conectado directamente al pin 13 y queno necesita de ningún componente adicional parasu manejo, ya que la resistencia limitadora estáen la placa.

Podemos utilizarlo en nuestros montajes paramostrarnos si la placa está teniendo actividad ono.

Microcontroladores 4 7

Figura 27 - Programa para manejar el LEDintegrado en la placa.

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

ArDuino

La manera de programarlo es exactamente lamisma que en los casos anteriores.

Vamos a conseguir que parpadee el LED Lintegrado en la placa.

Para desarrollar esta idea sólo hace falta laplaca de Arduino y un cable USB. En la figura 27puede ver cuál es el programa que deberá escri-bir.

Realice la práctica y vea los resultados.Para finalizar, en la figura 27 se muestra la

ubicación del LED integrado, pero también sepueden observar los principales componentes asaber:

1- Jack USB jack

2- Jack de alimentación,

3- Microprocesador

4- Conversor RS232 a USB

5- Cristal de 16MHz

6- Pulsador de reset

7- Led de alimentación

8- Leds de TX/RX

9- Led integrado (pin 13)

10- Pines de alimentación

11- Entradas analógicas

12- Pines de TX y RX TX

13- Entradas / Salidas digitales

14- Pines de Tierra y Referencia

15-ICSP para Atmega328

16- ICSP para interfases USB

Como puede apreciar, el tema se va tornandoapasionante ya que trabajar con Arduino no revis-te mayores dificultades.

Pero esto es el comienzo, de más está decirque continuaremos desarrollando prácticas paraque Ud. se capacite con esta plataforma.

Recuerde que Ud. puede descargar los 3 pri-meros libros de ARDUINO, que entre otras cosasposeen distintas versiones de Placas Arduinopara armar, desde nuestra web:

www.webelectronica.com.ar

Debe hacer clic en el ícono password e ingre-

sando la clave: arduino. J

48 Microcontroladores

Figura 28 - Principales componentes de la placa Arduino Uno.

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