Arduino‎ > ‎

Blink - Encender un led

Arduino: Primer proyecto hardware con Arduino, encender un LED
Hardware

Explicamos qué es Arduino y para qué sirve. Mostramos paso a paso cómo conectar Arduino UNO a un PC, cómo descargar los drivers y el IDE de desarrollo. Realizamos un primer proyecto hardware consistente en encender y apagar un LED. Explicamos cómo alimentar eléctricamente Arduino UNO una vez desconectado del PC. Realiamos la conexión en un equipo con Microsoft Windows 7.

Arduino, plataforma de hardware libre

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.

Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.

Al ser open-hardware, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.

Consta de 14 entradas digitales configurables entrada i/o que operan a 5 voltios. Cada pin puede proporcionar o recibir como máximo 40 mA. Los pines 3, 5, 6, 8, 10 y 11 pueden proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los pines 0 y 1, eso interferirá con la comunicación USB. Diecimila también tiene 6 entradas analógicas que proporcionan una resolución de 10 bits. Por defecto miden de 0 voltios (masa) hasta 5 voltios, aunque es posible cambiar el nivel más alto, utilizando el pin Aref y algún código de bajo nivel.

Existen numerosos modelos de Arduino con direferentes tamaños y características: Arduino UNO, Duemilanove (Nano), Mega 2560, ATmega1280, Mini, Fio, BT w/ ATmega328, BT w/ ATmega168, LilyPad Arduino w/ ATmega328, LilyPad Arduino w/ ATmega168, Pro, Pro Mini, NG, etc.

Mostramos una foto de Arduino, en concreto del modelo UNO, en una mano para apreciar la escala:

Arduino, plataforma de hardware libre

Vista en detalle de Arduino UNO en su parte superior:

Arduino, plataforma de hardware libre

Frontal del Arduino UNO (conector USB y alimentación eléctrica):

Arduino, plataforma de hardware libre

Parte trasera del Arduino UNO:

Arduino, plataforma de hardware libre

Algunos sensores que se pueden conectar a Arduino: temperatura, humedad, barométrico, acelerómetro, alcoholímetro, infrarojos, compás, giroscopio, capacitivo, corriente, distancia, fuerza, movimiento, proximidad, óptico, sonido, etc.

Arduino, plataforma de hardware libre

Por supuesto, también se le pueden conectar a Arduino una serie de módulos para dotarlo de funcionalidades extra como: módem GPRS (conectando una tarjeta SIM podremos enviar SMS, hacer llamadas y conectarnos a Internet desde Arduino), Ethernet Shield (para conectar Arduino a una red LAN), módulo Bluetooth, módulo GPS, control de relés, RGB LED, pantalla OLED, conectividad Wifi, sintonizador digital FM, etc.

En la imagen un módulo GPRS Quadband:

Arduino, plataforma de hardware libre

La parte de atrás del módulo GPRS acoplable para Arduino UNO:

Arduino, plataforma de hardware libre

Conectar Arduino UNO a un PC con W7, instalar y configurar Arduino IDE

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

Como ejemplo en este artículo conectaremos Arduino UNO a un PC con cable USB y enviaremos un programa a Arduino para que encienda un LED. A continuación indicamos el hardware necesario para realizar este proyecto de ejemplo.

En primer lugar necesitaremos, obviamente, adquirir el Arduino UNO, lo podremos adquirir vía web en cualquier proveedor, por ejemplo desde http://www.cooking-hacks.com (Libelium Comunicaciones Distribuidas S.L.). En concreto, Arduino UNO cuesta unos 22,00 euros:

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

Por otro lado, para este proyecto hardware de ejemplo con Arduino UNO usaremos un LED que cuesta unos 0,20 euros:

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

Para la conexión del Arduino UNO con el PC usaremos un cable USB de tipo A-B:

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

Si no usáramos el pin digital 13 de Arduino para conectar el LED necesitaríamos una resistencia de unos 200 ohmios (el valor estándar más cercano es de 220 ohmios), el cálculo:

  • Un LED normal necesita de entre 5 y 20 mA para encenderse, por lo que necesitaremos unos 15mA para que el LED luzca bien.
  • La alimentación del Arduino UNO es de 5 voltios.
  • En el LED caerán 2 voltios.
  • En la resistencia deben caer unos 3 voltios.

