Skip to Content

Programar o Pico W5 com o Arduino IDE

Programar o Pico W5 com o Arduino IDE

Aprenda a programar o Raspberry Pi Pico W5 com o Arduino IDE. O Raspberry Pi RP2350 Pico W5 da Elecrow é uma placa de desenvolvimento com o microcontrolador RP2350 (ARM Cortex dual-core a 150MHz), 24 pinos GPIO, Bluetooth 5.0 e Wi-Fi dual-band 2.4GHz ou 5GHz. Com estas especificações, a placa destina-se a aplicações IoT com maiores necessidades de computação e rede.

Neste tutorial, aprenderá como começar a usar esta placa.

Peças Necessárias

Vai precisar do Raspberry Pi RP2350 Pico W5. E se quiser ligar algum hardware externo para testar a porta GPIO; alguns cabos, resistores, LEDs e uma breadboard serão úteis.

Raspberry Pi RP2350 Pico W5

Cabo USB C

Dupont wire set

Conjunto de fios Dupont

Half_breadboard56a

Breadboard

Kit de resistores e LEDs

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Características da Placa Raspberry Pi Pico W5

O Pico W5 é um microcontrolador baseado no design do Raspberry Pi Pico W. Usa o mesmo chip microcontrolador RP2350 com até 150MHz e um processador ARM Cortex M0+ dual-core.

No entanto, foi melhorado em relação à interface USB, capacidade de flash e desempenho compatível com Bluetooth. O mais importante é que a placa suporta operação dual-band 2.4GHz ou 5GHzn, assim como Bluetooth de baixo consumo e Bluetooth 5.0.

A imagem seguinte mostra a parte superior e inferior da placa. O conector USB-C e as antenas 2.4 e 5 GHz são facilmente reconhecíveis.

Top and Bottom of the Raspberry Pi Pico W5 Board
Parte Superior e Inferior da Placa Raspberry Pi Pico W5

A placa tem um botão RESET e um botão BOOT, e um LED incorporado ao lado do botão BOOT.

Especificações

A tabela seguinte lista os principais detalhes técnicos da placa:

Specification of the Elecrow RP2350 Pico W5 Board
Especificações da Placa Pico W5 (source)

Pinout da Placa Pico W5

A imagem abaixo mostra o pinout da placa Pico W5. Existem 24 pinos GPIO com PWM, duas interfaces I2C e quatro conversores Analógico-Digital (ADC). O LED incorporado está ligado ao GPIO 25. Note que a placa usa uma porta USB tipo C para alimentação e funciona a 3.3V.

Pinout of the Elecrow RP2350 Pico W5 Board
Pinout da Placa Pico W5 (source)

Instalação do Core RP2350

Antes de poder programar o Pico W5, precisa primeiro instalar o core RP2350. Vá a File -> Preferences e abra a janela de Preferências

File -> Preferences Menu
Menu File -> Preferences

Na janela de Preferências, vá ao separador Settings. Na parte inferior verá “Additional boards manager URLs:”. Clique no botão à direita (marcado a amarelo) para abrir o editor de URLs

Settings Tab in Preferences Dialog
Separador Settings na janela de Preferências

No editor de URLs, adicione o seguinte URL à lista (marcado a amarelo abaixo):
“https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json”

Add package_rp2040_index URL to board manager
Adicionar URL package_rp2040_index ao gestor de placas

O package_rp2040_index suporta os chips RP2040 e RP2350. Como pode ver, também instalei os cores ESP8266 e ESP32, mas para este tutorial só precisa do core RP2350.

Instalação das Placas RP2350

De seguida, precisamos instalar as placas RP2350. Vá a Tools -> Board -> Board Manager e pesquise por RP2350 usando a barra de pesquisa. Instale as placas Raspberry Pi Pico/RP2040/RP2350 de Earle F. Philhower. Após a instalação, deverá ficar assim.

Install Raspberry Pi Pico/RP2040/RP2350 board
Instalar placa Raspberry Pi Pico/RP2040/RP2350

Selecionar placa Raspberry Pi Pico 2

Depois de completar a instalação do core RP2350, ligue o Pico W5 à porta USB do seu computador. Depois vá ao Board Manager e selecione a placa “Raspberry Pi Pico 2” como mostrado abaixo:

Raspberry Pi Pico 2 in Bord Manager
Raspberry Pi Pico 2 no Board Manager

A placa deverá ser reconhecida pelo Arduino IDE e deverá vê-la ligada a uma porta COM via USB (veja a captura de ecrã acima). Agora estamos prontos para programar o Pico W5.

Programa Blink para o Pico W5

Vamos começar com o típico programa Blink. Ele fará o LED incorporado da placa piscar a cada segundo:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(1000);                     
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);                      
}

Clique no botão Upload do Arduino IDE e o código deverá ser carregado. Se for bem-sucedido, o LED incorporado começará a piscar.

