Raspberry Pi Pico pinout: every pin, its PWM slice and the power pins
Iniciante
- 503componentes na bancada
- 44placas rodando agora
- 1.00xtempo real, em todas as placas
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.
| Pino | GPIO | O que ele pode fazer | Atenção a |
|---|---|---|---|
| GP0 | 0 | PWM 0A. UART0 TX. | - |
| GP1 | 1 | PWM 0B. UART0 RX. | - |
| GND | - | Terra. Sete furos. | - |
| GP2 | 2 | PWM 1A. | - |
| GP3 | 3 | PWM 1B. | - |
| GP4 | 4 | PWM 2A. I2C SDA (padrão). | - |
| GP5 | 5 | PWM 2B. I2C SCL (padrão). | - |
| GP6 | 6 | PWM 3A. | - |
| GP7 | 7 | PWM 3B. | - |
| GP8 | 8 | PWM 4A. | - |
| GP9 | 9 | PWM 4B. | - |
| GP10 | 10 | PWM 5A. | - |
| GP11 | 11 | PWM 5B. | - |
| GP12 | 12 | PWM 6A. | - |
| GP13 | 13 | PWM 6B. | - |
| GP14 | 14 | PWM 7A. | - |
| GP15 | 15 | PWM 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. |
| GP28 | 28 | PWM 6A. ADC2 (A2). | - |
| AGND | - | O terra analógico para ADC0 a ADC2. | - |
| GP27 | 27 | PWM 5B. ADC1 (A1). | - |
| GP26 | 26 | PWM 5A. ADC0 (A0). | - |
| RUN | - | Nível baixo reinicia o RP2040. | Not a GPIO. |
| GP22 | 22 | PWM 3A. | - |
| GP21 | 21 | PWM 2B. | - |
| GP20 | 20 | PWM 2A. | - |
| GP19 | 19 | PWM 1B. SPI MOSI (padrão). | - |
| GP18 | 18 | PWM 1A. SPI SCK (padrão). | - |
| GP17 | 17 | PWM 0B. SPI SS (padrão). | - |
| GP16 | 16 | PWM 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.
Continuar
De onde vêm as informações desta página
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.