Introducción

La tarjeta Arduino Uno Rev3 es la más popular de toda la gama de productos de Arduino y en esta página vamos a entrar en detalle de la funcionalidad de cada uno de sus pines, es decir vamos a estudiar a detalle el patillaje o pinout.

Para poder realizar un proyecto de forma exitosa es necesario conocer a detalle nuestra tarjeta de desarrollo, incluyendo las características y funciones de cada uno de los pines. Esto nos permitirá saber que función puede cumplir cada uno y en dado caso, conocer las limitaciones y ventajas que tienen.

La tarjeta Arduino Uno R3 está basada en el microcontrolador ATMEGA328P y cuenta con 14 pines de entrada / salida (de los cuales 6 pueden usarse como salida PWM) y 6 pines analógicos. También disponemos de algunos pines dedicados a exponer las conexiones de alimentación, reset y tierra.

Pinout Arduino Uno R3

Pines de alimentación

IOREF – Este pin esta pensado para ser usado por los shields o tarjetas de expansión. Su función es exponer el voltaje con el que operan los pines de enrada / salida. Por ejemplo en el Arduino Uno este pin tendrá un voltaje de 5 volts, mientras que en un Arduino M0 tendrá 3.3 volts.

Reset – Mediante este pin se puede resetear o reiniciar el microcontrolador. Se conecta a tierra para reiniciar (activo a nivel bajo) e internamente en la tarjeta este pin tiene una resistencia pull-up.

+3.3V – Este pin esta conectado a la salida del regulador de 3.3 volts de la tarjeta. Normalmente solo debe ocuparse como una salida de voltaje que puede servirnos para alimentar circuitos de 3.3 volts de bajo consumo.

5V – Este pin es la salida del regulador de 5 volts de la placa o bien el voltaje que proviene del conector USB dependiendo de donde estemos alimentando la placa.

GND – Estos pines son la tierra o masa del circuito, está conectado al negativo de la alimentación.

VIN – Voltaje de entrada sin regular, funciona como entrada / salida de voltaje de alimentación de 9 volts.

Puedes revisar más a detalle cómo utilizar estos pines en nuestro tutorial titulado “Alimentar el Arduino: La guía definitiva“

Pines analógicos (ADC)

Los pines analógicos permiten leer señales analógicas como la voz, la cantidad de luz o la temperatura. Esto se logra mediante un circuito especializado dentro del microcontrolador conocido como convertidor analógico a digital (ADC o Analog to Digital Converter).

Este circuito permite convertir un voltaje presente en los pines analógicos A0 al A6 en un número que va del 0 a 1023. Al representar la magnitud analógica como un número, el microcontrolador puede entenderlo y usarlo para realizar cálculos o tomar decisiones.

Número de pinFunciones
A0 (pin 14 digital)Pin físico del chip 23
Convertidor analógico a digital canal 0 (ADC0)
Interrupción por cambio de estado PCINT8
A1 (pin 15 digital)Pin físico del chip 24
Convertidor analógico a digital canal 1 (ADC1)
Interrupción por cambio de estado PCINT9
A2 (pin 16 digital)Pin físico del chip 25
Convertidor analógico a digital canal 1 (ADC2)
Interrupción por cambio de estado PCINT10
A3 (pin 17 digital)Pin físico del chip 26
Convertidor analógico a digital canal 1 (ADC3)
Interrupción por cambio de estado PCINT11
A4 (pin 18 digital)Pin físico del chip 27
Convertidor analógico a digital canal 1 (ADC4)
Interrupción por cambio de estado PCINT12
Señal SDA del módulo TWI (I2C)
A5 (pin 19 digital)Pin físico del chip 28
Convertidor analógico a digital canal 1 (ADC5)
Interrupción por cambio de estado PCINT13
Señal SCL del módulo TWI (I2C)

Uso de pines analógicos como digitales

Los pines analógicos pueden utilizarse también como entradas / salidas digitales si es que llegáramos a requerirlos. Para hacerlo podemos pasar el número correspondiente a la función pinMode() y digitalWrite(). Por ejemplo, para hacer parpadear un LED en el pin A0 podemos hacer lo siguiente:

Pin AREF y referencia de voltaje del ADC

El pin AREF permite ingresar un voltaje que se utilizará como referencia para el convertidor analógico a digital.

Este voltaje será el tope de escala para la conversión analógica a digital. Por ejemplo: Si ingresamos un voltaje de 1.1 volts en el pin AREF el máximo que podremos ingresar en los pines A0 al A6 será 1.1 volts y este voltaje generará el número 1023 como resultado de la conversión.

Pines analógicos y la interfaz I2C

Otra peculiaridad de los pines A4 y A5 es que se utilizan para la interfaz I2C, por lo que si tenemos conectado por ejemplo un reloj en tiempo real, no será posible usarlos como entrada analógica.

Pines digitales

