Arduino UNO: análisis de la placa de hardware libre a fondo

Arduino bus I2C

Desde que se lanzó al mercado la placa Arduino UNO, mucho ha evolucionado esta placa con la salida de sus últimas revisiones. Además, sus mismos creadores se han apresurado a crear otras placas similares en distintos formatos para cubrir más necesidades de las que inicialmente cubría la UNO. Incluso otros muchos se han atrevido a crear sus propias placas clon o compatibles, aunque no con el mismo éxito.

Antes de la aparición de Arduino ya existían otros proyectos similares, como las famosas placas de Parallax con microcontroladores Microchip PIC que se podían programar de forma muy sencilla usando lenguajes como PBASIC entre otros. Ejemplo de ello es la Basic Stamp 2 de Parallax. Pero el hecho de no ser hardware libre hizo que no tuvieran el mismo arraigo en el mercado como lo ha tenido el proyecto Arduino. Realmente la placa italiana ha supuesto una revolución en este sentido.

¿Qué es Arduino UNO Rev3?

Logo de Arduino

Arduino UNO Rev3 es la última revisión que existe por el momento de esta placa. Es una pequeña placa electrónica con un microcontrolador programable en su PCB. Además de dicho chip, también incluye una serie de pines como salidas y entradas que se pueden usar programando el chip para que hagan diferentes cosas. De esa forma se pueden crear proyectos electrónicos de forma muy sencilla.

Esta placa surge del proyecto Arduino, un proyecto italiano iniciado en 2005 que se enfocaba en desarrollar software y hardware abierto para estudiantes principalmente. Los primeros diseños iban dirigidos para un instituto de Ivrea, en Italia. En aquella época los estudiantes de este centro educativo usaban las famosas BASIC Stamp que ya he citado anteriormente. Estas tenían un costo considerable, y no eran tan abiertas.

Antes de todo eso, Hernando Barragán había creado una plataforma de desarrollo llamada Wiring, un proyecto inspirado en el famoso lenguaje de programación Processing. Con esto como base, se pusieron manos a la obra para desarrollar herramientas de bajo coste y simples para los estudiantes. Así se pusieron a crear una placa de hardware con un PCB y un microcontrolador sencillo, así como la creación de un IDE (Integrated Development Environment).

Como Wiring usaba ya una placa con un microcontrolador ATmega168, los siguientes desarrollos siguieron con la misma orientación. Massimo Banzi y David Mellis agregarían soporte ATmega8 para Wiring, que resultaba aún más económico que la versión 168. Y así surge el primer germen de lo que hoy es Arduino UNO. El proyecto Wiring es entonces renombrado como Arduino.

El nombre del famoso proyecto tuvo origen en un bar de Ivrea, donde se reunían los fundadores de dicho proyecto. El bar se llamaba Bar di Re Arduino, que a su vez se llamaba así en honor a Arduino de Ivrea, rey de Italia hasta 1014.

Ante el potencial de estas placas, se fueron agregando más apoyos desde la comunidad para seguir adelante y crear más placas. Además, proveedores de componentes electrónicos y fabricantes comenzaron a diseñar productos específicos compatibles con Arduino. Como es el caso de Adafruit Industries. De aquí surgieron numerosos escudos y módulos adicionales para estas placas.

Ante el éxito abrumador, se generó también la Arduino Fundation, para seguir promoviendo y agrupando los esfuerzos del proyecto Arduino. Un modelo similar al de otras organizaciones similares como la Linux Foundation, la Raspberry Pi Foundation, RISC-V Foundation, etc.

A partir de este momento, se han generado muchas variantes de Arduino, con diferentes factores de forma y microcontroladores diversos, así como muchos accesorios que hemos tratado en este mismo blog:

Información detallada de Arduino UNO

Esta placa Arduino UNO tiene unas características que la hacen única, y tiene una serie de diferencias con respecto a otras placas Arduino que vamos a destacar.

Características técnicas, esquema y pinout

Arduino Pinout

El pinout y características técnicas de la placa Arduino UNO Rev3 son importantes para saberla usar adecuadamente, de lo contrario no conocerás los límites y la forma correcta de conectar todos los componentes electrónicos a sus pines y buses disponibles.

Comenzando primero por sus características, tienes:

  • Microcontrolador Atmel ATmega328 a 16 Mhz
  • Memoria SRAM integrada: 2KB
  • Memoria EEPROM integrada: 1 KB
  • Memoria flash: 32 KB, de los cuales 0.5 KB son usados por el bootloader, por lo que no se podrán usar para otros fines.
  • Voltaje de trabajo del chip: 5v
  • Voltaje de alimentación recomendado: 7-12v (aunque admite de 6 a 20v)
  • Intensidad de corriente continua: 40mA para E/S y 50mA para el pin 3.3V.
  • Pines de E/S: 14 pines, de los cuales 6 son PWM.
  • Pines analógicos: 6 pines
  • Botón reset para reiniciar la ejecución del programa cargado en memoria.
  • Chip interfaz USB.
  • Reloj oscilador para las señales que necesiten ritmo.
  • LED de encendido en la PCB.
  • Regulador de tensión integrado.
  • Precio alrededor de los 20€.

