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?
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.
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
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:
- Datasheet del microcontrolador Atmel ATmega de Arduino UNO Rev3, para tener presente los voltajes, intensidades, y demĂ¡s caracterĂsticas que debes tener en cuenta para su funcionamiento.
- Pinout o pin mapping.
- EAGLE files con esquemas para los makers.
- Esquemas electrĂ³nicos de la placa Arduino UNO.
- Dimensiones de la PCB.
Diferencias con otras placas 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
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…