Los pines digitales se pueden utilizar para conectar dispositivos como LEDs, relevadores, drivers de motores, botones, switches magnéticos (reed switch) etc. Cuando hablamos de pines digitales nos referimos a aquellos que pueden tener solo dos estados:

  • Alto (o HIGH en ingles): 5 volts
  • Bajo (o LOW en ingles): 0 volts

Los pines digitales puede configurarse como entradas o salidas, dependiendo del tipo de sensor o dispositivo que deseamos conectar.

Número de pinFunciones
0Pin físico del chip 2 (Puerto D bit 0)
Interrupción por cambio de estado PCINT16
Señal RXD (recepción) de USART (interfaz serial)
1Pin físico del chip 3 (Puerto D bit 1)
Interrupción por cambio de estado PCINT17
Señal TXD (transmisión) de USART (interfaz serial)
2Pin físico del chip 4 (Puerto D bit 2)
Interrupción externa INT0
Interrupción por cambio de estado PCINT18
3Pin físico del chip 5 (Puerto D bit 3)
Interrupción externa INT1
Interrupción por cambio de estado PCINT19
PWM (Temporizador 2, Output Compare Match salida B)
4Pin físico del chip 6 (Puerto D bit 4)
Entrada externa del contador timer 0
Interrupción por cambio de estado PCINT20
Entrada de reloj externo para USART
5Pin físico del chip 11 (Puerto D bit 5)
Entrada externa del contador timer 1
Interrupción por cambio de estado PCINT21
PWM (Temporizador 0, Output Compare Match salida B)
6Pin físico del chip 12 (Puerto D bit 6)
Entrada del comparador analógico positiva (AIN0)
Interrupción por cambio de estado PCINT22
PWM (Temporizador 0, Output Compare Match salida A)
7Pin físico del chip 13 (Puerto D bit 7)
Entrada del comparador analógico negativa (AIN1)
Interrupción por cambio de estado PCINT23
8Pin físico del chip 14 (Puerto B bit 0)
Pin de captura de entrada del contador temporizador 1
Interrupción por cambio de estado PCINT0
Salida de reloj del sistema dividido
9Pin físico del chip 15 (Puerto B bit 1)
Interrupción por cambio de estado PCINT1
PWM (Temporizador 1, Output Compare Match salida A)
10Pin físico del chip 16 (Puerto B bit 2)
Interrupción por cambio de estado PCINT2
PWM (Temporizador 1, Output Compare Match salida B)
Señal SS (slave select) del módulo SPI
11Pin físico del chip 17 (Puerto B bit 3)
Interrupción por cambio de estado PCINT3
PWM (Temporizador 2, Output Compare Match salida A)
Señal MOSI de la interfaz SPI
12Pin físico del chip 18 (Puerto B bit 4)
Interrupción por cambio de estado PCINT4
Señal MISO de la interfaz SPI
13Pin físico del chip 19 (Puerto B bit 5)
Interrupción por cambio de estado PCINT5
Señal SCK de la interfaz SPI
En este pin está conectado el LED de la tarjeta que se utiliza en los ejemplos.

Funciones especiales de los pines Digitales

Interfaz serial UART

Los pines 0 y 1 de la tarjeta están destinados a la carga de programas mediante el bootloader y la comunicación de datos con la computadora a través de la UART (Universal Asynchronous Receiver Transmitter). Por ejemplo podemos enviar texto o valores de sensores al monitor serial o hacer gráficas mediante la herramienta serial plotter del IDE Arduino.

Se desaconseja usar estos pines para otro propósito que no sea una comunicación serial, ya que si conectamos cualquier otro dispositivo podemos alterar las señales de la UART del microcontrolador y por ende generar problemas en la comunicación.

Si tu placa presenta problemas para cargar un programa, un primer paso para resolver el problema puede ser asegurarnos que no tengamos nada conectado en estos dos pines.

Interfaz serial SPI

Los pines 10, 11, 12 y 13 están destinados a la comunicación serial con periféricos mediante la interfaz SPI (Serial Peripheral Interface). Si estamos usando un accesorio que utilice esta interfaz, como el Ethernet Shield, estos pines no podrán ser utilizados para otra función.

Esta interfaz es común en periféricos de media o alta velocidad, como memorias micro SD, controladores Ethernet, memorias Flash y EEPROM, etc.

Interfaz serial I2C

Los pines asociados a esta interfaz son A4 (SDA) y A5 (SCL). I2C permite conectar varios dispositivos en una topología de bus usando solamente dos pines de la tarjeta. El Arduino puede ser el maestro (que controla otros dispositivos) o puede funcionar como esclavo (controlado por otro dispositivo).

En esta interfaz es habitual encontrar dispositivos de baja velocidad como relojes en tiempo real (RTC), memorias EEPROM, sensores de temperatura y humedad, etc.

Lecturas recomendadas

1
Escanea el código