En cuanto a los pines y conexiones disponibles en la placa Arduino UNO:

  • Barrel Jack o DC Power Jack: es el conector de la placa Arduino UNO para poderla alimentar eléctricamente. La tarjeta se puede alimentar con un jack adecuado y mediante un adaptador para que suministre entre 5-20 voltios. Si vas a conectar gran cantidad de elementos a la placa, es probable que tengas que superar la barrera de los 7v para que sea suficiente.
  • USB: el puerto USB sirve para conectar la placa Arduino al PC, de ese modo la puedes programar o recibir datos de ella a través del puerto serie. Es decir, básicamente te servirá para que puedas cargar tus sketchs de Arduino IDE en la memoria interna del microcontrolador para que éste pueda ejecutarlo. También puede cumplir la función de alimentación para la placa y los elementos conectados a ella.
  • VIN Pin: también encontrarás un pin VIN que permite alimentar la placa Arduino UNO usando una fuente externa de alimentación, si no quieres usar el USB o el Jack anterior.
  • 5V: suministra una tensión de 5V. La energía que llegará a él proviene de uno de los tres casos anteriores por los que puedes dar alimentación a tu placa.
  • 3V3: este pin permite alimentar a 3.3v y hasta 50mA tus proyectos.
  • GND: posee 2 pines de tierra, para conectar a ellos la tierra de tus proyectos electrónicos.
  • Reset: un pin para resetear mandando una señal BAJA a través de él.
  • Puerto Serial: posee dos pines 0 (RX) y 1 (TX) pare recibir y transmitir respectivamente datos en serie TTL. Están conectados al microcontrolador en sus pines USB-to-TTL.
  • Interrupciones externas: 2 y 3, pines que se pueden configurar para activar interrupciones con un flanco ascendente, descendente o un valor alto o bajo.
  • SPI: el bus está en los pines marcados como 10 (SS), 11 (MISOI), y 13 (SCK) con los que podrás realizar comunicación usando la biblioteca SPI.
  • A0-A5: son los pines analógicos.
  • 0-13: son los pines de entrada o salida digital que puedes configurar. En el pin 13 hay conectado un pequeño LED integrado que si se encuentra este pin en alto se encenderá.
  • TWI: soportacomunicación TWI usando la biblioteca Wire. Se puede usar el pin A4 o SDA y el pin A5 o SCL.
  • AREF: pint de tensión de referencia para las entradas analógicas.

Datasheets

Al ser una placa de código abierto, no solo vas a encontrar el datasheet como en el caso de otros muchos productos electrónicos. También podrás descargar otros muchos documentos y esquemas electrónicos que te ayudarán a comprender cómo funciona esta placa Arduino UNO a nivel interno e incluso a construir tú mismo tu propia implementación de Arduino. Por ejemplo, tienes a tu disposición la siguiente información oficial:

Diferencias con otras placas Arduino

Placas de Arduino

Arduino UNO Rev3 es la placa ideal para todos aquellos que comienzan a utilizar este tipo de placas. Además, existen kits de inicio para comenzar con todo lo que necesitas incluido. Este kit no solo incluye gran cantidad de componentes electrónicos para comenzar a practicar, también un manual muy bien detallado para ayudarte en cada paso.

No obstante, existen otras versiones o formatos de placa Arduino que son muy útiles para otras aplicaciones más avanzadas o para implementar un proyecto en el que el tamaño importa. Las principales diferencias entre placas están principalmente en el tipo de microcontrolador integrado, siendo algunos algo más potentes y con más memoria para incluir sketchs o programas mucho más sofisticados, y el número de pines disponibles. Pero si comparamos las tres placas más vendidas, las diferencias son las siguientes:

  • Arduino UNO Rev3: véase aparatado con características técnicas.
  • Arduino Mega: el precio se eleva por encima de los 30€, con unas dimensiones algo más grandes a la placa UNO. Además, incluye un microcontrolador más potente ATmega2560 que trabaja también a 16Mhz, pero tiene 256KB de memoria flash, 4KB de EEPROM, y 8 KB de SRAM para programas más complejos. Además, también tiene más pines, con 54 E/S digitales, 15 PWM, y 16 analógicas.
  • Arduino Micro: destaca por su reducido tamaño, siendo más pequeña que la UNO, aunque de precio similar. En ese reducido espacio integra un microcontrolador ATmega32U4 más reducido, pero que también trabaja a 16Mhz. La memoria es igual a la de UNO, a excepción de la SRAM, que posee 0.5KB más. Los pines también se han incrementado a pesar del reducido tamaño, con 20 digitales, 7 PWM y 12 analógicos. Otra diferencia es que usa micro-USB para su conexión en vez de un USB. Al ser tan pequeño no es compatible con los shields o escudos como las dos anteriores…

Arduino IDE y la programación

Captura de pantalla de Arduino IDE

Para programar Arduino, en cualquiera de sus versiones, tienes disponible el IDE o entorno de desarrollo llamado Arduino IDE. Es compatible tanto con macOS, Windows y Linux. Es una suite gratuita y de código abierto que puedes descargar desde este enlace. Con ella podrás crear los códigos para programar al chip microcontrolador de la placa y así hacer que tus proyectos funcionen.

La plataforma se apoya en un lenguaje de programación Arduino que se basa en el lenguaje de programación de alto nivel Processing, que a su vez es similar al conocido C++. Por eso tendrán una sintaxis y forma de actuar parecidas.

Puedes saber más acerca de cómo usar Arduino IDE con los artículos de este blogs en los que se explica cómo integrar cada componente electrónico o módulo con la placa, o directamente descargar el curso de programación Arduino IDE en PDF de forma gratuita. Con él aprenderás la sintaxis y el lenguaje de programación para comenzar con tus proyectos…


Sé el primero en comentar

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.