Por lo tanto:

5 - 2 = 3 voltios de tensión

Aplicando la ley de Ohm (Tensión = Intensidad * Resistencia):

V = I * R

Puesto que conocemos V e I podremos calcular R:

R = V / I

Con los valores:

R = 3 / 0.015 = 200 ohmios

(donde "0.015" serán los 15mA que necesita el LED pasados a amperios)

Por lo tanto necesitaremos la resistencia del mercado que más se aproxime a 200 ohmios, que es una de 220 ohmios:

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

La resistencia iría conectada a la pata más larga del LED, la positiva (cátodo), algo así:

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

Pero en nuestro caso no usaremos una resistencia externa pues conectaremos el LED al pin digital 13 de Arduino que ya incorpora en placa dicha resistencia:

Adquisición del hardware necesario: Arduino UNO, cable USB tipo A-B y LED

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

Para poder programar el Arduino UNO usaremos el propio IDE que proporciona Arduino, podremos descargar la última versión desde:

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

Actualmente podremos descargar la versión 0022 de Arduino IDE, para el caso de Windows el fichero arduino-0022.zip de 86 MB. Descomprimiremos el fichero descargado en una carpeta. Esta carpeta contiene tanto el IDE de desarrollo de Arduino como los drivers (controladores) para la conexión USB en Windows.

Tras descargar el fichero y descomprimirlo, en el caso de Linux no será necesario instalar drivers, pero en el caso de Microsoft Windows 7 deberemos instalar los controladores para el emulador de puerto USB a puerto serie. Aunque Arduino se conecta al PC mediante el puerto USB en realidad, internamente, emula un puerto serie, por ello, en Microsoft Windows 7 realizaremos los siguientes pasos para instalar los drivers:

1. Conectaremos Arduino UNO al PC mediante el cable USB de tipo A-B:

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

2. Microsoft Windows 7 detectará el dispositivo e intentará instalar los drivers:

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

3. No encontrará los drivers, por lo que dará error. No será problema, lo ignoraremos:

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

4. Accederemos al botón "Inicio" - "Panel de control":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

5. Pulsaremos en "Hardware y sonido":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

6. Pulsaremos en "Administrador de dispositivos":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

7. En la ventana del Administrador de dispositivos, en "Otros dispositivos" nos mostrará con admiración "Arduino Uno", pulsaremos con el botón derecho del ratón y seleccionaremos "Actualizar software de controlador":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

8. Pulsaremos en "Buscar software de controlador en el equipo. Buscar e instalar el software de controlador de forma manual":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

9. Pulsaremos en el botón "Examinar" para seleccionar la carpeta donde se encuentran los drivers:

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

10. Seleccionaremos la carpeta "arduino-0022" (descomprimida anteriormente) y, dentro de esta, la carpeta "drivers":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

11. Pulsaremos "Siguiente":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

12. El asistente para instalar un nuevo controlador nos mostrará un aviso de seguridad, pulsaremos "Instalar este software de controlador de todas formas":

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

13. Si todo es correcto, el asistente nos habrá instalado el controlador para Arduino UNO y nos mostrará la siguiente ventana:

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

14. En el Administrador de dispositivos de Microsoft Windows 7 nos mostrará el nuevo controlador instalado, en "Puertos (COM y LPT)". Es importante que anotemos el nombre asignado al puerto COM para Arduino, en nuestro caso COM3, pues lo necesitaremos seleccionar en el IDE de Arduino:

Instalación software IDE de desarrollo y controladores para conectar Arduino con un PC con Windows 7

Primera ejecución del IDE de Arduino y configuración inicial para desarrollar proyectos hardware

Tras instalar el controlador de Arduino, ahora realizaremos una primera ejecución para configurar el IDE de desarrollo, pulsaremos con el botón derecho del ratón sobre el ejecutable "arduino.exe" de la carpeta descomprimida anteriormente y seleccionaremos "Ejecutar como administrador" (no es necesario, pero así evitamos posibles problemas de limitaciones de Microsoft Windows 7):

Primera ejecución del IDE de Arduino y configuración inicial para desarrollar proyectos hardware

