You are currently viewing Programmer le Raspberry Pi Pico 2 avec Arduino
Programmer le Raspberry Pi Pico 2 avec Arduino

Faire clignoter la LED embarquée

Pour permettre de valider l’environnement de compilation Arduino de la carte Raspberry Pi Pico 2, le plus simple est d’écrire un petit programme faisant clignoter la LED embarquée.

Localisation de la LED embarquée

Sur la carte Raspberry Pi Pico 2 se trouve une LED verte directement soudée au circuit imprimé. Elle est reliée en interne à la broche GP25 du microcontrôleur RP2350, et se situe à proximité du connecteur USB.

Emplacement de la LED embarquée sur la carte Raspberry Pi Pico 2
Emplacement de la LED embarquée sur la carte Raspberry Pi Pico 2

Dans l’IDE Arduino, cette LED est accessible à l’aide de la constante prédéfinie LED_BUILTIN, ce qui rend le code portable. Cependant, pour simplifier la compréhension du programme pour les débutants, nous allons utiliser directement le numéro de broche.

Structure de base d’un programme Arduino

Comme pour tous les programmes Arduino, nous utilisons l’ossature standard composée de deux fonctions obligatoires :

// Fonction de démarrage, s'exécute une seule fois au démarrage :
void setup()
{

}

// Fonction principale du programme, s'exécute en boucle infinie :
void loop()
{

}

La fonction setup() s’exécute une seule fois au démarrage du microcontrôleur (à la mise sous tension ou après un reset). C’est l’endroit idéal pour configurer les broches, initialiser les communications série, ou préparer vos variables.

La fonction loop() s’exécute ensuite en boucle indéfiniment, tant que le microcontrôleur est alimenté. C’est le cœur du programme.

Configuration de la broche LED

Avant d’utiliser une broche GPIO, il est indispensable de définir son mode de fonctionnement. Pour contrôler une LED, nous devons configurer la broche en mode sortie (OUTPUT).

Ajoutez la ligne suivante dans la fonction setup() :

pinMode(25, OUTPUT);

La fonction pinMode() accepte deux paramètres :

  1. Le numéro du port (ici 25)
  2. Le mode souhaité : OUTPUT (sortie), INPUT (entrée) ou INPUT_PULLUP (entrée avec résistance de tirage interne)

Logique du clignotement

Pour clignoter la LED, le microcontrôleur va successivement l’allumer… attendre un moment… l’éteindre… attendre à nouveau… et ainsi de suite.

L’allumage de la LED s’effectue par une demande de positionnement de la sortie 25 à « HIGH » et son extinction par une demande de positionnement de la sortie 25 à « LOW » en utilisant la fonction « digitalWrite« . Vous effectuez ces demandes par ajout des lignes de code suivantes dans la fonction « loop »:

digitalWrite(25, HIGH);
digitalWrite(25, LOW);

Il manque encore une étape pour obtenir le clignotement visible : si on laisse le code tel quel, l’allumage et l’extinction se feront en quelques millisecondes, ce qui sera trop rapide pour que l’œil humain le perçoive.

Il est donc nécessaire de demander au microcontrôleur de marquer une pause après chaque changement d’état de la LED. Pour cela nous appelons la fonction « delay »  qui demande au microcontrôleur d’attendre une durée exprimée en millisecondes. Pour attendre 1 seconde après chaque extinction ou allumage, ajoutez la ligne suivante :

delay(1000);

Code complet

Voici le programme complet:

// Fonction de démarrage, s'exécute une seule fois au démarrage :
void setup()
{
  pinMode(25, OUTPUT);
}

// Fonction principale du programme, s'exécute en boucle infinie :
void loop()
{
  digitalWrite(25, HIGH);
  delay(1000);
  digitalWrite(25, LOW);
  delay(1000);
}

Compilation du code logiciel

Avant de transférer le code sur votre carte Raspberry Pi Pico 2, l’IDE Arduino doit « compiler » le programme : c’est-à-dire le transformer en un fichier binaire (une suite de 0 et de 1) que le microcontrôleur RP2350 peut exécuter.

Assurez-vous d’abord que l’Arduino IDE est bien configuré pour le Pico 2. Dans le menu « Outils », vérifiez que « Carte: » indique bien « Raspberry Pi Pico 2 ». Sinon, référez-vous au chapitre « Sélection de la carte Raspberry Pi Pico 2 ».

Pour compiler votre programme et vérifier sa syntaxe, utilisez le menu « Croquis », en cliquant sur « Vérifier/Compiler »:

Menu de l'Arduino IDE pour vérifier/compiler le code logiciel
Menu de l’Arduino IDE pour vérifier/compiler le code logiciel

L’Aduino IDE affiche le message « Compilation du programme… » et une barre de progression indique qu’il est occupé à compiler votre code source:

Compilation du code logiciel de la carte Raspberry Pi Pico 2 en cours
Compilation du code logiciel de la carte Raspberry Pi Pico 2 en cours