Se o upload falhar, poderá precisar de pressionar (e/ou manter pressionado) o botão BOOT antes ou durante o upload. Isso deverá ser necessário apenas uma vez, pois o core arduino-pico tem auto-reset suporte. Geralmente não tive problemas a gravar a placa.

Testar o GPIO do Pico W5

Para experimentar o GPIO e PWM do Pico W5, liguei um LED com um resistor de 220Ω ao GPIO 9 e GND. Veja o circuito abaixo:

LED connected to GPIO 9
LED ligado ao GPIO 9

O pequeno programa de teste seguinte faz o LED atenuar para cima e para baixo, e funcionou bem:

#define LED  9

void setup() {
  pinMode(LED , OUTPUT);
}

void loop() {
  for (int b = 0; b <= 255; b++) {
    analogWrite(LED , b);
    delay(5);
  }
  for (int b = 255; b >= 0; b--) {
    analogWrite(LED , b);
    delay(5);
  }
}

Testar o Wi-Fi 5 GHz do Pico W5

Uma das principais características da placa Pico W5 é o suporte a Wi-Fi 5 GHz. Tentei o código Wi-Fi habitual, mas não consegui fazê-lo funcionar. Provavelmente porque a placa Pico W5 da Elecrow ainda não está na lista de placas suportadas do Raspberry Pi Pico Arduino core.

No entanto, encontrei um exemplo no demo code para a placa Pico W5, e esse funcionou. Abaixo está uma versão ligeiramente modificada desse código de demonstração.

#define Serial2_RX 5
#define Serial2_TX 4
#define SET_WIFI_MODE "AT+WMODE=3,1"
#define SET_WIFI_SSID_PASSWORD "AT+WJAP=\"SSID\",\"PWD\""

void setup() {
  Serial.begin(115200);
  Serial2.setRX(Serial2_RX);
  Serial2.setTX(Serial2_TX);
  Serial2.begin(115200);
  delay(1000);
  UART2_test();
}

void UART2_test() {
  clear_serial();
  bool ok_flag = false;
  Serial2.println(SET_WIFI_MODE);
  while (!ok_flag) {
    if (Serial2.find("OK")) {
      delay(1000);
      ok_flag = true;
      Serial.println("Set WIFI Mode Ok!");
    }
  }
  clear_serial();
  ok_flag = 0;
  Serial2.println(SET_WIFI_SSID_PASSWORD);
  while (!ok_flag) {
    if (Serial2.find("OK")) {
      delay(1000);
      ok_flag = true;
      Serial.println("WIFI Connected!");
    }
  }
}

void clear_serial() {
  while (Serial2.read() >= 0);
  while (Serial.read() >= 0);
}

void loop() {
}

Terá de substituir os valores SSID e PWD pelos ssid e password da sua rede Wi-Fi.

Conclusões

Espero que este tutorial tenha sido útil para começar a usar a placa Pico W5 da Elecrow. O processador RP2350 do Pico W5 é uma melhoria substancial do RP2040, mas por agora (março de 2025) o suporte de software é um pouco limitado.

Especificamente, a placa Pico W5 ainda não está na lista de placas suportadas do Raspberry Pi Pico Arduino core. Aplicações simples como GPIO funcionam, mas não consegui fazer as bibliotecas Wi-Fi ou Bluetooth funcionarem com o Pico W5.

Note também que o demo code para o Pico W5 tem erros ou parece estar direcionado a uma versão mais antiga/diferente da placa Pico W5 que usa o RP2040 em vez do RP2350. Por exemplo, o programa blink no código de demonstração usa GPIO 12 (ou 16) para o LED incorporado, mas na verdade é o 25. Também o guia de instalação mostra a placa Raspberry Pi Pico/RP2040, mas para mim só funcionou a placa Raspberry Pi Pico 2.

Finalmente, existem várias placas Pico diferentes que podem causar confusão. Por exemplo, existe o Pico W5 and the Pico 2W, e o Pico W5 pode vir com um chip microcontrolador RP2350 or a RP2040.

A propósito, se quiser usar um Pico com um ecrã, dê uma vista de olhos no nosso tutorial Scribble on CrowPanel Pico 4.3″ Display.

Boas experiências a fazer tinkering ; )

Links

Aqui estão alguns links que achei úteis ao escrever este artigo:

Esquemas

As imagens abaixo são excertos do esquema da placa Pico W5 com o microcontrolador RP2350 do seguinte link: Schematic & PCB.

Microcontrolador

RP2350 microcontroller
Microcontrolador RP2350

Wi-Fi e Bluetooth

BW16 chip for Wi-Fi and Bluetooth
Chip BW16 para Wi-Fi e Bluetooth

LED incorporado

Built-in LED
LED incorporado

Alimentação

Power Supply
Alimentação