Aprender

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

Iniciante

Ou veja todas as aulas.

  • 503componentes na bancada
  • 44placas rodando agora
  • 1.00xtempo real, em todas as placas
Arduino Uno: um potenciômetro em A0live0.000 s 0.00x
Clique para abrir no editor
Um potenciômetro em A0 define o brilho de um LED no pino PWM 9, com a leitura impressa.

Esta é a pinagem do Arduino Uno R3, a placa que a maioria dos kits traz, com um ATmega328P num soquete e um segundo chip, um ATmega16U2, entre ele e a porta USB. Cada furo dos dois conectores está na tabela abaixo com o pino do chip por trás dele, o que ele pode fazer e no que prestar atenção. Depois da tabela vêm os pinos de alimentação e seus limites, os pinos PWM e os timers por trás deles, Serial, I2C, SPI e os conectores ICSP, e uma lista de qual pino usar para quê.

O circuito acima é um Uno no Mokxi com um potenciômetro em A0 definindo o brilho de um LED no pino 9, com a leitura impressa. A tabela segue o mesmo modelo de placa que o simulador roda, e onde o simulador faz menos que a placa, a página avisa. O Uno R4 mantém esses furos e muda o chip por trás deles; a pinagem dele está linkada no final.

Cada pino, com seu pino do ATmega328P

O conector de cima lê, da esquerda para a direita, SCL, SDA, AREF, GND, depois 13 até 0. O conector de baixo lê IOREF, RESET, 3V3, 5V, GND, GND, VIN, depois A0 a A5. SDA e SCL ao lado do AREF são as mesmas duas trilhas que A4 e A5, acrescentadas no R3 para que um shield ache o I2C no mesmo lugar em toda placa. Os pinos 0 a 7 são a porta D, 8 a 13 são a porta B e A0 a A5 são a porta C, que é o que um sketch que escreve em PORTB por conta própria precisa saber.

No código, os pinos digitais são os seus números e os pinos analógicos são A0 a A5, que também são os pinos digitais 14 a 19. O Nano é o mesmo chip com os mesmos números, mais A6 e A7.

Arduino Uno R3: o conector de cima da esquerda para a direita, depois o de baixo
PinoPino do chipO que ele pode fazerAtenção a
SCLPC5I2C SCL: a mesma trilha que A5.Usado por qualquer dispositivo I2C.
SDAPC4I2C SDA: a mesma trilha que A4.Usado por qualquer dispositivo I2C.
AREF-A entrada de referência analógica.Não é um GPIO. Nunca acima de 5 V.
GND-Terra. Três furos.-
13PB5Digital. SPI SCK, também no conector ICSP. O LED L, aceso em HIGH.-
12PB4Digital. SPI MISO, também no conector ICSP.-
11PB3PWM no timer 2, 490 Hz. SPI MOSI, também no conector ICSP.tone() usa o timer 2 numa placa real.
10PB2PWM no timer 1, 490 Hz. SPI SS.A biblioteca Servo usa o timer 1 numa placa real.
9PB1PWM no timer 1, 490 Hz.A biblioteca Servo usa o timer 1 numa placa real.
8PB0Digital.-
7PD7Digital.-
6PD6PWM no timer 0, 976 Hz.O timer 0 também roda o millis().
5PD5PWM no timer 0, 976 Hz.O timer 0 também roda o millis().
4PD4Digital.-
3PD3PWM no timer 2, 490 Hz. INT1: attachInterrupt.tone() usa o timer 2 numa placa real.
2PD2Digital. INT0: attachInterrupt.Uma boa primeira escolha para um botão.
1PD1TX: saída do Serial, para o chip USB-serial.Deixe livre, ou os uploads e o monitor serial quebram.
0PD0RX: entrada do Serial, vinda do chip USB-serial.Deixe livre, ou os uploads e o monitor serial quebram.
IOREF-Diz a um shield o nível lógico da placa: 5 V.Not a GPIO.
RESETPC6Reset: nível baixo reinicia o chip, como o botão faz.Not a GPIO.
3V3-Uma pequena saída de 3,3 V para um sensor, 50 mA no máximo.Não serve para um motor ou um servo.
5V-Saída de 5 V, do USB ou do regulador.Not a GPIO.
VIN-Entrada de energia do regulador da placa, 7 a 12 V.O Mokxi ignora; a placa está no USB.
A0PC0Analógico. Digital 14.-
A1PC1Analógico. Digital 15.-
A2PC2Analógico. Digital 16.-
A3PC3Analógico. Digital 17.-
A4PC4Analógico. Digital 18. I2C SDA.Usado por qualquer dispositivo I2C.
A5PC5Analógico. Digital 19. I2C SCL.Usado por qualquer dispositivo I2C.

Pinos de alimentação e seus limites

