Arduino UNO R3

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)

La placa Arduino UNO R3, en versiones normal, R1, R2, R3 y SMD es una placa basada en el microcontrolador ATmega328P. Tiene 14 pines digitales de entrada/salida (de los cuales 6 se pueden usar como salidas PWM), 6 entradas analógicas, un oscilador de cristal de 16 MHz, una conexión USB, un conector de alimentación, un conector ICSP y un botón de reset.

Contiene todo lo necesario para soportar el microcontrolador. Simplemente conéctelo a un ordenador con un cable USB o con un adaptador de CA a CC o batería para comenzar.

La placa Arduino UNO R3 difiere de todas las placas precedentes en que no usa el chip de controlador USB de la serie FTDI.

arduino uno r3 dip
Arduino UNO R3 versión DIP

Las características adicionales que vienen con la versión Arduino UNO R3 son:

  • ATmega16U2 en lugar de 8U2 como convertidor de USB a serie.
  • Añadidos pines SDA y SCL para comunicación TWI colocados cerca del pin AREF.
  • Dos pines nuevos colocados cerca del pin RESET, el IOREF que permite que las placas de expansión (shields) se adapten al voltaje proporcionado por la placa y el segundo es un pin no conectado, que está reservado para propósitos futuros.
  • Circuito de RESET más fuerte.
arduino uno r3 smd
Arduino UNO R3 versión SMD

La placa Arduino UNO R3 marca el precedente del próximo lanzamiento de Arduino 1.0. El UNO y la versión 1.0 serán las versiones de referencia para las futuras placas Arduino.  Es lo último de una serie de nuevas placas Arduino USB, y el modelo de referencia para la plataforma Arduino.

La placa Arduino UNO difiere de todas las placas precedentes en que no usa el chip de controlador USB de la serie FTDI. En cambio, presenta el Atmega16U2 (Atmega8U2 hasta la versión R2) programado como un adaptador de USB a puerto serie.

La Arduino UNO es una de las placas mas populares de la familia Arduino. Si bien, es algo menos potente que su hermana mayor, la Arduino MEGA 2560, sus capacidades encajan perfectamente bien en casi cualquier diseño que puedas imaginar.

Si lo que deseas es poder hacer desarrollos de inmediato, una buena alternativa a tener en cuenta es la Arduino Starter Kit, que es un kit que contiene una placa Arduino UNO R3 más varios componentes y partes electrónicas para hacer muchos tipos de experimentos.

 

 

