Pinout Arduino Uno: Guía Completa
Deja de adivinar. Domina cada pin de tu placa Arduino Uno. ¡La guía definitiva para crear proyectos sin errores!
¡Hola, maker! Soy Carlos Julián, de Ingtelecto.com, y hoy vamos a hacer algo que es, en mi opinión, el paso más importante para dejar de ser un "copiador de código" y convertirte en un verdadero "creador": vamos a dominar el pinout del Arduino Uno.
El Arduino Uno es, sin duda, la placa con la que la mayoría de nosotros nos enamoramos de la electrónica y la programación. Es la navaja suiza de la prototipado. Pero para pasar del "Hola Mundo" (el parpadeo de un LED) a proyectos más serios, hay un obstáculo fundamental que debemos superar: entender qué hace cada uno de esos pequeños pines que bordean la placa.
En este artículo, vamos a desglosar pin por pin. No solo te diré qué es, sino por qué te importa, cómo usarlo y, lo más importante, qué errores evitar.
Esta guía es tu "manual de vuelo". Al terminar, sabrás exactamente qué cable conectar y dónde, por qué un tutorial usa el pin 9 y no el 8, y cómo diseñar tus propios circuitos con total confianza.
Anatomía Rápida del Arduino Uno: Más Allá de los Pines
Antes de sumergirnos en los pines de los bordes, demos un vistazo rápido a los componentes principales de la placa. Entender esto te dará el contexto completo.
- Microcontrolador (El Cerebro): El chip grande y rectangular (en la versión R3) o uno pequeño cuadrado (en la versión SMD) es el ATmega328P. Este es el verdadero "Arduino". Es un mini-ordenador que almacena y ejecuta tu código. Los pines que vamos a estudiar son simplemente "puertas" de acceso a este cerebro.
- Puerto USB (El Puente): Es por donde cargas tu código (
sketch) desde el ordenador y también por donde puedes alimentar la placa. Además, establece la comunicación serial (el "Monitor Serial"). - Jack de Alimentación (El Alternativo): Te permite alimentar el Arduino con una fuente externa (como una batería de 9V o un adaptador de pared). La recomendación oficial es entre 7V y 12V.
- Regulador de Voltaje (El Traductor): ¿Qué pasa si metes 9V por el Jack? Este componente (cerca del Jack) es un regulador que toma ese voltaje "crudo" y lo convierte en los 5V estables que el microcontrolador y tus circuitos necesitan para vivir felices.
- Oscilador de Cristal (El Corazón): Ese pequeño componente metálico de 16.000 MHz. Es el "corazón" o el "metrónomo" de la placa. Emite 16 millones de pulsos por segundo, marcando el ritmo al que el microcontrolador ejecuta las instrucciones. Sin él, el cerebro no podría "pensar".
- Botón de Reset (El Reinicio): Simplemente reinicia el microcontrolador, volviendo a ejecutar tu código desde el principio (línea por línea, empezando por el
setup()).
Arduino Uno (R3)
Placa de Microcontrolador (ATmega328P)
Pines Digitales (D0 - D13): Los Interruptores
Estos son los 14 pines más versátiles de la placa. Son como interruptores de luz: solo entienden dos estados:
- HIGH (ALTO): Están "encendidos", entregando 5 Voltios (5V).
- LOW (BAJO): Están "apagados", conectados a tierra (0 Voltios o GND).
Su trabajo principal se define en el setup() con la función pinMode(numeroDePin, MODO);.
Modo Salida (OUTPUT)
Configuras un pin como salida cuando quieres que el Arduino controle algo. Enviar 5V o 0V para...
- Encender o apagar un LED.
- Activar un relé (relay) para controlar aparatos de 110V/220V.
- Enviar una señal a un driver de motor.
Uso: pinMode(13, OUTPUT); y luego digitalWrite(13, HIGH);
Modo Entrada (INPUT)
Configuras un pin como entrada cuando quieres que el Arduino lea algo. El pin se pone a "escuchar" si está recibiendo 5V o 0V.
- Leer un pulsador (botón).
- Detectar si un sensor de presencia (PIR) se activó.
- Leer un interruptor de fin de carrera.
Uso: pinMode(7, INPUT); y luego int estado = digitalRead(7);
Los expertos recomendamos no pasar de 20 mA para asegurar una larga vida a tu placa.
¿Qué significa esto? ¡Nunca conectes un motor o una tira de LEDs directamente a un pin! Estos componentes "chupan" mucha más corriente y literalmente "freirás" el pin, dejándolo inútil para siempre.
Para eso existen los componentes intermedios: usa un transistor, un módulo relé o un driver (como el L298N) que actúan como un interruptor robusto que el Arduino controla con una señal débil.
El Estado 'Flotante' y la Magia de INPUT_PULLUP
INPUT y no está conectado a nada (o el botón no está presionado), el pin queda "al aire". A esto se le llama estado flotante.Piensa en el pin como una antena. Si está flotante, capta todo el ruido eléctrico a su alrededor (del WiFi, de tu móvil, de la luz de la mesa...). Esto provoca que tus lecturas sean "locas": digitalRead() te devolverá 1, 0, 1, 1, 0, 0... sin sentido.
Para evitarlo, necesitamos "amarrar" el pin a un estado conocido. Esto se hace con una resistencia.
- Pull-down: Una resistencia a GND. El pin lee LOW por defecto.
- Pull-up: Una resistencia a 5V. El pin lee HIGH por defecto.
¡El Arduino Uno trae resistencias pull-up dentro del chip! Podemos activarlas con un modo especial:
pinMode(7, INPUT_PULLUP);Esta es la forma profesional de leer botones. Al hacer esto, activas una resistencia interna (de ~20kΩ a 50kΩ) que conecta el pin a 5V.
- Cuando el botón no está presionado, el pin lee HIGH (gracias al pull-up).
- Cuando presionas el botón (conectado a GND), la corriente fluye a tierra y el pin lee LOW.
Es lógica invertida (presionado es LOW), pero es estable y te ahorras un componente externo.
Pines PWM (~): Simulando Salidas Analógicas
Si miras de cerca, verás que 6 pines digitales (D3, D5, D6, D9, D10 y D11) tienen una tilde (~) al lado. ¡Estos son los pines "especiales" con superpoderes!
Son pines PWM (Pulse Width Modulation - Modulación por Ancho de Pulso).
¿Qué es PWM y por qué analogWrite()?
Pero con PWM, puede "engañar" a los componentes. ¿Cómo? Encendiendo y apagando el pin rapidísimo (cientos de veces por segundo).
El "ciclo de trabajo" (Duty Cycle) es el porcentaje de tiempo que el pin está en HIGH.
- 0% Duty Cycle: Siempre en LOW (0V).
- 50% Duty Cycle: La mitad del tiempo en HIGH y la mitad en LOW. El "promedio" que ve un LED es 2.5V (brilla a media intensidad).
- 100% Duty Cycle: Siempre en HIGH (5V).
Usamos la función analogWrite(pin, valor);. Aunque se llama "analogWrite", no es una salida analógica real, es PWM. El valor va de 0 a 255.
analogWrite(9, 0);(Equivale a un 0% de ciclo - 0V)analogWrite(9, 127);(Equivale a un 50% de ciclo - ~2.5V promedio)analogWrite(9, 255);(Equivale a un 100% de ciclo - 5V)
Esto es fundamental para controlar la intensidad de un LED, la velocidad de un motor DC o la posición de un servomotor.
Esto se debe a los "Timers" (temporizadores) internos del ATmega328P.
- Pines D5 y D6: Controlados por el Timer0. Frecuencia por defecto: ~980 Hz.
- Pines D9 y D10: Controlados por el Timer1. Frecuencia por defecto: ~490 Hz.
- Pines D3 y D11: Controlados por el Timer2. Frecuencia por defecto: ~490 Hz.
¡ADVERTENCIA! El Timer0 es el corazón de Arduino. Es el que usa para las funciones delay(), millis() y micros(). Si usas librerías avanzadas para cambiar la frecuencia del Timer0 (para control de motores, por ejemplo), ¡tus delay() dejarán de funcionar correctamente!
Por eso, como buena práctica, si vas a "jugar" con las frecuencias PWM, usa los pines del Timer1 (D9, D10) o Timer2 (D3, D11) y deja en paz al Timer0.
Pines Analógicos (A0 - A5): Los Sentidos
En el otro lado de la placa, tenemos 6 pines (A0 a A5) que son los "sentidos" del Arduino. Su trabajo es opuesto al de PWM: en lugar de simular una salida analógica, pueden leer voltajes analógicos reales.
¿Qué es un ADC (Convertidor Analógico-Digital)?
El ADC del Uno tiene 10 bits de resolución. ¿Qué significa esto?
Significa que puede ver el rango de 0V a 5V dividido en \(2^{10}\) (es decir, 1024) pasos.
El resultado de la lectura será un número entero entre 0 y 1023.
Usamos la función analogRead(pin);:
- Si
analogRead(A0)devuelve 0, significa que el pin A0 está midiendo 0V. - Si
analogRead(A0)devuelve 511 (o 512), significa que mide ~2.5V. - Si
analogRead(A0)devuelve 1023, significa que mide 5V.
Estos son los pines que usas para leer potenciómetros, sensores de temperatura (LM35), de luz (LDR), de humedad y cualquier cosa que no te dé un simple "SÍ" o "NO".
Principio del Convertidor Analógico-Digital (ADC)
\[ \text{Voltaje} = \left( \frac{\text{LecturaADC}}{1023.0} \right) \times \text{VoltajeDeReferencia} \]
Por defecto, el VoltajeDeReferencia es 5V. (Nota: Dividimos por 1023.0, con decimal, para forzar al Arduino a hacer el cálculo con números flotantes y no perder precisión).
Pro Tip: ¡Los pines A0-A5 son también Digitales!
¡Un gran secreto! Estos pines son multifunción. También puedes usarlos como pines digitales normales. Sus "nombres" digitales son:
- A0 es D14
- A1 es D15
- A2 es D16
- A3 es D17
- A4 es D18
- A5 es D19
Puedes escribir pinMode(A0, OUTPUT); o pinMode(14, OUTPUT);... ¡y funcionará! Esto es súper útil si te quedas sin pines digitales en un proyecto grande.
Pines de Comunicación: Los Idiomas
Tu Arduino necesita hablar con otros componentes (pantallas, GPS, otros Arduinos). Para eso, usa "protocolos" de comunicación, que son como idiomas. El Uno domina tres.
UART (Serial): Pines D0 (RX) y D1 (TX)
- D0 (RX): Pin de Recepción. Por aquí "escucha".
- D1 (TX): Pin de Transmisión. Por aquí "habla".
Este es el protocolo serial más simple. Es el que usa tu Arduino para hablar con tu computadora a través del USB (y por eso el Monitor Serial funciona, usando Serial.begin(9600);).
Están físicamente conectados al chip de comunicación USB. Si conectas un sensor ahí, puede interferir y tu código no subirá, o verás basura en el monitor. ¡Es un dolor de cabeza muy común!
¿Qué hacer si los necesitas?
1. Desconecta todo de D0/D1 para subir tu código. Luego vuelve a conectar.
2. (Mejor) Usa la librería SoftwareSerial. Te permite simular un puerto serial en casi cualquier otro par de pines digitales (ej: 8 y 9). Es menos eficiente (usa poder del procesador), pero te saca de apuros.
I2C: Pines A4 (SDA) y A5 (SCL)
I2C (Circuito Inter-Integrado) es un protocolo genial. Te permite conectar ¡hasta 127 dispositivos! usando solo dos cables.
- A4 (SDA): Línea de Datos (Serial Data).
- A5 (SCL): Línea de Reloj (Serial Clock).
(En el Uno R3, también tienes estos pines duplicados cerca del pin AREF para fácil acceso).
Es un bus "Master-Slave" (Maestro-Esclavo). El Arduino (Master) dirige la orquesta, y los sensores (Slaves) solo hablan cuando se les pregunta. Es perfecto para pantallas OLED, giroscopios (MPU6050) y sensores de reloj (RTC).
SPI: Pines D10, D11, D12 y D13
SPI (Interfaz Periférica Serial) es el protocolo "de alta velocidad". Es mucho más rápido que I2C.
- D10 (SS): Slave Select (Selección de Esclavo).
- D11 (MOSI): Master Out, Slave In (El Master habla, el Esclavo escucha).
- D12 (MISO): Master In, Slave Out (El Esclavo habla, el Master escucha).
- D13 (SCK): Serial Clock (El reloj que marca el ritmo).
SPI es más complejo porque usa más cables, pero es ideal para cosas que mueven muchos datos, como lectores de tarjetas SD o algunas pantallas TFT. Verás que estos pines se solapan con el LED (D13) y pines PWM, ¡así que tenlo en cuenta al planificar tu proyecto!
Piles de Alimentación (Power): La Fuente de Vida
¡Tu placa y tus componentes necesitan energía! Estos pines son la fuente de vida de tu proyecto.
- VIN: Voltage In (Voltaje de Entrada). Aquí es donde conectas una fuente de alimentación externa no regulada (7-12V recomendados). Está conectado directamente al Jack de alimentación y al regulador de voltaje.
- 5V: Esta es una SALIDA de 5V perfectamente regulados. De aquí alimentas la mayoría de tus sensores y módulos.
- Modo Avanzado/Peligroso: También puedes alimentar el Arduino a través de este pin, pero solo con una fuente de 5V muy limpia y regulada. ¡OJO! Esto bypass-ea el regulador y todas las protecciones. Si metes más de 5.5V, quemas el chip.
- 3.3V: Una SALIDA de 3.3V regulados. Perfecta para componentes más nuevos (como el ESP8266, radios nRF24L01) que no toleran 5V.
- ¡LÍMITE! Este pin es muy débil. Solo puede entregar un máximo de 50mA (algunas fuentes dicen 150mA, pero no te arriesgues). Úsalo solo para componentes de bajo consumo.
- GND: Tierra (Ground). Es el punto de referencia de 0V. ¡Todo en tu circuito debe compartir una tierra común! Si alimentas un sensor desde una fuente externa, el GND de esa fuente DEBE estar conectado a un pin GND de tu Arduino. Si no, las señales no tendrán referencia y nada funcionará.
Pines Especiales y de Control
Finalmente, hay algunos pines con trabajos muy específicos:
- D13 (LED_BUILTIN): Como mencionamos, este pin tiene un LED soldado directamente en la placa (marcado con una "L"). Es perfecto para depurar y para tu primer "Hola Mundo".
- AREF: Analog Reference. Por defecto,
analogRead()mide entre 0V y 5V. Pero, ¿y si tu sensor solo da entre 0V y 1V? Perderías mucha precisión. Puedes conectar una fuente de voltaje precisa (ej: 1.1V) a este pin y luego usaranalogReference(EXTERNAL);. Ahora, el ADC medirá de 0 a 1023 en el rango de 0V a 1.1V, dándote una resolución brutal.- También puedes usar
analogReference(INTERNAL);para usar una referencia interna de 1.1V (en el ATmega328P) sin conectar nada.
- También puedes usar
- IOREF: Input/Output Reference. Este pin es para los "Shields" (placas de expansión). Un Shield puede leer el voltaje en este pin (que en el Uno son 5V) para saber si está conectado a una placa de 5V (Uno) o a una de 3.3V (como el Arduino Due). Así, el Shield se autoconfigura.
- RESET: Poner este pin a BAJO (GND) reinicia el microcontrolador. Es lo mismo que presionar el botón de RESET. Es un pin "Active LOW".
- Cabecera ICSP: Ese grupo de 6 pines (2x3) cerca del microcontrolador. Significa In-Circuit Serial Programming. Es el "acceso directo" al cerebro. Permite programar el chip sin pasar por el bootloader (el código de arranque de Arduino) o, más comúnmente, se usa para "quemar" o restaurar el bootloader si alguna vez "brickeas" (rompes) tu placa.
Has aprendido la diferencia entre pines digitales, analógicos, PWM y los protocolos de comunicación. Sabes de los peligros de la corriente (20mA), la bendición del INPUT_PULLUP, el secreto de los Timers y el poder del analogReference().
Estás listo para dejar de solo seguir tutoriales y empezar a diseñar tus propios circuitos. Este conocimiento es la base de todos los proyectos que encontrarás en nuestra página pilar de Microcontroladores y Proyectos con Arduino.
¡Ahora, a conectar cosas!
Deja una respuesta

Estos temas te pueden interesar