Si une erreur a été rencontrée au cours de la compilation, une fenêtre flottante s’affiche sous la zone d’écriture du programme avec affiché « Compilation error » et un bouton « Copier les messages d’erreur ». En exemple, la copie d’écran ci-dessous affiche le message d’erreur produit par un « ; »  oublié en fin de la ligne 13.

La vérification/compilation du code logiciel a échouée pour la carte Raspberry Pi Pico 2
La vérification/compilation du code logiciel a échouée pour la carte Raspberry Pi Pico 2

Conseils pour déboguer :

  • Lisez attentivement le message d’erreur, il indique souvent précisément le problème
  • Vérifiez les point-virgules en fin de ligne (l’erreur la plus fréquente)
  • Contrôlez que toutes les accolades { sont bien fermées par une accolade }
  • Assurez-vous que les noms de fonctions sont correctement orthographiés (C++ est sensible à la casse)

Une fois la compilation terminée, si tout s’est bien déroulé vous avez le message « Compilation terminée » qui s’affiche dans une fenêtre flottante:

La vérification/compilation du code logiciel pour la carte Raspberry Pi Pico 2 a réussie
La vérification/compilation du code logiciel pour la carte Raspberry Pi Pico 2 a réussie

Transfert du programme dans le Raspberry Pi Pico 2

Lors du tout premier Transfert de programme sur un Raspberry Pi Pico 2 neuf (ou après un effacement complet de la mémoire), une manipulation spéciale est nécessaire. Les transferts suivants seront automatiques et ne nécessiteront plus cette manipulation.

Commencez par débrancher le câble USB du Raspberry Pi Pico 2 s’il est déjà connecté.

Puis branchez le câble USB à votre PC :

Branchement du câble USB au PC
Branchement du câble USB au PC

Première fois uniquement : Basculement en mode « Transfert de programme »

Sur la carte, localisez le bouton BOOTSEL (petit bouton blanc situé entre le connecteur USB et la puce RP2350):

Emplacement du bouton BOOTSEL sur la carte Raspberry Pi Pico 2
Emplacement du bouton BOOTSEL sur la carte Raspberry Pi Pico 2

Enfoncez ce bouton avec votre doigt. Tout en le maintenant enfoncé, branchez le câble USB au Pico 2.

Branchement du câble USB au Raspberry Pi Pico 2 en maintenant BOOTSEL enfoncé
Branchement du câble USB au Raspberry Pi Pico 2 en maintenant BOOTSEL enfoncé

Attendez 2 secondes, puis relâchez le bouton BOOTSEL…

Le Pico 2 apparaît alors comme une clé USB nommée « RP2350 » dans l’explorateur de fichiers.

Raspberry Pi Pico 2 vue comme une clef USB
Raspberry Pi Pico 2 vue comme une clef USB

Vous pouvez fermer cette fenêtre d’explorateur si elle s’ouvre automatiquement. Nous n’allons pas copier de fichier manuellement : nous allons utiliser l’IDE Arduino.

Dans le menu Outils → Port, sélectionnez le port listé nommé « UF2 Board » sous « uf2conv ports » :

Sélection du port pour le premier transfert de programme dans le Raspberry Pi Pico 2
Sélection du port pour le premier transfert de programme dans le Raspberry Pi Pico 2

Les fois suivantes : Branchement simple

Lors des utilisations suivantes, vous n’avez pas de précaution particulière à prendre. Un simple branchement du câble USB sur le PI Pico 2 suffit.

Simple branchement du câble USB au Raspberry Pi Pico 2
Simple branchement du câble USB au Raspberry Pi Pico 2

Pour les transferts ultérieurs, sélectionnez le port série via Outils → Port, puis cliquez sur celui se terminant par « Raspberry Pi Pico 2, Waveshare RP2350 PiZero » :

Sélection du port pour les transferts suivants d'un programmes dans le Raspberry Pi Pico 2
Sélection du port pour les transferts suivants d’un programmes dans le Raspberry Pi Pico 2

Lancement du transfert

Vous pouvez maintenant lancer le transfert du programme sur la carte via Croquis → Téléverser dans l’IDE Arduino :

Menu de l'Arduino IDE pour transférer le logiciel
Menu de l’Arduino IDE pour transférer le logiciel

Comme lors de la compilation, l’IDE Arduino affiche d’abord « Compilation du programme… », puis « Téléversement ». Une fois l’opération terminée avec succès, il affiche le message « Téléversement fait. » :

Le transfert du logiciel dans la carte Raspberry Pi Pico 2 a réussie
Le transfert du logiciel dans la carte Raspberry Pi Pico 2 a réussie

Ça y est, le programme est chargé sur votre carte. Vous pouvez maintenant observer le clignotement de la LED embarquée.

 
Clignotement de la LED interne du Raspberry Pi Pico 2

Pour aller plus loin

Pour aller plus loin, je vous invite à adapter votre code. Par exemple, vous pouvez accélérer le clignotement en réduisant la durée d’attente de la fonction « delay » à 300ms:

digitalWrite(25, HIGH);
delay(1000);
digitalWrite(25, LOW);
delay(1000);

Une fois le code modifié, n’oubliez pas de recompiler avant le transfert du programme sur la carte.

S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
×
×

Panier