Arduino es una plataforma de
prototipos electrónica de código abierto (open-source) basada en hardware y
software flexibles y fáciles de usar. Está pensado para artistas, diseñadores,
como hobby y para cualquiera interesado en crear objetos o entornos
interactivos.
Arduino puede sentir el entorno mediante la recepción 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 autonomos o se pueden comunicar con software en ejecución
en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.).Las placas
se pueden ensamblar a mano o encargarlas preensambladas; el software se puede
descargar gratuitamente. Los diseños de referencia del hardware (archivos CAD)
están disponibles bajo licencia open-source, por lo que eres libre de
adaptarlas a tus necesidades.Arduino recibió una mención honorí ca en la
sección Digital Communities del Ars Electronica Prix en 2006.
¿Por qué Arduino?
Hay muchos
otros microcontroladores y plataformas microcontroladoras disponibles para
computación física. 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 programación de
microcontrolador y la encierran en un paquete fácil de usar. Arduino también
simplifica el proceso de trabajo con microcontroladores, pero ofrece
algunas ventajas para profesores, estudiantes y a aficionados
interesados sobre otros sistemas:
Barato: Las placas Arduino son
relativamente baratas comparadas con otras plataformas microcontroladoras.
La versión menos cara del modulo Arduino puede ser ensamblada a mano, e
incluso los módulos de Arduino preensamblados cuestan menos de 50$.
Multiplataforma: El software de Arduino se
ejecuta en sistemas operativos Windows, Macintosh OSX y GNU/Linux. La
mayoría de los sistemas microcontroladores están limitados a Windows.
Entorno de
programación simple y claro: El
entorno de programación de Arduino es fácil de usar para principiantes,
pero su cientemente flexible para que usuarios avanzados
puedan aprovecharlo también. Para profesores, está convenientemente basado
en el entorno de programación Processing, de manera que estudiantes aprendiendo
a programar en ese entorno estarán familiarizados con el aspecto y la
imagen de Arduino.
Código
abierto y software extensible: El
software Arduino está publicado como herramientas de código abierto,
disponible para extensión por programadores experimentados. El
lenguaje puede ser expandido mediante librerias C++, y la gente que quiera
entender los detalles técnicos pueden hacer el salto desde Arduino a la programación
en lenguaje AVR C en el cual está basado. De forma similar, puedes añadir
código AVR-C directamente en tus programas Arduino si quieres.
Código
abierto y hardware extensible: El
Arduino está basado en microcontroladores ATMEGA8 y ATMEGA168 de Atmel.
Los planos para los módulos están publicados bajo licencia Creative
Commons, por lo que diseñadores experimentados de circuitos pueden
hacer su propia versión del módulo, extendiéndolo y mejorándolo. Incluso
usuarios relativamente inexpertos pueden construir la versión de la placa
del módulo para entender como funciona y ahorrar dinero.
Características Generales
Antes de pasar a la acción y describir una a una las
placas de Arduino y sus compatibles correspondientes, me gustaría escribir
sobre una serie de datos importantes que condicionan la elección de
la placa Arduino según el uso que le vayamos a dar.
Lo principal que debemos saber es que tipo de proyectos
vamos a implementar. Con esto nos da una idea de lacantidad de pines analógicos
y digitales (normales y de tipo PWM o modulados por ancho de pulso para simular
una salida analógica) que necesitamos para nuestro trabajo. Este primer
escrutinio nos permite descartar algunas placas más simples que no tengan
suficientes pines o, al contrario, descartar las de mayor número de ellos para
reducir los costes puesto que con menos pines nos conformamos.
También podemos deducir el tamaño de código que
vamos a generar para nuestros sketchs. Un programa muy largo, con muchas
constantes y variables demandará una cantidad mayor de memoria flash para su
almacenamiento, por lo que se debe elegir una placa adecuada para no quedarnos
cortos.
La RAM será la encargada de cargar los datos para
su inmediato procesamiento, pero no es uno de los mayores escollos, puesto que
esto solo afectaría a la velocidad de procesamiento. La RAM va ligada al
microcontrolador, puesto que ambos afectan a la agilidad de procesamiento de
Arduino.
En los Arduino’s oficiales podemos diferenciar entre dos
tipos fundamentales de microcontroladores, los de 8 y 32 bits basados en
ATmega AVR y los SMART basados en ARM de 32 bits y con un rendimiento superior,
ambos creados por la compañía Atmel. En principio no debes guiarte por tu deseo
de tener un chip de 32 bits, puesto que para la mayoría de proyectos que
implementamos uno de 8 bits basta.
Por último, en cuanto al voltaje, no importan demasiado
a nivel electrónico, excepto en algunos casos, para tener en cuenta la cantidad
de tensión que la placa puede manejar para montar nuestros circuitos. Esto no
supone mayor problema, puesto que una placa de Arduino podría trabajar incluso
con tensiones de 220v en alterna con el uso por ejemplo de relés. Pero cuando
queremos prescindir de una fuente de alimentación externa, hay que tener en
cuenta que este es el voltaje que se puede manejar. Y entre otras cosas marcar
el límite para no destruir la placa con sobretensiones no soportadas. Pero no
confundas el voltaje al que trabaja el microcontrolador y al que funcionan los
periféricos de la placa.
Placas oficiales
De entre las placas oficiales puedes encontrar
multitud de modelos. Todos especialmente pensados para un fin, compatibles con
los shields y módulos oficiales, así como con Arduino IDE. Vamos a intentar
detallar sus principales características para poder diferenciarlos entre sí:
Arduino UNO: es la plataforma más extendida y la primera que
salió al mercado, por ello nos podemos basar en esta para hacer la comparativa
con el resto de placas. Todas las características de esta placa estarán
implementadas en casi todas las placas restantes, a excepción de algunas que ya
veremos. Se basa en un microcontrolador Atmel ATmega320 de 8 bits a 16Mhz que
funciona a 5v. 32KB son correspondientes a la memoria flash (0,5KB reservados
para el bootloader), 2KB de SRAM y 1KB de EEPROM. En cuanto a memoria es una de
las placas más limitadas, pero no por ello resulta insuficiente para casi todos
los proyectos que rondan la red. Las salidas pueden trabajar a voltajes
superiores, de entre 6 y 20v pero se recomienda una tensión de trabajo de entre
7 y 12v. Contiene 14 pines digitales, 6 de ellos se pueden emplear como. En cuanto a pines analógicos se cuenta con hasta 6.
Estos pines pueden trabajar con intensidades de corriente de hasta 40mA.
Arduino TRE: primera placa Arduino fabricada en Estados
Unidos. Integra un procesador Texas Instrument Sitara AM335x de 1Ghz
basado en ARM Cortex A8 con 512MB de DDR3L, lo que le da hasta 100 veces más
rendimiento comparado con otras placas como Leonardo y Uno. Esto abre las
puertas a más aplicaciones avanzadas y soporte para sistemas basados en Linux.
Por un lado sigue contando con el microcontrolador Atmel ATMega32u4 de 16Mhz y
32KB de flash y 2.5KB de SRAM, junto al 1KB de EEPROM. Tiene 14 pines
digitales, 7 PWM, 6 analógicos multiplexados, y su parte SBC cuenta con HDMI,
USB, microSD, soporte para conector LCD, etc… Todo compatible con los escudos
de Arduino y con Arduino IDE.
Arduino/Genuino 101: se trata de una placa que se
conoce como Arduino 101 en América y Genuino 101 fuera de Estados Unidos. Esta
nueva placa ha sido presentada en el Opening Conference at Maker Faire de Roma,
y su precio se estima en unos 30$ (27€) cuando se comience a comercializar, que
será a partir del primer trimestre de 2016. Genuino 101 sigue la misma
filosofía de las placas oficiales de Arduino, pero llama la atención su módulo
Intel Curie, un módulo de dimensiones reducidas y bajo consumo potenciados por
el SoC Intel Quark de 32 bits. Se trata de un SoC que contiene un
microcontrolador x86 (una oportunidad única de programar en una plataforma x86,
alejandose de los ATMega y los ARM), 80KB de SRAM (24KB disponible para
sketches), 384 KB de memoria flash, DSP, Bluetooth, sensores acelerometros y
giroscopio, etc. Por el resto de características, como conexiones y tamaño, es
igual a Arduino UNO y compatibles con sus shields.
Arduino Zero: en aspecto es similar a Arduino UNO, pero esta
placa esconde sorpresas con respecto a la plataforma UNO. En vez del
microcontrolador Atmel ATmega basado en arquitectura AVR de 8 bits, el Zero
contiene un potente Atmel SAMD21 MCU de 48Mhz con un core ARM Cortex M0 de 32
bits. Con 256 KB de memoria flash, 32 KB de SRAM y una EEPROM de más de 16KB
por emulación. El voltaje en el que opera es de 3v3/5v (7mA) y contiene 14
pines E/S digitales, de los cuales 12 son PWM y UART. En el terreno analógico
se dispone de 6 entradas para un canal ADC de 12 bits y una salida analógica
para DAC de 10 bits. En definitiva, esta placa va destinada para los que
Arduino UNO se les quede corto y necesitan algo más de potencia de
procesamiento.
Arduino Yun: se basa en el microcontrolador ATmega32u4
y en un chip Atheros AR9331 (que controla el host USB, el puerto para micro-SD
y la red Ethernet/WiFi), ambos comunicados mediante un puente. El procesador
Atheros soporta la distribución Linux basadas en OpenWrt llamada OpenWrt-Yun.
Se trata de una placa similar a Arduino UNO pero con capacidades nativas para
conexión Ethernet, WiFi, USB y micro-SD sin necesidad de agregar o comprar
shields aparte. Contiene 20 pines digitales, 7 pueden ser usados en modo
PWM y 12 como analógicos. El microcontrolador ATmega32u4 de 16Mhz trabaja
a 5v y contiene una memoria de solo 32KB (4KB reservados al bootloader), SRAM
de solo 2,5KB y 1KB de EEPROM. Como vemos, en este sentido queda corto. Sin
embargo se complementa con el AR9331 a 400Mhz basado en MIPS y trabajando a
3v3. Este chip además contiene RAM DDR2 de 64MB y 16MB flash para un sistema
Linux embebido.
Arduino Leonardo: es una placa basada en un microcontrolador
ATmega32u4 de bajo consumo y que trabaja a 16Mhz. La memoria flash tiene una
capacidad de 32KB (4KB para el bootloader) y 2.5KB de SRAM. La EEPROM es de
1KB, también muy similar a Arduino UNO en cuanto a capacidades de
almacenamiento. A nivel electrónico y de voltajes es igual al UNO. Pero este
microcontrolador puede manejar 20 pines digitales (7 de ellos pueden ser
manejados como PWM) y 12 pines analógicos. Como vemos, contiene los mismos
pines que Yun, solo que prescinde de las funcionalidades de red. El volumen
ocupado por Leonardo es inferior al de UNO, puesto que carece de las
inserciones de los pines y en su lugar posee perforaciones con pads de conexión
en la propia placa. Además las dimensiones del conector USB de la placa es
mucho menor, ya que en vez de una conexión USB emplea una mini-USB para ahorrar
espacio. Por eso es idóneo para proyectos en los que se requiera ahorrar algo
de espacio, pero todo al mismo precio que UNO.
Arduino Due: es una placa con un microcontorlador Ateml
SAM3X8E ARM Cortex-M3 de 32 bits. Este chips que trabaja a 84Mhz (3,3v) aporta
una potencia de cálculo bastante superior a los anteriores microcontroladores
vistos. Por eso es idóneo para todos aquellos que necesiten de un proyecto con
alta capacidad de procesamiento. Al tener un core a 32 bits permite realizar
operaciones con datos de 4 bytes en un solo ciclo de reloj. Además, la memoria
SRAM es de 96KB, superior al resto de placas vistas anteriormente e incorpora
un controlador DMA para acceso directo a memoria que intensifica el acceso a
memoria que puede hacer la CPU. Para el almacenamiento se dispone de 512KB de
flash, una cantidad muy grande de memoria para cualquier código de
programación. En cuanto a soporte de voltajes en intensidades es idéntica a
UNO, solo que el amperaje de los pines se extiende hasta los 130-800mA (para
3v3 y 5v respectivamente). El sistema dispone de 54 pines de E/S digitales, 12
de ellos pueden ser usados como PWM. También tiene 12 analógicos, 4 UARTs
(serie, frente a los dos de UNO), capacidades de conexión USB OTG, dos
conexiones DAC (conversión digital a analógico), 2 TWI, un power jack, SPI y
JTAG. Como vemos en cuanto a interfaz de conexionado está muy completo y
permite multitud de posibilidades.
Arduino Mega: su nombre proviene del microcontrolador que lo
maneja, un ATmega2560. Este chip trabaja a 16Mhz y con un voltaje de 5v. Sus
capacidades son superiores al ATmega320 del Arduino UNO, aunque no tan
superiores como las soluciones basadas en ARM. Este microcontrolador de 8 bits
trabaja conjuntamente con una SRAM de 8KB, 4KB de EEPROM y 256KB de flash (8KB
para el bootloader). Como puedes apreciar, las facultades de esta placa se
asemejan al Due, pero basadas en arquitectura AVR en vez de ARM. En cuanto a
características electrónicas es bastante similar a los anteriores, sobre todo
al UNO. Pero como se puede apreciar a simple vista, el número de pines es
parecido al Arduino Due: 54 pines digitales (15 de ellos PWM) y 16 pines
analógicos. Esta placa es idónea para quien necesita más pines y potencia
de la que aporta UNO, pero el rendimiento necesario no hace necesario acudir a
los ARM-based.
Arduino Ethernet: si deseas un Arduino UNO pero con capacidades
Ethernet tienes dos opciones, comprar un Arduino UNO y un shield Ethernet para
integrarlo, o la otra opción sería adquirir un Arduino Ethernet. Esta placa es
bastante similar a la UNO, incluso en el aspecto, pero tiene capacidades de
red. Su microcontrolador es un ATmega328 que trabaja a 16Mhz (5v). Va
acompañado de 2KB de SRAM, 1KB de EEPROM y 32KB de flash. El resto de
características electrónicas son como las de UNO solo que añade capacidad para
conexión Ethernet gracias a un controlador W5100 TCP/IP embebido y posibilidad
de conectar tarjetas de memoria microSD. Los pines disponibles son 14
digitales (4 PWM) y 6 analógicos. Lo que hay que tener en cuenta es que Arduino
reserva los pines 10-13 para ser usado para SPI, el 4 para la tarjeta SD y el 2
para el interruptor W5100.
Arduino Fio: es una placa Arduino reducida a la mínima
expresión. Por su tamaño es especialmente considerado para proyectos móviles
inalámbricas o para ser insertados en espacios reducidos. Funciona con un
microcontrolador ATmega328P, una versión similar a la del Ethernet pero que
trabaja a una frecuencia inferior, 8Mhz. Al ser tan reducida carece de
ciertas comodidades, por ejemplo, para subir los sketches hay que usar un cable
FTDI o una placa adicional adaptadora Sparkfun. Igualmente, las tensiones con
las que se trabaja se ven mermadas hasta los 3.35-12v máximo. 14 pines
digitales (6 PWM) y 8 pines analógicos serán los únicos disponibles en esta
placa. Tampoco ayuda sus 2KB de SRAM, 32KB de flash y 1KB de EEPROM, todo esto
limitará mucho el tamaño de los sketchs y del circuito del proyecto.
Referencias:
http://arduino.cl/que-es-arduino/
http://comohacer.eu/analisis-comparativo-placas-arduino-oficiales-compatibles/
No hay comentarios:
Publicar un comentario