En el IDE de desarrollo de Arduino, en primer lugar seleccionaremos el tipo de dispositivo (Board). Para ello pulsaremos en el menú "Tools" - "Board" y seleccionaremos "Arduino Uno" (o el que hayamos adquirido):

Primera ejecución del IDE de Arduino y configuración inicial para desarrollar proyectos hardware

Seleccionaremos también el puerto serie asignado al controlador de Arduino (en nuestro caso COM3), para ello accederemos al menú "Tools" - "Serial Port" - "COM3":

Primera ejecución del IDE de Arduino y configuración inicial para desarrollar proyectos hardware

Primer proyecto hardware con Arduino UNO, encender un LED

Una vez adquirido Arduinoconectado al PC y configurado el IDE, vamos a explicar cómo realizar una primera aplicación en Arduino IDE y cómo enviarla al dispositivo y testearla. Como ya hemos comentado encenderemos un LED, si no disponemos de un LED no es problema pues la placa de Arduino UNO incorpora un LED que nos serviría para las pruebas:

Primer proyecto hardware con Arduino UNO, encender un LED

Si disponemos de un LED conectaremos la pata más larga (positivo ó cátodo) al ping digital 13 de Arduino y la pata más corta al ping GND más cercano al 13:

Primer proyecto hardware con Arduino UNO, encender un LED

El LED quedará conectado directamente a los conectores del Arduino, lo más profesional es usar una placa prototipo y conectar ahí el LED y, a su vez, conectar la placa prototipo al Arduino con sus cables correspondientes.

El LED conectado directamente al Arduino:

Primer proyecto hardware con Arduino UNO, encender un LED

Con una placa prototipo y usando una resistencia sería algo así:

Primer proyecto hardware con Arduino UNO, encender un LED

Pero, repetimos, para realizar un ejemplo básico no es necesaria ni la resistencia, ni la placa prototipo o incluso ni el LED, pues Arduino UNO ya incorpora una resistencia en el ping 13 y un LED incorporado en placa.

Abriremos el IDE de desarrollo de Arduino, abriremos una aplicación de ejemplo que incluye el propio Arduino para encender y apagar un LED, para ello accederemos al menú "File" - "Examples" - "Basics" - "Blink":

Primer proyecto hardware con Arduino UNO, encender un LED

Se abrirá el siguiente programa, cada línea está comentada explicando para qué sirve:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */

void setup() {                
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);     
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}

Pulsaremos en el botón "Verify" para compilar el código C++ y verificar que es correcto:

Primer proyecto hardware con Arduino UNO, encender un LED

En la parte inferior indicará si la compilación ha sido correcta con "Done compiling" o si ha habido algún error (en cuyo caso no podremos enviarlo a Arduino):

Primer proyecto hardware con Arduino UNO, encender un LED

Para enviar el programa al dispositivo Arduino conectado al PC y probarlo directamente pulsaremos en el botón "Upload":

Primer proyecto hardware con Arduino UNO, encender un LED

Si el envío por el puerto establecido se ha realizado correctamente al dispositivo Arduino, en la parte inferior mostrará "Done uploading":

Primer proyecto hardware con Arduino UNO, encender un LED

Si todo es correcto, cada segundo se encenderá el LED y se apagará otro segundo, así sucesivamente pues hemos usado un "loop":

Primer proyecto hardware con Arduino UNO, encender un LED

Alimentación eléctrica para Arduino UNO

En el proyecto de ejemplo que hemos realizado hemos alimentado el Arduino mediante el cable USB conectado al PC, obviamente, si desconectamos este cable el Arduino se apagará. Para alimentarlo sin PC necesitaremos un adaptador de +12V con un conector como el que se muestra en la imagen:

Alimentación eléctrica para Arduino UNO

Conectándolo a la corriente eléctrica y al Arduino el programa que hemos cargado se iniciará y se encenderá y apagará el LED, esto es debido a que Arduino cuenta con una memoria para alojar el programa enviado y así poder ejecutarlo cuando se enciende (si así se ha programado):

Alimentación eléctrica para Arduino UNO

Por supuesto, Arduino puede ser alimentado eléctrimante de muchas otras formas, por ejemplo con placas solares y una batería:

Alimentación eléctrica para Arduino UNO

Comments