🛠 Faire clignoter la LED embarquée via la radio
Objectifs
Sur la Pico 2 W, la LED embarquée n'est pas branchee sur le RP2350 mais sur la puce radio CYW4343 (broche WL_GPIO0). Ce tutoriel vous apprend a la faire clignoter via l'API cyw43_arch du pico-sdk, a compiler avec le flag PICO_BOARD=pico2_w et a flasher un UF2 en mode BOOTSEL.
Matériel
- Carte Raspberry Pi Pico 2 W
- Cable micro-USB a données (pas seulement charge)
- PC avec pico-sdk, CMake >= 3.13 et gcc-arm-none-eabi
Code complet
// main.c - pico-examples pico_w/wifi/blink/picow_blink.c
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
int main {
stdio_init_all;
if (cyw43_arch_init) { // alimente et initialise le CYW43
printf("Wi-Fi init failed\n");
return -1;
}
while (true) {
// SURTOUT PAS gpio_put(25, ...) : GP25 est le CS SPI de la radio !
cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 1);
sleep_ms(250);
cyw43_arch_gpio_put(CYW43_WL_GPIO_LED_PIN, 0);
sleep_ms(250);
}
}
Compilation : cmake -DPICO_BOARD=pico2_w .. puis picobuild blink_led. Maintenir BOOTSEL, brancher l'USB, copier blink_led.uf2 sur le lecteur RPI-RP2.
Vérification attendue
La LED embarquée clignote toutes les 250 ms des la mise sous tension. Sans cyw43_arch_init, rien ne s'allume ; si l'initialisation radio échoue, le message Wi-Fi init failed apparait sur la console série a 115200 bauds.
Erreurs fréquentes
- Utiliser gpio_put(25, ...) herite du Pico classique : GP25 est la ligne CS SPI du CYW43, cela corrompt la radio et casse le Wi-Fi.
- Oublier -DPICO_BOARD=pico2_w : cyw43_arch n'est pas compile, erreur a l'edition de liens.
- Appeler cyw43_arch_gpio_put sans cyw43_arch_init prealable.
- Cable USB uniquement charge ou BOOTSEL relache trop tot : le lecteur RPI-RP2 n'apparait jamais.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-interruption.pyPythonpwm-servo.pyPythonlecture-adc.pyPythonneopixel.pyPythonoled-i2c.pyPython