Hace un par de meses que me dedico a distribuir la linea de productos de Arduino en México y en esta ocasión tengo el gusto de presentarles las primera impresiones de la tarjeta que recién se integra al extenso catálogo de productos: El Arduino DUE, que ahora tengo en mi escritorio.

Arduino Due es diferente de las versiones previas de arduino por el hecho de que integra un microcontrolador más poderoso que todas las tarjetas arduino anteriores. Esta tarjeta es potenciada por un ATSAM3X8E ARM Cortex-M3 corriendo a 84 Mhz siendo la primera tarjeta oficial de arduino basada en un núcleo de 32 bits y en una arquitectura ARM.

Entre sus capacidades de I/O integra: 54 pines de entrada/salida de las cuales 12 pueden ser usadas para generar señales PWM. 12 Entradas analógicas, 4 UARTS, capacidad de USB OTG (USB On-The-Go), 2 canales DAC, 2 interfaces TWI (I2C). Físicamente, el arduino DUE tiene las mismas dimensiones que el Arduino Mega 2560, por lo que es compatible (físicamente) con cualquier shield de las familias anteriores y para el Arduino.

El Núcleo del Arduino DUE.

Se trata de un dispositivo mucho más potente de lo acostumbrado en otros sistemas de desarrollo Arduino. Entre las ventajas sobre las placas basadas en arquitectura AVR de 8 bits encontramos las siguientes:

  • Núcleo de 32 bits, ejecuta operaciones en 4 bytes en un solo ciclo de reloj.
  • La frecuencia de operación es de 84 Mhz, dándonos mucho más capacidad de procesamiento.
  • 96 KB de SRAM, facilita el desarrollo de aplicaciones más complejas
  • 512 KB de memoria Flash de programa
  • Controlador DMA (Acceso Directo a Memoria) que reduce el uso de CPU en operaciones intensivas de IO.

Estas prestaciones hacen que el Arduino DUE se perfile como una excelente plataforma para el desarrollo de aplicaciones multitarea. Nos gustaría muchísimo ver una integración del IDE de arduino con algún sistema operativo en tiempo real (RTOS) para aplicaciones de control embebido realmente complejas. FreeRTOS viene a nuestra mente como una alternativa de código abierto que podría ejecutarse en el ATSAM3X8E.

Los puertos USB.

Esta nueva tarjeta de Arduino tiene 2 puertos USB con funciones y capacidades distintas.

El primer puerto es el “USB Nativo” y soporta comunicaciones seriales a través cuando actúa como dispositivo USB de clase CDC. Dentro del IDE encontraremos un objeto (clase de C++) que nos permite realizar la comunicación a través de este. Este puerto USB se conecta directamente al microcontrolador SAM3X.

El otro puerto (cercano al conector de alimentación) es muy parecido al que encontramos en tarjetas Arduino UNO y Arduino Mega. Esta basado en un microcontrolador ATMEGA16U2 que realiza labores de convertidor USB a serial. Este puerto es el utilizado por defecto para descargar programas y comunicarse con el Arduino. Una vez que el ATMEGA ha realizado la conversión de protocolos, las lineas de UART se conectan con la primera UART del SAM3x, por lo que además de descargar programas, podemos darle el mismo uso a este puerto que en otras placas de Arduino.

Sin duda la característica mas importante del “Puerto USB Nativo” es la capacidad de utilizar el DUE como cliente (dispositivo) USB, para que actúe como un mouse o teclado, por ejemplo. O bien utilizarlo como Host USB de manera que podamos conectar periférucos USB tales como teclados, memorias flash USB, teléfonos con android, etc. Además de que como ya mencionamos antes podemos utilizarlo como un puerto serie virtual.

Diferencias de Voltaje con otras tarjetas Arduino.

El microcontrolador que encontramos en la tarjeta DUE funciona con 3.3 V. Esto significa que puedes utilizar solamente sensores, actuadores y aditamentos que funcionen únicamente con 3.3 volts. ¡Conectar los pines a otros dispositivos comunes que utilicen 5 volts puede dañar la tarjeta!. En estos casos lo recomendable es utilizar adaptadores de nivel lógico, siendo el más sencillo un divisor de voltaje.

La tarjeta puede alimentarse desde los 2 conectores USB o el Jack de DC. Si usamos el Jack, el voltaje recomendado es de entre 7 y 12 Volts. Algo que nos agrada del arduino DUE es que tiene un regulador de voltaje bastante eficiente, que cumple con las especificaciones del estándar USB (en cuestión de capacitancia). Al momento de usar la tarjeta como Host USB (mediante la función USB-OTG) es necesario alimentar mediante el Jack estándar, ya que el Arduino DUE enviará el voltaje requerido al dispositivo USB esclavo.

Software, programación y descarga de sketch.

Al momento de escribir este texto, el entorno de desarrollo que soporta la nueva tarjeta aún se encuentra en versión beta. Se trata de la versión 1.5.1.  El entorno de desarrollo es prácticamente igual al anterior, con excepción del soporte para el hardware nuevo.

De igual manera que las tarjetas Arduino UNO, el Arduino DUE utiliza un bootloader previamente grabado en el momento de su fabricación en conjunto con un Chip ATMEGA16U que se encarga de la comunicación USB a serial. La tarjeta también soporta la descarga de programas a través de la interfaz USB nativa. Usando la interfaz de programación, el due se programa de la misma forma que el UNO o el Mega, con la excepción de que el

Conclusión… ¿Que nos gustó y que no?

Todavía nos falta mucho camino por recorrer en cuestión de pruebas y experimentos con el Arduino DUE, pero como toda placa que lleva el nombre Arduino en ella, nos encantó lo fácil que es empezar a trabajar. Aunque la tarjeta es joven en cuanto a soporte de software, se nota que el equipo de Arduino esta impulsando fuertemente esta plataforma, la cual parece una evolución lógica de la linea arduino que tal vez ya esperabamos desde hace un par de años. A continuación enumeramos algunos puntos que se nos ocurrieron durante las pruebas.

  • La capacidad de la tarjeta para actuar como Host USB, es algo que no pasa desapercibido y facilitará en gran medida integración de dispositivos USB como memorias, impresoras y lectores de código de barras.
  • La tarjeta dispone de un DAC (convertidor analógico a digital) de dos canales y 12 bits de resolución, lo que permite generar señales de audio cercanas a la calidad de CD.
  • Multitud de interfaces digitales a otros periféricos, mantiene el mismo esquema físico que el arduino DUE.
  • Se ha dejado atrás la típica fuente de alimentación lineal para dar paso a una fuente de alimentación del tipo switching.

Hasta nuevo aviso si se requiere factura para cualquier orden el pago se tendrá que realizar vía Deposito Bancario o Transferencia. Agradecemos su comprehensión. Ignorar