Características de la Arduino UNO R3

  • Microcontrolador: ATmega328P
  • Voltaje de funcionamiento: 5 V.  Rango de entrada recomendado entre 7-12 V. Límite máximo entre 6-20 V
  • Pines de E/S digitales: 14 (de los cuales 6 proporcionan salida PWM)
  • Pines de entrada analógica: 6 pines
  • Corriente continua por pin: 20 mA
  • Corriente CC para 3.3V por pin: 50 mA
  • Memoria Flash: 32 KB (ATmega328P) de la cual 0.5 KB utilizada por el gestor de arranque (bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Velocidad del reloj: 16 MHz
  • Longitud: 68.6 mm
  • Ancho: 53.4 mm
  • Peso: 25 g

 

Microcontrolador Atmel Atmega 328P

El Atmega328p es un microcontrolador de alto rendimiento de 8 bits, basado en tecnología AVR RISC, que combina una memoria flash ISP de 32 KB con capacidades de lectura y escritura, EEPROM de 1KB, y SRAM de 2 KB.

micricontrolador-atmega328p
Microcontrolador Atmega 328p con encapsulado TQFP

Tiene 23 líneas de E/S de propósito general, 32 registros de trabajo de propósito general, tres temporizadores/contadores flexibles con modos de comparación, interrupciones internas y externas, USART programable, una interfaz I2C, puerto en serie SPI, un convertidor A/D de 6 canales y 10 bits (8 canales en encapsulados TQFP y QFN/MLF), watchdog programable con oscilador interno y cinco modos de ahorro de energía seleccionables por software.

atmega328p-dip28
Atmega 328p con encapsulado DIP28

El dispositivo funciona entre 1,8 y 5,5 voltios. Al ejecutar poderosas instrucciones en un solo ciclo de reloj, el microcontrolador logra rendimientos cercanos a 1 MIPS por MHz, equilibrando el consumo de energía y la velocidad de procesamiento.

 

Alimentación de la Arduino UNO R3

La placa Arduino UNO R3 puede alimentarse a través de la conexión USB o con una fuente de alimentación externa. La fuente de poder se selecciona automáticamente.

La alimentación externa (no USB) puede provenir de un adaptador de CA a CC o batería. El adaptador se puede conectar al enchufar un conector 2.1 mm de alimentación de la placa, con centro positivo. Los cables de una batería se pueden insertar en los pines GND y Vin del conector POWER.

La placa puede operar con un suministro externo de 6 a 20 V. Sin embargo, si se suministra con menos de 7 V, el pin de 5 V puede suministrar menos de cinco voltios y la placa puede volverse inestable. Si usa más de 12 V, el regulador de voltaje puede sobrecalentarse y dañar la placa. El rango recomendado es de 7 a 12 V.

Los pines de alimentación son los siguientes:

  • Vin: El voltaje de entrada a la placa Arduino UNO R3 cuando está usando una fuente de alimentación externa (a diferencia de los 5 voltios de la conexión USB u otra fuente de alimentación regulada). Puede suministrar voltaje a través de este pin o, si suministra voltaje a través del conector de alimentación, acceda a través de este pin.
  • 5V: Este pin produce un voltaje de 5V regulados desde el regulador en la placa. La placa Arduino UNO R3 se puede alimentar con la toma de alimentación de CC (7-12 V), el conector USB (5V) o el pin VIN de la placa (7-12 V). El suministro de voltaje a través de los pines de 5V o 3.3V evita el regulador y puede dañar la placa. Úselos con precaucion.
  • 3V3: Una fuente de 3.3 voltios generada por el regulador en la placa. El consumo máximo de corriente es de 50mA.
  • GND: Pines de tierra
  • IOREF: Este pin en la placa Arduino UNO R3 proporciona la referencia de voltaje con la que funciona el microcontrolador. Una placa de expansión (shield) correctamente configurada puede leer el voltaje del pin IOREF y seleccionar la fuente de alimentación apropiada o habilitar los adaptadores de nivel de voltaje en las salidas para trabajar con 5V o 3.3V.

 

Memoria de la Arduino UNO R3

La placa Arduino UNO R3 usa el microcontrolador ATmega328P tiene 32 KB de memoria FLASH (con 0.5 KB ocupados por el gestor de arranque). También tiene 2 KB de SRAM y 1 KB de EEPROM (que se pueden leer y escribir con la librería EEPROM).

 

Entradas & salidas de la Arduino UNO R3

Cada uno de los 14 pines digitales de la placa Arduino UNO R3 se pueden usar como entrada o salida, usando las funciones pinMode(), digitalWrite() y digitalRead(). Funcionan a 5 V. Cada pin puede proporcionar o recibir 20 mA como condición de operación recomendada y tiene una resistencia interna de pull-up (desconectada por defecto) de 20-50 kohm. Un máximo de 40 mA es el valor que no debe excederse en ningún pin de E/S para evitar daños permanentes al microcontrolador.

Además, algunos pines tienen funciones especializadas:

  • Serial: pines 0 (RX) y 1 (TX). Se usa para recibir (RX) y transmitir (TX) datos en el puerto serie en TTL. Estos pines están conectados a los pines correspondientes del chip serie ATmega8U2 USB-to-TTL.
  • Interrupciones externas: pines 2 y 3. Estas clavijas se pueden configurar para activar una interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. Vea la función attachInterrupt() para más detalles.
  • PWM: pines 3, 5, 6, 9, 10 y 11. Proporcionan salida PWM de 8 bits con la función analogWrite().
  • SPI: pines 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines admiten comunicación SPI utilizando la librería SPI.
  • LED: pin 13. Hay un LED integrado accionado por el pin digital 13. Cuando el pin tiene un valor ALTO, el LED está encendido, cuando el pin está BAJO, está apagado.
  • TWI: pin A4 o SDA y pin A5 o SCL. Soporte de comunicación con bus I2C (TWI) utilizando la librería Wire.
arduino uno r3 pinout diagram
Diagrama de pines de la Arduino UNO R3

La placa Arduino UNO R3 tiene 6 entradas analógicas, etiquetadas de A0 a A5, cada una de las cuales proporciona 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto, miden desde tierra (GND) a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF y la función analogReference().

Hay un par de otros pines en la placa:

  • AREF. Voltaje de referencia para las entradas analógicas. Usado con analogReference().
  • Reset: Es un pin de entrada. Llevar este pin a tierra (GND) reiniciará el microcontrolador. Normalmente se usa para agregar un botón de reinicio a las placas de expansión (shields).

 

Comunicaciones en la Arduino UNO R3

La placa Arduino UNO R3 tiene varias facilidades para comunicarse con un ordenador, otra placa Arduino u otros microcontroladores. El ATmega328P proporciona comunicación en serie UART TTL (5V), que está disponible en los pines digitales 0 (RX) y 1 (TX).

Un ATmega16U2 en la placa canaliza esta comunicación en serie a través del conector USB y aparece como un puerto virtual para el software en la computadora. El firmware 16U2 usa los controladores COM USB estándar y no se necesita ningún controlador externo. Sin embargo, en Windows, se requiere un archivo .inf.

El entorno de desarrollo Arduino IDE incluye un monitor serie que permite el envío y envío de datos textuales simples desde y hacia la placa. Los LED RX y TX de la placa parpadearán cuando los datos se transmiten a través del chip de USB y la conexión USB al ordenador (pero no para la comunicación serial en los pines 0 y 1).

La librería SoftwareSerial permite la comunicación serial en cualquiera de los pines digitales de la placa Arduino UNO R3.

La placa Arduino UNO R3 también es compatible con la comunicación TWI y SPI. El entorno de desarrollo Arduino IDE incluye la librería Wire para simplificar el uso del bus TWI. Para la comunicación SPI, use la librería SPI.

 

Programación de la Arduino UNO R3

La placa Arduino UNO se puede programar con el entorno de desarrollo Arduino IDE.

arduino ide
Arduino IDE

El ATmega328P en la placa Arduino UNO R3 viene pre-programado con un gestor de arranque (bootloader) que le permite cargar un nuevo programa sin el uso de un programador hardware externo. Se comunica utilizando el protocolo original STK500.

stk500 programmer
Programador AVR STK500

También puede omitir el gestor de arranque y programar el microcontrolador a través del conector ICSP (In-Circuit Serial Programming – Programación serial en circuito) usando Arduino ISP o similar.

El código fuente del firmware ATmega16U2 (o 8U2 en las placas rev1 y rev2) está disponible en el repositorio de Arduino. El ATmega16U2/8U2 está cargado con un gestor de arranque DFU, que puede ser activado por:

  • En placas Rev1: conectando el puente de soldadura en la parte posterior de la placa (cerca del mapa de Italia) y luego buscando el 8U2.
  • En las placas Rev2 o posteriores: hay una resistencia que tira de la línea HUB 8U2/16U2 a tierra, lo que facilita poner el modo DFU.

A continuación, puede usar el software FLIP de Atmel (Windows) o el programador DFU (Mac OS X y Linux) para cargar un nuevo firmware. O puede usar el conector ISP con un programador externo (sobrescribiendo el gestor de arranque DFU).

 

También te puede interesar