INTRODUCCIN Qu es ARDUINO? Arduino es una plataforma de prototipos electrnica de cdigo abierto (open-source) basada en hardware y software flexibles y fciles de usar. Est pensado para artistas, diseadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Arduino puede _sentir_ el entorno mediante la recepcin de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language (basado en Wiring) y el Arduino Development Environment (basado en Processing). Los proyectos de Arduino pueden ser autnomos o se pueden comunicar con software en ejecucin en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.). Las placas se pueden ensamblar a mano3 o encargarlas preensambladas4; el software se puede descargar5 gratuitamente. Los diseos de referencia del hardware (archivos CAD) estn disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades. Arduino recibi una mencin honorfica en la seccin Digital Communities del Ars Electrnica Prix en 2006. Por qu ARDUINO? Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para computacin fsica. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, y muchas otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados detalles de la programacin de microcontrolador y la encierran en un paquete fcil de usar. Arduino tambin simplifica el proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para profesores, estudiantes y accionados interesados sobre otros sistemas: Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas microcontroladoras. La versin menos cara del mdulo Arduino puede ser ensamblada a mano, e incluso los mdulos de Arduino preensamblados cuestan menos de 50$. Multiplataforma: El software de Arduino se ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. La mayora de los sistemas microcontroladores estn limitados a Windows. Entorno de programacin simple y claro: El entorno de programacin de Arduino es fcil de usar para principiantes, pero suficientemente flexible para que usuarios avanzados puedan aprovecharlo tambin. Para profesores, est convenientemente basado en el entorno de programacin Processing, de manera que estudiantes aprendiendo a programar en ese entorno estarn familiarizados con el aspecto y la imagen de Arduino. ARDUINO UNO Pgina 2 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Cdigo abierto y software extensible: El software Arduino est publicado como herramientas de cdigo abierto, disponible para extensin por programadores experimentados. El lenguaje puede ser expandido mediante librerias C++, y la gente que quiera entender los detalles tcnicos pueden hacer el salto desde Arduino a la programacin en lenguaje AVR C en el cual est basado. De forma similar, puedes aadir cdigo AVR-C directamente en tus programas Arduino si quieres. Cdigo abierto y hardware extensible: El Arduino est basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel. Los planos para los mdulos estn publicados bajo licencia Creative Commons, por lo que diseadores experimentados de circuitos pueden hacer su propia versin del mdulo, extendindolo y mejorndolo. Incluso usuarios relativamente inexpertos pueden construir la versin de la placa del mdulo para entender cmo funciona y ahorrar dinero. HARDWARE Hay mltiples versiones de la placa Arduino. La mayora usan el ATmega168 de Atmel, mientras que las placas ms antiguas usan el ATmega8. Nota: Los diseos de referencia para Arduino se distribuyen bajo licencia Creative Commons Attribution-ShareAlike PLACAS E/S Diecimila: Esta es la placa Arduino ms popular. Se conecta al ordenador con un cable estndar USB y contiene todo lo que necesitas para programar y usar la placa. Puede ser ampliada con variedad de dispositivos: placas hijas con caractersticas especficas. Nano: Una placa compacta diseada para uso como tabla de pruebas, el Nano se conecta al ordenador usando un cable USB Mini-B. Bluetooth: El Arduino BT contiene un mdulo bluetooth que permite comunicacin y programacin sin cables. Es compatible con los dispositivos Arduino. LilyPad: Diseada para Paplicaciones listas para llevarQ, esta placa puede ser conectada en fbrica, y un estilo sublime. Mini: Esta es la placa ms pequea de Arduino. Trabaja bien en tabla de pruebas o para aplicaciones en las que prima el espacio. Se conecta al ordenador usando el cable Mini USB. Serial: Es una placa bsica que usa RS232 como un interfaz con el ordenador para programacin y comunicacin. Esta placa es fcil de ensamblar incluso como ejercicio de aprendizaje. Serial Single Sided: Esta placa est diseada para ser grabada y ensamblada a mano es ligeramente ms grande que la Diecimila, pero aun compatible con los dispositivos. ARDUINO UNO Pgina 3 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
ARDUINO, PLATAFORMA DE HARDWARE LIBRE, INSTALACION y CONFIGURACION. Mostramos una foto de Arduino, en concreto del modelo UNO, en una mano para apreciar la escala:
Vista en detalle de Arduino UNO en su parte superior:
Frontal del Arduino UNO (conector USB y alimentacin elctrica):
Parte trasera del Arduino UNO: ARDUINO UNO Pgina 4 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Algunos sensores que se pueden conectar a Arduino: temperatura, humedad, baromtrico, acelermetro, alcoholmetro, infrarojos, comps, giroscopio, capacitivo, corriente, distancia, fuerza, movimiento, proximidad, ptico, sonido, etc.
Por supuesto, tambin se le pueden conectar a Arduino una serie de mdulos para dotarlo de funcionalidades extra como: mdem 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), mdulo Bluetooth, mdulo GPS, control de rels, RGB LED, pantalla OLED, conectividad Wifi, sintonizador digital FM, etc. En la imagen un mdulo GPRS Quadband: ARDUINO UNO Pgina 5 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
La parte de atrs del mdulo GPRS acoplable para Arduino UNO:
Conectar Arduino UNO a un PC con W7, instalar y configurar Arduino IDE Adquisicin del hardware necesario: Arduino UNO, cable USB tipo A-B y LED, conectaremos Arduino UNO a un PC con cable USB y enviaremos un programa a Arduino para que encienda un LED. ARDUINO UNO Pgina 6 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
En primer lugar necesitaremos, obviamente, adquirir el Arduino UNO.
Por otro lado, para este proyecto hardware de ejemplo con Arduino UNO usaremos un LED.
Para la conexin del Arduino UNO con el PC usaremos un cable USB de tipo A-B:
ARDUINO UNO Pgina 7 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Si no usramos el pin digital 13 de Arduino para conectar el LED necesitaramos una resistencia de unos 200 ohmios (el valor estndar ms cercano es de 220 ohmios), el clculo: 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 alimentacin del Arduino UNO es de 5 voltios. En el LED caern 2 voltios. En la resistencia deben caer unos 3 voltios. Por lo tanto: 5 - 2 = 3 voltios de tensin Aplicando la ley de Ohm (Tensin = 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" sern los 15mA que necesita el LED pasados a amperios) Por lo tanto necesitaremos la resistencia del mercado que ms se aproxime a 200 ohmios, que es una de 220 ohmios:
La resistencia ira conectada a la pata ms larga del LED, la positiva (ctodo), algo as:
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:
ARDUINO UNO Pgina 8 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Instalacin 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 versin desde: http://arduino.cc/en/Main/Software Actualmente podremos descargar la versin 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 conexin 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:
2. Microsoft Windows 7 detectar el dispositivo e intentar instalar los drivers:
3. No encontrar los drivers, por lo que dar error. No ser problema, lo ignoraremos:
ARDUINO UNO Pgina 9 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
4. Accederemos al botn "Inicio" - "Panel de control":
5. Pulsaremos en "Hardware y sonido":
6. Pulsaremos en "Administrador de dispositivos":
ARDUINO UNO Pgina 10 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
7. En la ventana del Administrador de dispositivos, en "Otros dispositivos" nos mostrar con admiracin "Arduino Uno", pulsaremos con el botn derecho del ratn y seleccionaremos "Actualizar software de controlador":
8. Pulsaremos en "Buscar software de controlador en el equipo. Buscar e instalar el software de controlador de forma manual":
ARDUINO UNO Pgina 11 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
9. Pulsaremos en el botn "Examinar" para seleccionar la carpeta donde se encuentran los drivers:
10. Seleccionaremos la carpeta "arduino-0022" (descomprimida anteriormente) y, dentro de esta, la carpeta "drivers":
12. El asistente para instalar un nuevo controlador nos mostrar un aviso de seguridad, pulsaremos "Instalar este software de controlador de todas formas":
13. Si todo es correcto, el asistente nos habr instalado el controlador para Arduino UNO y nos mostrar la siguiente ventana:
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: ARDUINO UNO Pgina 13 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Primera ejecucin del IDE de Arduino y configuracin inicial para desarrollar proyectos hardware tras instalar el controlador de Arduino, ahora realizaremos una primera ejecucin para configurar el IDE de desarrollo, pulsaremos con el botn derecho del ratn 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):
ARDUINO UNO Pgina 14 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
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):
Seleccionaremos tambin el puerto serie asignado al controlador de Arduino (en nuestro caso COM3), para ello accederemos al men "Tools" - "Serial Port" - "COM3":
Primer proyecto hardware con Arduino UNO, encender un LED Una vez conectado al PC y configurado el IDE, vamos a realizar una primera aplicacin en Arduino IDE y cmo 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 servira para las pruebas: ARDUINO UNO Pgina 15 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Si disponemos de un LED conectaremos la pata ms larga (positivo o ctodo) al ping digital 13 de Arduino y la pata ms corta al ping GND ms cercano al 13:
El LED quedar conectado directamente a los conectores del Arduino, lo ms 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: ARDUINO UNO Pgina 16 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Con una placa prototipo y usando una resistencia sera algo as:
Pero, repetimos, para realizar un ejemplo bsico 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 aplicacin de ejemplo que incluye el propio Arduino para encender y apagar un LED, para ello accederemos al men "File" - "Examples" - "Basics" - "Blink": ARDUINO UNO Pgina 17 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Se abrir el siguiente programa, cada lnea est comentada explicando para qu sirve: /* EJEMPLO DE ENCENDIDO Y APAGADO DE UAN LED CON ARDUINO UNO. */
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 botn "Verify" para compilar el cdigo C++ y verificar que es correcto: ARDUINO UNO Pgina 18 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
En la parte inferior indicar si la compilacin ha sido correcta con "Done compiling" o si ha habido algn error (en cuyo caso no podremos enviarlo a Arduino):
Para enviar el programa al dispositivo Arduino conectado al PC y probarlo directamente pulsaremos en el botn "Upload":
Si el envo por el puerto establecido se ha realizado correctamente al dispositivo Arduino, en la parte inferior mostrar "Done uploading": ARDUINO UNO Pgina 19 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Si todo es correcto, cada segundo se encender el LED y se apagar otro segundo, as sucesivamente pues hemos usado un "loop":
Alimentacin elctrica 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: ARDUINO UNO Pgina 20 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Conectndolo a la corriente elctrica 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):
ARDUINO UNO Pgina 21 DOCENTE: HUMBERTO AMILCAR QUISPE TICONA
Por supuesto, Arduino puede ser alimentado elctrimante de muchas otras formas, por ejemplo con placas solares y una batera:
En esta imagen mostramos el LED funcionando con dos placas solares conectadas en serie y, a su vez, conectadas al Arduino en su conector de alimentacin elctrica: