Aprender

Raspberry Pi Pico pinout: every pin, its PWM slice and the power pins

Iniciante

Ou veja todas as aulas.

  • 503componentes na bancada
  • 44placas rodando agora
  • 1.00xtempo real, em todas as placas
Raspberry Pi Pico: um efeito de perseguiçãolive0.000 s 0.00x
Clique para abrir no editor
Um ponto vai e volta por seis LEDs nos GP2 a GP7.

O Raspberry Pi Pico tem quarenta pinos, vinte e seis deles GPIO, e a pinagem dele é mais simples que a da maioria: todo GPIO faz PWM, três deles são analógicos, e nenhum é pino de strapping que impeça a placa de iniciar. Esta página lista os quarenta com o que cada um pode fazer, o slice e o canal PWM por trás de cada GPIO, os pinos de alimentação e seus limites, o LED da placa e qual pino usar para quê.

O circuito acima é um Pico no Mokxi levando um ponto por seis LEDs nos GP2 a GP7, um GPIO cada. A tabela segue o mesmo modelo de placa que o simulador roda, e onde o simulador faz menos que o RP2040, a página avisa.

Cada pino do conector

Com o conector USB em cima, o pino físico 1 é o GP0 no canto superior esquerdo, e os pinos contam para baixo pelo lado esquerdo até 20 e para cima pelo lado direito de 21 a 40, então o VBUS é o pino 40 no canto superior direito. O lado esquerdo é GP0 a GP15 com um terra a cada quatro GPIO. O lado direito, de cima, é VBUS, VSYS, GND, 3V3_EN, 3V3, ADC_VREF, GP28, AGND, GP27, GP26, RUN, GP22, GND, depois GP21 descendo até GP16 com um terra entre GP18 e GP17.

No código um pino é o seu número GP: digitalWrite(15, HIGH) aciona o GP15, e A0 a A2 são GP26 a GP28. A coluna PWM nomeia o slice e o canal: "PWM 2A" é o slice 2, canal A. Os pinos I2C e SPI são os padrões; o RP2040 pode pôr cada barramento em vários outros pinos.

Raspberry Pi Pico: o lado esquerdo de cima para baixo, depois o lado direito de cima para baixo, USB em cima
PinoGPIOO que ele pode fazerAtenção a
GP00PWM 0A. UART0 TX.-
GP11PWM 0B. UART0 RX.-
GND-Terra. Sete furos.-
GP22PWM 1A.-
GP33PWM 1B.-
GP44PWM 2A. I2C SDA (padrão).-
GP55PWM 2B. I2C SCL (padrão).-
GP66PWM 3A.-
GP77PWM 3B.-
GP88PWM 4A.-
GP99PWM 4B.-
GP1010PWM 5A.-
GP1111PWM 5B.-
GP1212PWM 6A.-
GP1313PWM 6B.-
GP1414PWM 7A.-
GP1515PWM 7B.-
VBUS-5 V do USB, direto do conector.Not a GPIO.
VSYS-A entrada principal de energia, 1,8 a 5,5 V.Not a GPIO.
3V3_EN-Nível baixo desliga o regulador de 3,3 V.Not a GPIO.
3V3-A saída de 3,3 V do regulador.Mantenha a carga abaixo de 300 mA.
ADC_VREF-A referência de 3,3 V do conversor.Not a GPIO.
GP2828PWM 6A. ADC2 (A2).-
AGND-O terra analógico para ADC0 a ADC2.-
GP2727PWM 5B. ADC1 (A1).-
GP2626PWM 5A. ADC0 (A0).-
RUN-Nível baixo reinicia o RP2040.Not a GPIO.
GP2222PWM 3A.-
GP2121PWM 2B.-
GP2020PWM 2A.-
GP1919PWM 1B. SPI MOSI (padrão).-
GP1818PWM 1A. SPI SCK (padrão).-
GP1717PWM 0B. SPI SS (padrão).-
GP1616PWM 0A. SPI MISO (padrão).-

Energia: VBUS, VSYS, 3V3 e os pinos de controle

VBUS são os 5 V do conector USB, sem alteração. VSYS é a entrada principal da placa: o regulador faz 3,3 V de qualquer valor entre 1,8 e 5,5 V ali, então duas ou três pilhas AA no VSYS rodam a placa sem USB. Com o USB ligado, o VSYS fica uma queda de diodo abaixo do VBUS. 3V3 é a saída do regulador, e o datasheet do Pico pede que você mantenha a carga dela abaixo de 300 mA. 3V3_EN desliga o regulador quando puxado para baixo, e RUN reinicia o chip.

