Aprender

Arduino Uno pinout: every pin on the R3, and the chip pin behind it

Principiante

O mira todas las lecciones.

  • 503componentes en el banco de trabajo
  • 44placas funcionando ahora
  • 1.00xtiempo real, en todas las placas
Arduino Uno: una perilla en A0live0.000 s 0.00x
Haz clic para abrirlo en el editor
Un potenciómetro en A0 define el brillo de un LED en el pin PWM 9, con la lectura impresa.

Este es el pinout del Arduino Uno R3, la placa que traen la mayoría de los kits, con un ATmega328P en un zócalo y un segundo chip, un ATmega16U2, entre él y el puerto USB. Cada orificio de sus dos headers está en la tabla de abajo con el pin del chip detrás, lo que puede hacer y a qué debes prestar atención. Después de la tabla vienen los pines de alimentación y sus límites, los pines PWM y los temporizadores detrás, Serial, I2C, SPI y los headers ICSP, y una lista de qué pin usar para qué.

El circuito de arriba es un Uno en Mokxi con un potenciómetro en A0 que define el brillo de un LED en el pin 9, con la lectura impresa. La tabla se lee del mismo modelo de placa que ejecuta el simulador, y donde el simulador hace menos que la placa, la página lo dice. El Uno R4 conserva estos orificios y cambia el chip detrás; su pinout está enlazado al final.

Cada pin, con su pin del ATmega328P

El header de arriba lee, de izquierda a derecha, SCL, SDA, AREF, GND, luego del 13 al 0. El de abajo lee IOREF, RESET, 3V3, 5V, GND, GND, VIN, luego A0 a A5. SDA y SCL junto a AREF son las mismas dos pistas que A4 y A5, agregadas en el R3 para que un shield encuentre I2C en el mismo lugar en todas las placas. Los pines 0 a 7 son el puerto D, 8 a 13 son el puerto B y A0 a A5 son el puerto C, lo que necesita saber un sketch que escribe PORTB directamente.

En el código, los pines digitales son sus números y los pines analógicos son A0 a A5, que también son los pines digitales 14 a 19. El Nano es el mismo chip con los mismos números, más A6 y A7.

Arduino Uno R3: el header de arriba de izquierda a derecha, luego el de abajo
PinPin del chipQué puede hacerTen cuidado con
SCLPC5I2C SCL: la misma pista que A5.Lo usa cualquier dispositivo I2C.
SDAPC4I2C SDA: la misma pista que A4.Lo usa cualquier dispositivo I2C.
AREF-La entrada de referencia analógica.No es un GPIO. Nunca más de 5 V.
GND-Tierra. Tres orificios.-
13PB5Digital. SPI SCK, también en el header ICSP. El LED L, encendido con HIGH.-
12PB4Digital. SPI MISO, también en el header ICSP.-
11PB3PWM en el temporizador 2, 490 Hz. SPI MOSI, también en el header ICSP.tone() toma el temporizador 2 en una placa real.
10PB2PWM en el temporizador 1, 490 Hz. SPI SS.La biblioteca Servo toma el temporizador 1 en una placa real.
9PB1PWM en el temporizador 1, 490 Hz.La biblioteca Servo toma el temporizador 1 en una placa real.
8PB0Digital.-
7PD7Digital.-
6PD6PWM en el temporizador 0, 976 Hz.El temporizador 0 también maneja millis().
5PD5PWM en el temporizador 0, 976 Hz.El temporizador 0 también maneja millis().
4PD4Digital.-
3PD3PWM en el temporizador 2, 490 Hz. INT1: attachInterrupt.tone() toma el temporizador 2 en una placa real.
2PD2Digital. INT0: attachInterrupt.Una buena primera opción para un botón.
1PD1TX: Serial de salida, hacia el chip USB a serie.Déjalo libre, o la carga y el monitor serie fallan.
0PD0RX: Serial de entrada, desde el chip USB a serie.Déjalo libre, o la carga y el monitor serie fallan.
IOREF-Le dice a un shield el nivel lógico de la placa: 5 V.Not a GPIO.
RESETPC6Reinicio: en bajo reinicia el chip, como el botón.Not a GPIO.
3V3-Una pequeña salida de 3.3 V para un sensor, 50 mA como máximo.No es para un motor ni un servo.
5V-5 V de salida, del USB o del regulador.Not a GPIO.
VIN-Entrada de alimentación del regulador integrado, de 7 a 12 V.Mokxi lo ignora; la placa está en el USB.
A0PC0Analógico. Digital 14.-
A1PC1Analógico. Digital 15.-
A2PC2Analógico. Digital 16.-
A3PC3Analógico. Digital 17.-
A4PC4Analógico. Digital 18. I2C SDA.Lo usa cualquier dispositivo I2C.
A5PC5Analógico. Digital 19. I2C SCL.Lo usa cualquier dispositivo I2C.

Pines de alimentación y sus límites

