ARDUINO Investigación
ARDUINO Investigación
ARDUINO Investigación
DEL
ESTADO
DE
HIDALGO
ELECTRNICA BSICA
INVESTIGACIN: ARDUINO
Debido a la necesidad de conocer de donde es que surge el hardware-open source Arduino y todos los misterios que le rodean es necesario investigar sobre este dispositivo. Dando a conocer toda la informacin posible para que otros puedan conocerlo y animarse a trabajar con l. Una de los principales problemas es que no sabemos qu es?, de ah nos surgen otra serie de preguntas que deseamos conocer sus respuestas; cmo funciona?, para que sirve?, sus caractersticas, aplicaciones; por ello esta investigacin que ayudar a conocer la plataforma de arduino.
OBJETIVO:
El objetivo es adquirir conocimiento nuevo del arduino, que ayude a comprender la plataforma y aproxime al lector a esta plataforma y s anime a usarla para que desarrolle sus propias creaciones haciendo uso de todas sus capacidades intelectuales que posee.
INTRODUCCIN:
Arduino naci debido a la necesidad de crear una herramienta para los estudiantes, que fuera moderna, fcil de utilizar y de bajo costo, Massimo Banzi. El proyecto se vio apresurado cuando el Instituto de Diseo Interactivo de Ivrea (IDII) se estaba quedando sin fondos e iba a cerrar sus puertas. As fue como todo se apresur para que el proyecto no se quedara solo en una idea o que el proyecto no sobreviviera y pudiese ser objeto de apropiacin indebida.
El nombre de Arduino surgi en la ciudad de Ivrea, famosa por sus reyes de desamparados. En 1002, rey Arduin se convirti en el gobernante del pas. Hoy, el Bar di Re Arduino, un pub en una calle de la ciudad, Cobblestoned rinde homenaje a su memoria, y es donde naci un nuevo rey improbable. El bar es frecuentado por Massimo Banzi, el italiano cofundador del proyecto electrnica que llam Arduino en honor del lugar. Arduino es un micro controlador de bajo costo lanzado en agosto de 2005 el cual permite incluso a un novato hacer cosas realmente increbles. Al arduino se le puede conectar todo tipo de sensores, luces, motores y otros dispositivos y utilizar, aprender software para programar cmo se comportar la creacin. Todos los esquemas de hardware y cdigo fuente estn disponibles gratuitamente bajo licencias pblicas. Como resultado, Arduino se ha convertido en el movimiento de hardware de cdigo abierto ms influyente de su poca.
ANTECEDENTES
Arduino empez como un proyecto que se hizo en el instituto de diseo interactivo de Ivrea en el ao 2005, dirigido por Massimo Banzi, un profesor del instituto. Uno de los
creadores se inspiro en otros proyectos que se haban trabajado porque se pretenda hacer una herramienta para los estudiantes que fuera mas moderna que las que estaban disponibles en el mercado, sobre todo porque la herramienta que se usaba es ese entonces era una plataforma llamada BASIC Stamp, que en Italia costaba aproximadamente 76 euros, resultaba muy caro para los estudiantes porque no queran gastar dinero en comprar muchas placas as de caras. Comenzaron a buscando posibles alternativas; adems de que ya se estaba trabajando con Processing, el lenguaje de programacin e intentaron descubrir un Processing para el Hardware, de esta forma se trabaj con un estudiante que hizo una tesis sobre el tema, y se lleg a la plataforma Wiring. Hernando Barragn, un estudiante colombiano, trabajo en ello. Despus de que Barragn hiciera Wiring, se comenz a pensar en como hacer toda la plataforma an ms simple, barata y fcil de usar. Bsicamente se re implemento todo como un proyecto open source para que todo el mundo pudiera contribuir. Otro de los impulsos de este proyecto fue que la escuela iba a cerrar, as que sus inventores decidieron avanzar lo ms rpido posible en la plataforma.
Qu es arduino? Es una plataforma electrnica de hardware programable muy flexible y fcil de usar; basada en Wiring con entradas y salidas, analgicas y digitales que conecta el mundo fsico con el mundo virtual, o el mundo analgico con el digital. Arduino puede tomar informacin del entorno a travs de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El entorno de desarrollo que implementa el lenguaje de programacin es
Processing/Wiring, se puede descargar gratuitamente y el hardware se puede montar a mano o comprarlo pre ensamblado puesto que es open source. A continuacin se describe lo que posee arduino uno:
14 entrada/salida digitales, de los cuales 6 pueden se usados como salidas PWM Posee 6 entradas analgicas Los pin 0 y 1 pueden funcionar como RX y TX serial. Un oscilador de cristal de 16 MHz Conector USB Un Jack de poder Una conector ICSP Botn de Reset
Arduino tiene todo lo que se necesita para manejar el controlador, simplemente se conecta a un computador por medio del cable USB o se puede alimentar utilizando una batera o un adaptador AC-DC. Si se conecta por USB, la alimentacin externa no es necesaria. Para programar slo se necesita el IDE de Arduino que se puede conseguir en la pgina oficial.
Sus especificaciones son: Microcontrolador Voltaje al que opera Voltaje de entrada(recomendado) Voltaje (limite) Digital I/O Pins Pines de entrada analgica Corriente de I/O Pin Corriente continua de 3.3V Pin Memoria Flash SRAM EEPROM Velocidad de reloj ATmega328 5V 7-12 V 6-20 V 14 (of which 6 provide PWM output) 6 40 mA 50 mA 32 KB (de los cuales 0,5 MB son utilizados por
gestor de arranque)
2 KB 1 KB 16 MHz
Las Entradas analgicas son de 10 bits, por lo que entregan valores entre 0 y 1023. El rango de voltaje est dado entre 0 y 5 volts, pero utilizando el pin AREF disponible, este rango se puede variar a algn otro deseado.
Tipos de arduino Debido a la gran aceptacin del pblico fue necesario crear otros modelos que satisficieran las necesidades de los usuarios as es como surge una gama de modelos de arduino. Arduino Duemilanove/UNO Arduino Mega Arduino Mini Arduino Nano Arduino Lilypad Arduino Bluetooth Arduino Fio
Arduino Duemilanove
El Arduino Duemilanove ("2009") es una placa con microcontrolador basada en el ATmega168 o el ATmega328, Tiene 14 pines con entradas/salidas digitales (6 de las cuales pueden ser usadas como salidas PWM), 6 entradas analgicas, un cristal oscilador a 16 MHz, conexin USB, entrada de alimentacin, una cabecera ISCP, y un botn de reset. Contiene todo lo necesario para utilizar el microcontrolador; simplemente es necesario conectarlo al ordenador a travs del cable USB o alimntalo con un transformador o una batera para empezar a trabajar con el.
Especificaciones:
Microcontrolador Voltaje de funcionamiento Voltaje de entrada (recomendado) Voltaje de entrada (limite) Pines E/S digitales Pines de entrada analgica Intensidad por pin Intensidad en pin 3.3V Memoria Flash SRAM EEPROM Velocidad de reloj Alimentacin
7-12V
6-20V 14 (6 proporcionan salida PWM) 6 40 mA 50 mA 16 KB (ATmega168) o 32 KB (ATmega328) de las cuales 2 KB las usa el gestor de arranque(bootloader) 1 KB (ATmega168) o 2 KB (ATmega328) 512 bytes (ATmega168) o 1 KB (ATmega328) 16 MHz
El Arduino Duemilanove puede ser alimentado va la conexin USB o con una fuente de alimentacin externa. El origen de la alimentacin se selecciona automticamente. Las fuentes de alimentacin externas pueden ser tanto un transformador o una batera. El transformador se puede conectar usando un conector macho de 2.1mm con centro positivo en el conector hembra de la placa. Los cables de la batera pueden conectarse a los pines Gnd y Vin en los conectores de alimentacin (POWER).
La placa puede trabajar con una alimentacin externa de entre 6 a 20 voltios. Si el voltaje suministrado es inferior a 7V el pin de 5V puede proporcionar menos de 5 Voltios y la placa puede volverse inestable, si se usan mas de 12V los reguladores de voltaje se pueden sobrecalentar y daar la placa. El rango recomendado es de 7 a 12 voltios. Los pines de alimentacin son los siguientes: VIN. La entrada de voltaje a la placa Arduino cuando se esta usando una fuente externa de alimentacin (en opuesto a los 5 voltios de la conexin USB). Se puede proporcionar voltaje a travs de este pin, o, si se esta alimentado a travs de la conexin de 2.1mm, acceder a ella a travs de este pin. 5V. La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros componentes de la placa. Esta puede provenir de VIN a travs de un regulador integrado en la placa, o proporcionada directamente por el USB u otra fuente estabilizada de 5V. 3.3V. Una fuente de voltaje a 3.3 voltios generada en el chip FTDI integrado en la placa. La corriente mxima soportada 50 mA. GND. Pines de toma de tierra. Memoria El ATmega328 tiene 32 KB (el ATmega168 tiene 16 KB) de memoria flash para almacenar cdigo (2 KB son usados para el arranque del sistema (bootloader).El ATmega328 tiene 2 KB (Atmega168 1 KB) de memoria SRAM . El ATmega328 tiene 1KB (ATmega168 512 bytes) de EEPROM, que puede a la cual se puede acceder para leer o escribir con la [Reference/EEPROM |librera EEPROM]]. Entradas y Salidas Cada uno de los 14 pines digitales en el Duemilanove pueden utilizarse como entradas o como salidas usando las funciones pinMode(), digitalWrite(), y digitalRead() . Las E/S operan a 5 voltios. Cada pin puede proporcionar o recibir una intensidad mxima de 40 mA y tiene una resistencia interna (desconectada por defecto) de 20-50 kOhms. Adems, algunos pines tienen funciones especializadas:
Serie: 0 (RX) y 1 (TX). Usado para recibir (RX) transmitir (TX) datos a travs de puerto serie TTL. Estos pins estn conectados a los pines correspondientes del chip FTDI USB-toTTL. Interrupciones Externas: 2 y 3. Estos pines se pueden configurar para lanzar una interrupcin en un valor LOW (0 V), en flancos de subida o bajada (cambio de LOW a HIGH (5 V) o viceversa), o en cambios de valor PWM: 3, 5, 6, 9, 10, y 11. Proporciona una salida PWM (Pulse Wave Modulation, modulacin de onda por pulsos) de 8 bits de resolucin (valores de 0 a 255) a travs de la funcin analogWrite(). SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines proporcionan comunicacin SPI, que a pesar de que el hardware la proporcione actualmente no esta incluido en el lenguaje Arduino. LED: 13. Hay un LED integrado en la placa conectado al pin digital 13, cuando este pin tiene un valor HIGH(5 V) el LED se enciende y cuando este tiene un valor LOW(0V) este se apaga. El Duemilanove tiene 6 entradas analgicas, y cada una de ellas proporciona una resolucin de 10 bits (1024 valores). Por defecto se mide de tierra a 5 voltios, aunque es posible cambiar la cota superior de este rango usando el pin AREF y la funcin analogReference(). Adems algunos pines tienen funciones especializadas: I2C: 4 (SDA) y 5 (SCL). Soporte del protocolo de comunicaciones I2C (TWI) usando la librera Wire. Hay unos otros pines en la placa: AREF. Voltaje de referencia para las entradas analgicas. Usado poranalogReference(). Reset. Suministrar un valor LOW (0 V) para reiniciar el microcontrolador. Tpicamente usado para aadir un botn de reset a los shields que no dejan acceso a este botn en la placa.
Comunicaciones EL Arduino Duemilanove facilita en varios aspectos la comunicacin con el ordenador, otro Arduino u otros microcontroladores. Tanto el ATmega328 como el Atmega168 proporciona comunicacin va serie UART TTL (5V), disponible a travs de los pines digitales 0(RX) y 1(TX). Un chip FTDI FT232RL integrado en la placa canaliza esta comunicacin serie a travs del USB y los drivers FTDI (incluidos en el software de Arduino) proporcionan un puerto serie virtual en el ordenador. El software incluye un monitor de puerto serie que permite enviar y recibir informacin textual de la placa Arduino. Los LEDS RX y TX de la placa parpadearan cuando se detecte comunicacin transmitida travs del chip FTDI y la conexin USB (no parpadearan si se usa la comunicacin serie a travs de los pines 0 y 1). La librera SoftwareSerial permite comunicacin serie por cualquier par de pines digitales del Duemilanove. Tanto el ATmega168 y ATmega328 tambin soportan la comunicacin I2C (TWI) y SPI. El software de Arduino incluye una librera Wire para simplificar el uso el bus I2C. Programacin El ATmega328 y el ATmega168 en las placas Arduino Duemilanove viene precargado con un gestor de arranque (bootloader) que permite cargar nuevo cdigo sin necesidad de un programador por hardware externo. Se comunica utilizando el protocolo STK500. Tambin se te puede saltar el gestor de arranque y programar directamente el microcontrolador a travs del puerto ISCP (In Circuit Serial Programming). Reinicio Automtico (Software) En vez de necesitar reiniciar presionando fsicamente el botn de reset antes de cargar, el Arduino Duemilanove esta diseado de manera que es posible reiniciar por software desde el ordenador donde este conectado. Una de las lneas de control de flujo (DTR) del FT232RL esta conectada a la lnea de reinicio del ATmega328 o ATmega168 a travs de
un condensador de 100 nano faradios. Cuando la lnea se pone a LOW(0V), la lnea de reinicio tambin se pone a LOW el tiempo suficiente para reiniciar el chip. El software de Arduino utiliza esta caracterstica para permitir cargar los sketches con solo apretar un botn del entorno. Dado que el gestor de arranque tiene un lapso de tiempo para ello, la activacin del DTR y la carga del sketch se coordinan perfectamente. Esta configuracin tiene otras implicaciones. Cuando el Duemilanove se conecta a un ordenador con Mac OS X o Linux, esto reinicia la placa cada vez que se realiza una conexin desde el software (va USB). El medio segundo aproximadamente posterior, el gestor de arranque se esta ejecutando. A pesar de estar programado para ignorar datos mal formateados (ej. cualquier cosa que la carga de un programa nuevo) intercepta los primeros bytes que se envan a la placa justo despus de que se abra la conexin. Si un sketch ejecutndose en la placa recibe algn tipo de configuracin inicial u otro tipo de informacin al inicio del programa, asegrate que el software con el cual se comunica espera un segundo despus de abrir la conexin antes de enviar los datos. El Duemilanove contiene una pista que puede ser cortada para deshabilitar el auto-reset. Las terminaciones a cada lado pueden ser soldadas entre ellas para rehabilitarlo. Estn etiquetadas con "RESET-EN". Tambin se puede deshabilitar el auto-reset conectando una resistencia de 110 ohms desde el pin 5V al pin de reset. Proteccin contra sobretensiones en USB El Arduio Duemilanove tiene un multifusible reinicializable que protege la conexin USB del ordenador de cortocircuitos y sobretensiones. A aparte que la mayora de ordenadores proporcionan su propia proteccin interna, el fusible proporciona una capa extra de proteccin. Si mas de 500 mA son detectados en el puerto USB, el fusible automticamente corta la conexin hasta que el cortocircuito o la sobretensin desaparece.
Arduino Mega
El Arduino Mega es una placa microcontrolador basada ATmeg1280. Tiene 54 entradas/salidas digitales (de las cuales 14 proporcionan salida PWM), 16 entradas digitales, 4 UARTS (puertos serie por hardware), un cristal oscilador de 16MHz, conexin USB, entrada de corriente, conector ICSP y botn de reset. Contiene todo lo necesario para hacer funcionar el microcontrolador; simplemente se conecta al ordenador con el cable USB o se alimenta con un trasformador o batera para empezar. El Mega es compatible con la mayora de shields diseados para el Arduino Duemilanove o Diecimila. Especificaciones Microcontrolador Voltaje de funcionamiento Voltaje de entrada (recomendado) Voltaje de entrada (limite) Pines E/S digitales Pines de entrada analgica Intensidad por pin Intensidad en pin 3.3V Memoria Flash ATmega1280 5V 7-12V 6-20V 54 (14 proporcionan salida PWM) 16 40 mA 50 mA 128 KB de las cuales 4 KB las usa el gestor de
Arduino Mini
Figura 4.
Arduino Mega
Arduino Mini es una placa con un pequeo microcontrolador basada en el ATmega168, pensada para ser usada en placas de prototipo y donde el espacio es un bien escaso. Cuenta con 14 entradas/salidas digitales (de las cuales 6 pueden ser usadas como salidas PWM), 8 entradas analgicas y un cristal de 16 MHZ. Puede ser programada con el adaptador Mini USB u otros adaptadores USB o RS232 a TTL serial El Arduino mini no se alimenta el con ms de 9 voltios, y no se conecta la alimentacin al revs.
Especificaciones Microcontrolador Voltaje de funcionamiento Voltaje de entrada Pines E/S digital Pines entrada analgica DC Corriente continua por pin E/S Memoria Flash SRAM EEPROM Velocidad de reloj ATmega168 5V 7-9 V 14 (de las cuales 6 pueden ser usadas como salidas PWM) 8 (de las cuales 4 se extienden en pines) 40 mA 16 KB (de las cuales 2 KB son usadas por el bootloader) 1 KB 512 bytes 16 MHz
Arduino Nano
El Arduino Nano es una pequea y completa placa basada en el ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x) que se usa conectndola a una protoboard. Tiene ms o menos la misma funcionalidad que el Arduino Duemilanove, pero con una presentacin diferente. No posee conector para alimentacin externa, y funciona con un cable USB Mini-B en vez del cable estndar. El nano fue diseado y est siendo producido por Gravitech.
Especificaciones: Microcontrolador Tensin de Operacin (nivel lgico) Tensin de Entrada (recomendado) Tensin de Entrada (lmites) Pines E/S Digitales Entradas Analgicas Atmel ATmega168 o ATmega328 5V 7-12 V 6-20 V 14 (de los cuales 6 proveen de salida PWM 8
40 mA 16 KB (ATmega168) o 32 KB (ATmega328) de los cuales 2KB son usados por el bootloader 1 KB (ATmega168) o 2 KB (ATmega328) 512 bytes (ATmega168) o 1 KB (ATmega328) 16 MHz 18,5mm x 43.2mm
Memoria Flash
LilyPad Arduino
El LilyPad Arduino es una placa con microcontrolador diseado para prendas y e-textiles. Puede utilizar con complementos similares como fuentes de alimentacin, sensores actuadores unidos por hilo conductor. La placa esta basada en el ARmega168V (la versin de baja consumo del ATmega168, o el ATmega328V. El LilyPad Arduino ha sido diseado y desarrollado por Leah Buechley y SparkFun Electronics.
El LilyPad Arduino no se alimenta con ms de 5,5 voltios, ni se invierte la polaridad al conectarlo porque se daara. Especificaciones: Microcontrolador Voltaje de funcionamiento Voltaje de entrada Pines E/S Digitales Pines Entradas Analgicas Input Pins Intensidad por pin ATmega168V o ATmega328V 2.7-5.5 V 2.7-5.5 V 14 (de las cuales 6 proporcionan salida PWM)
40 mA 16 KB (de las cuales 2 KB las usa el gestor de arranque(bootloader)) 1 KB 512 bytes 8 MHz
Memora Flash
Arduino BT El Arduino BT es una placa Arduino con el mdulo Blueetooh incorporado, que permite la comunicacin inalmbrica. Adems, tiene otras diferencias con un Arduino NG:
El uso de un convertidor DC-DC, lo que permite que la placa sea alimentada con un mnimo de 1,2 V, pero con un mximo de 5,5 V. Los voltajes superiores o la polaridad invertida en la fuente de alimentacin estropeara la placa. Un ATmega168 para montaje en superficie (como con el Arduino Mini). Esto duplica la cantidad de espacio disponible para los sketches y agrega tres pines PWM ms y dos entradas analgicas. El Pin 7 est conectado al pin de reinicio (reset) del mdulo bluetooth. Utiliza slo la comunicacin serie a 115200 baudios, que es la velocidad a la que el mdulo ha sido configurado para usar.
Arduino Fio
El Arduino Fio es una placa para microcontrolador basada en el ATmega328P. Funciona a 3.3V y 8 MHz. Tiene 14 pines de E/S digitales (de los cuales 6 pueden usarse como salidas PWM), 8 entradas analgicas, un resonador en placa, un botn de reinicio (reset), y agujeros para montar conectores de pines. Tiene conexiones para una batera de polmero de Litio e incluye un circuito de carga a travs de USB. En el reverso de la placa tiene disponible un zcalo para mdulos XBee. El Arduino FIO est diseado para aplicaciones inalmbricas. El usuario puede subir sus sketches con un cable FTDI o una placa adicional adaptadora Sparkfun. Adems, si utiliza un adaptador de USB a XBee modificado, como el USB Explorador de XBee, el usuario
puede subir sketches de forma inalmbrica. La tarjeta viene sin conectores pre-montados, permitiendo el uso de diversos tipos de conectores o la soldadura directa de los cables. Especificaciones: Microcontrolador Voltaje de trabajo Voltaje de Entrada ATmega328P 3.3V 3.35 -12 V
Voltaje de Entrada en Carga 3.7 - 7 V Pines E/S Digital 14 (of which 6 provide PWM output)
Pines de Entrada Analgica 8 Corriente DC por pin E/S Memoria Flash SRAM EEPROM Frecuencia de Reloj 40 mA 32 KB (of which 2 KB used by bootloader) 2 KB 1 KB 8 MHz
Tambin existen los llamados Arduino Shields, complementos para ampliar y mejorar las caractersticas de cada placa, aadiendo conexin inalmbrica, conexin Ethernet o mdulos para controlar motores. Estas placas se programan con el software de Arduino. A travs del entorno podemos escribir el cdigo, depurarlo y cargarlo a la placa para realizar nuestros proyectos.
Aplicaciones No hay una aplicacin especifica por mencionar porque con arduino ya existen un sin numero de proyectos desarrollados con esta plataforma. Principalmente hay proyectos de diseo interactivo, sin embargo ya que tiene la caracterstica de ser muy flexible la han empleado para crear prototipos robticos, entre muchos otros que son realmente sorprendentes. El nico lmite tal vez para crear una aplicacin se a la imaginacin.
Referencias