Todo GPIO é de 3,3 V e nenhum tolera 5 V. Os pinos do RP2040 fornecem 4 mA por padrão e podem ser ajustados para 2, 8 ou 12 mA, o que basta para um LED com resistor e pouco mais. No Mokxi a placa está sempre no USB, o VBUS fornece 5 V e o VSYS 4,7 V.

PWM: quais pinos dividem um slice

O RP2040 tem oito slices PWM, cada um com dois canais, A e B. O GPIO n está no slice (n / 2) mod 8, canal A para um pino par e B para um ímpar. Então GP0 e GP16 são ambos o slice 0 canal A, e GP0 e GP1 dividem o slice 0.

Dois pinos num slice dividem a frequência dele. Podem ter duty cycles diferentes, então dois LEDs em GP0 e GP1 fazem fade de forma independente, mas um servo a 50 Hz e um motor a 20 kHz não podem dividir um slice. Ponha-os em pinos cujos slices sejam diferentes, por exemplo GP2 e GP4. O Mokxi modela os oito slices do mesmo jeito, então o LED da placa no GP25 também pode fazer fade.

Entradas analógicas, o LED e os pinos que não estão no conector

O conversor é de doze bits com referência de 3,3 V, nos GP26, GP27 e GP28, que são ADC0 a ADC2 e A0 a A2. analogRead retorna dez bits, a menos que analogReadResolution peça mais. Use o AGND como terra de um sensor analógico e o ADC_VREF se precisar da referência. O Mokxi modela o conversor uma amostra por vez, sem FIFO, DMA ou ruído.

O LED verde está no GP25 e acende quando o pino está em HIGH; LED_BUILTIN é 25. O GP25 não está no conector, nem o GP23, que controla o modo da fonte, o GP24, que detecta o VBUS, ou o GP29, que mede o VSYS por um divisor. É por isso que o conector pula do GP22 para o GP26. Num Pico W esses quatro vão ao chip sem fio e o LED vai com eles; a pinagem do Raspberry Pi Pico W cobre a diferença.

Serial, I2C, SPI e BOOTSEL

GP0 e GP1 são o TX e o RX da UART0. No core do Arduino para o Pico, Serial é a porta USB e Serial1 é a UART0 nesses dois pinos. No Mokxi, Serial chega direto ao monitor serial e GP0 e GP1 continuam pinos comuns.

Wire.begin() põe o I2C no GP4 para SDA e no GP5 para SCL, e o SPI é GP18, GP16, GP19 e GP17 para SCK, MISO, MOSI e SS. No Mokxi os dois barramentos rodam em software nesses pinos, porque os blocos I2C e SPI do RP2040 não são modelados. BOOTSEL não é um GPIO: mantido pressionado enquanto você liga a placa, faz o Pico aparecer como um drive USB para um novo programa, e nada que você ligue pode acioná-lo por acidente.

Perguntas

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

Qualquer pino GP, com `INPUT_PULLUP` e o botão ao terra. O Pico também tem pull-downs internos, então `INPUT_PULLDOWN` com o botão ao 3V3 funciona do mesmo jeito. Não há pinos de strapping a evitar.

Quais pinos do Raspberry Pi Pico são analógicos?

GP26, GP27 e GP28, que são ADC0, ADC1 e ADC2, ou `A0` a `A2` no código. Mantenha o sinal entre 0 e 3,3 V.

O Pico tem um pino de 5V?

VBUS são 5 V do USB e VSYS são cerca de 5 V menos uma queda de diodo. Os dois podem alimentar um módulo de 5 V. Nenhum GPIO tolera 5 V.

Quais pinos são I2C e SPI num Pico?

O I2C usa por padrão GP4 (SDA) e GP5 (SCL). O SPI usa por padrão GP18 (SCK), GP16 (MISO), GP19 (MOSI) e GP17 (SS).

Quais pinos do Pico fazem PWM?

Todos. Dois pinos no mesmo slice dividem a frequência, então um servo e um PWM rápido de motor devem ir em pinos cujos slices sejam diferentes.

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.