O VIN alimenta o regulador de 5 V da placa, como o conector de energia faz, e a Arduino recomenda 7 a 12 V ali. 5V é o trilho regulado, do conector USB ou do regulador, e 5 V limpos postos nele também alimentam a placa. 3V3 vem de um pequeno regulador próprio, de 50 mA, o que basta para um sensor e não serve para um motor. IOREF diz a um shield o nível lógico, 5 V nesta placa. Os três furos GND são um só terra.

A Arduino especifica 20 mA por pino, e o máximo absoluto do ATmega328P é 40 mA por pino e 200 mA para o chip todo. No Mokxi a placa é sempre alimentada pelo USB, o VIN é uma entrada que ele ignora, e o trilho de 5 V é uma fonte ideal que não cai, então um circuito que derrubaria um Uno de verdade roda limpo aqui.

Pinos PWM e seus timers

Os pinos 3, 5, 6, 9, 10 e 11 fazem PWM com analogWrite, e a serigrafia os marca com um til. Cada par divide um timer: 5 e 6 são o timer 0 a 976 Hz, 9 e 10 são o timer 1, e 3 e 11 são o timer 2, os dois a 490 Hz. O Mokxi os roda nos mesmos timers nas mesmas taxas.

Os timers explicam duas coisas que pegam as pessoas num Uno de verdade. A biblioteca Servo usa o timer 1, então analogWrite nos pinos 9 e 10 para de funcionar enquanto um servo está ligado. E tone() usa o timer 2, então um buzzer tocando uma nota para o PWM nos pinos 3 e 11.

Serial, o chip USB, I2C, SPI e os conectores ICSP

Os pinos 0 e 1 são a porta serial de hardware, e num Uno de verdade vão ao ATmega16U2, que os transforma em USB. Qualquer coisa ligada a eles pode impedir um upload, então deixe-os livres. O Mokxi não modela o 16U2: Serial chega direto ao monitor serial.

O I2C é A4 para SDA e A5 para SCL, e os furos SDA e SCL perto do AREF levam os mesmos dois sinais. O SPI é 10, 11, 12 e 13 para SS, MOSI, MISO e SCK. O conector ICSP de seis pinos na ponta da placa leva MISO, SCK, MOSI, RESET, 5V e GND, os mesmos sinais SPI, para programar o ATmega328P diretamente; o segundo conector ICSP, perto do conector USB, é o do 16U2. No Mokxi os dois barramentos rodam em software nos seus pinos, porque os blocos I2C e SPI do chip não são modelados, e os conectores ICSP não são desenhados como pinos.

Interrupções, os pinos analógicos e o R4

attachInterrupt funciona nos pinos 2 e 3, INT0 e INT1, e o Mokxi modela os dois, com as interrupções por mudança de pino por trás de todos os outros. Todo pino analógico lê dez bits, 0 a 1023, contra o trilho de 5 V, a menos que o AREF diga outra coisa. O conversor do Mokxi não tem ruído, então um divisor lê a mesma contagem sempre, onde um de verdade oscila em um ou dois.

O Uno R4 Minima e o WiFi mantêm todos esses furos e mudam o que está por trás deles: um Renesas RA4M1, 8 mA por pino em vez de 20, Serial no conector USB e Serial1 nos pinos 0 e 1. Um shield serve nas duas placas; um programa de R3 compilado roda só no R3.

Perguntas

Quais pinos do Arduino Uno são PWM?

Os pinos 3, 5, 6, 9, 10 e 11, os seis com til. O 5 e o 6 rodam a 976 Hz e os outros quatro a 490 Hz.

Quais são os pinos I2C do Arduino Uno?

A4 é SDA e A5 é SCL. Os furos SDA e SCL ao lado do AREF são as mesmas duas trilhas, então um shield pode usar qualquer um. `Wire.begin()` usa esses pinos.

Quais pinos são SPI no Arduino Uno?

SS é o 10, MOSI é o 11, MISO é o 12 e SCK é o 13. Os três últimos também estão no conector ICSP.

Qual pino do Uno devo usar para um botão?

O pino 2 ou 3 se você quer uma interrupção, senão qualquer um de 4, 7, 8 ou 12, com `INPUT_PULLUP` e o botão ao terra. Não o 0 nem o 1, que são o Serial.

Quanta corrente um pino do Arduino Uno pode fornecer?

20 mA é o valor para projetar, e 40 mA é o máximo absoluto, além do qual o pino é danificado. O chip todo pode passar 200 mA, então uma fileira de LEDs a 20 mA cada esgota rápido.

Que tensão posso pôr no pino VIN do Uno?

7 a 12 V, que a Arduino recomenda. Uma fonte de 9 V funciona; abaixo de 7 V o regulador não consegue fazer 5 V estáveis, e acima de 12 V ele esquenta.

Posso usar os pinos analógicos do Uno como digitais?

Sim. A0 a A5 são os pinos digitais 14 a 19, então `digitalWrite(A0, HIGH)` funciona. O Uno não tem A6 e A7; esses são do Nano.

Monte isto de verdade

Abra o editor, mude um valor e veja o número mudar junto. Nada para instalar, e não precisa de conta.