VIN alimenta el regulador integrado de 5 V, igual que el conector de barril, y Arduino recomienda de 7 a 12 V ahí. 5V es el riel regulado, del conector USB o del regulador, y un 5 V limpio puesto en él también alimenta la placa. 3V3 viene de un pequeño regulador propio, de 50 mA, suficiente para un sensor y inútil para un motor. IOREF le dice a un shield el nivel lógico, 5 V en esta placa. Los tres orificios GND son una misma tierra.

Arduino da a cada pin 20 mA, y el máximo absoluto del ATmega328P es de 40 mA por pin y 200 mA para todo el chip. En Mokxi la placa siempre se alimenta por USB, VIN es una entrada que ignora, y el riel de 5 V es una fuente ideal que no puede caer, así que un circuito que dejaría sin voltaje a un Uno real corre sin problema aquí.

Pines PWM y sus temporizadores

Los pines 3, 5, 6, 9, 10 y 11 hacen PWM con analogWrite, y la serigrafía los marca con una tilde. Cada par comparte un temporizador: 5 y 6 son el temporizador 0 a 976 Hz, 9 y 10 son el temporizador 1, y 3 y 11 son el temporizador 2, ambos a 490 Hz. Mokxi los ejecuta en los mismos temporizadores a las mismas frecuencias.

Los temporizadores explican dos cosas que sorprenden a la gente en un Uno real. La biblioteca Servo toma el temporizador 1, así que analogWrite en 9 y 10 deja de funcionar mientras hay un servo conectado. Y tone() toma el temporizador 2, así que un buzzer que toca una nota detiene el PWM en 3 y 11.

Serial, el chip USB, I2C, SPI y los headers ICSP

Los pines 0 y 1 son el puerto serie de hardware, y en un Uno real van al ATmega16U2, que los convierte en USB. Cualquier cosa conectada a ellos puede interrumpir una carga, así que déjalos libres. Mokxi no modela el 16U2: Serial llega directo al monitor serie.

I2C es A4 para SDA y A5 para SCL, y los orificios SDA y SCL junto a AREF llevan las mismas dos señales. SPI es 10, 11, 12 y 13 para SS, MOSI, MISO y SCK. El header ICSP de seis pines al otro extremo de la placa lleva MISO, SCK, MOSI, RESET, 5V y GND, las mismas señales SPI, para programar el ATmega328P directamente; el segundo header ICSP, junto al conector USB, es del 16U2. En Mokxi ambos buses corren por software en sus pines, porque los bloques I2C y SPI del chip no están modelados, y los headers ICSP no se dibujan como pines.

Interrupciones, los pines analógicos y el R4

attachInterrupt funciona en los pines 2 y 3, INT0 e INT1, y Mokxi modela ambos, con las interrupciones por cambio de pin detrás de todos los demás. Cada pin analógico lee diez bits, de 0 a 1023, respecto al riel de 5 V a menos que AREF diga otra cosa. El conversor de Mokxi no tiene ruido, así que un divisor lee la misma cuenta cada vez, donde uno real fluctúa en uno o dos.

El Uno R4 Minima y WiFi conservan todos estos orificios y cambian lo que hay detrás: un Renesas RA4M1, 8 mA por pin en lugar de 20, Serial en el conector USB y Serial1 en los pines 0 y 1. Un shield encaja en ambas placas; un programa compilado para el R3 corre solo en el R3.

Preguntas

¿Qué pines del Arduino Uno son PWM?

Los pines 3, 5, 6, 9, 10 y 11, los seis con tilde. El 5 y el 6 corren a 976 Hz y los otros cuatro a 490 Hz.

¿Cuáles son los pines I2C del Arduino Uno?

A4 es SDA y A5 es SCL. Los orificios SDA y SCL junto a AREF son las mismas dos pistas, así que un shield puede usar cualquiera. `Wire.begin()` los usa.

¿Qué pines son SPI en un Arduino Uno?

SS es 10, MOSI es 11, MISO es 12 y SCK es 13. Los últimos tres también están en el header ICSP.

¿Qué pin del Uno debo usar para un botón?

El pin 2 o 3 si quieres una interrupción, si no cualquiera de 4, 7, 8 o 12, con `INPUT_PULLUP` y el botón a tierra. No 0 ni 1, que son Serial.

¿Cuánta corriente puede dar un pin del Arduino Uno?

20 mA es la cifra para diseñar, y 40 mA es el máximo absoluto, más allá del cual el pin se daña. Todo el chip puede pasar 200 mA, así que una fila de LED a 20 mA cada uno se agota rápido.

¿Qué voltaje puedo poner en el pin VIN del Uno?

De 7 a 12 V, lo que recomienda Arduino. Una fuente de 9 V funciona; por debajo de 7 V el regulador no puede dar un 5 V estable, y por encima de 12 V se calienta.

¿Puedo usar los pines analógicos del Uno como pines digitales?

Sí. A0 a A5 son los pines digitales 14 a 19, así que `digitalWrite(A0, HIGH)` funciona. El Uno no tiene A6 ni A7; esos son del Nano.

Ármalo en la vida real

Abre el editor, cambia un valor y mira cómo el número cambia con él. Nada que instalar y sin necesidad de cuenta.