Comment programmer le WiFi Kit 32 avec l’Arduino IDE ?

Faire clignoter la LED pilotée

La carte de développement WiFi kit 32 possède 2 LED embarquées:

  • Une LED (blanche) pilotée routée sur l’entrée/sortie numérique 25 de l’ESP32. Nous allons faire clignoter cette LED par commande logiciel dans ce paragraphe.
  • Une LED (orange) d’indication de charge de la batterie externe (non branchée dans cette article). Cette LED clignote par défaut en l’absence de batterie.
Emplacement des LED embarquées sur la carte de développement WiFi kit 32

Comme dans les articles de programmes Arduino précédents, partons de l’ossature du code Arduino suivante:

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
}
// Fonction principale du programme, s'exécute en boucle:
void loop()
{
}

Tout d’abord, afin de faciliter la lecture du programme, nous allons définir l’alias  “PORT_LED_PILOTEE” pour désigner la sortie numérique de la LED pilotée.  La directive de préprocesseur#define” permet de créer cet alias:

// Définition des constantes globales
#define PORT_LED_PILOTEE      25   // Numéro de port auquel est branchée la LED pilotée.

Nous indiquons ensuite que nous voulons utiliser la broche d’entrée/sortie de la LED en mode sortie (“OUTPUT”) à l’aide l’instruction  “pinmode” . Il n’est nécessaire d’exécuter cette instruction qu’une seule fois avant l’utilisation de cette sortie, aussi vous l’insérez dans la fonction “setup” :

  pinMode(PORT_LED_PILOTEE, OUTPUT);

L’allumage de la LED s’effectue par une demande de positionnement de la sortie à l’état haut (“HIGH”) et son extinction par une demande de positionnement de la sortie à l’état bas (“LOW”). Vous allez utiliser la fonction digitalWritepour effectuer ce changement d’état de la sortie du microcontrôleur.

Il est également nécessaire de marquer une pause après avoir modifié l’état allumé/éteint de la LED pour permettre sa visualisation. Vous utiliserez pour cela la fonction delay”  avec la valeur de 1000 millisecondes en paramètre.

En utilisant ces instructions dans la fonction “loop”, vous obtiendrez l’effet répétitif:

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

Maintenant votre programme de clignotement de la LED est terminé. Voici le code complet:

// Définition des constantes globales
#define PORT_LED_PILOTEE      25   // Numéro de port auquel est branchée la LED pilotée.

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
  pinMode(PORT_LED_PILOTEE, OUTPUT);
}
// Fonction principale du programme, s'exécute en boucle:
void loop()
{
  digitalWrite(PORT_LED_PILOTEE, HIGH);
  delay(1000);
  digitalWrite(PORT_LED_PILOTEE, LOW);
  delay(1000);
}

Compilation du code logiciel

Avant de transférer le code logiciel que nous venons d’écrire dans notre carte WiFi kit 32, nous demandons à l’Arduino IDE de le “compiler” c’est à dire le transformer en un fichier binaire (suite de 1 et de 0) compréhensible par le microcontrôleur. Commençons par indiquer à l’Arduino IDE le type de microcontrôleur auquel est destiné ce code logiciel. Dans le menu “Outils”, choisissez l’élément commençant par “Type de carte” puis “Heltec WiFi kit 32”:

Dans le menu "Outils", choisissez l'élément commençant par "Type de carte" puis "Heltec WiFi Kit 32"

Lorsqu’on demande à l’Arduino IDE de “compiler” un programme, celui-ci vérifie préalablement la syntaxe du code logiciel qui lui est fourni. Cette opération se lance par le menu “Croquis”, en cliquant sur “Vérifier/Compiler”:

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

L’Aduino IDE affiche le message “Compilation du croquis” et une barre de progression indique qu’il est occupé à compiler votre code source:

Compilation du code logiciel en cours

Si une erreur a été rencontrée au cours de la compilation, un bandeau orange s’affiche sous la zone d’écriture du programme avec un bouton “Recopier 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 12.

La vérification/compilation du code logiciel a échoué

Si vous rencontrez un message d’erreur, il est nécessaire de modifier le code logiciel que vous venez d’écrire pour corriger votre code avant de relancer la compilation  (menu “Croquis”, puis “Vérifier/Compiler”).

Une fois la compilation terminée, si tout s’est bien déroulé vous avez le message “Compilation terminée” qui s’affiche sous la zone d’écriture du programme:

La vérification/compilation du code logiciel a réussie

Transfert du programme dans la carte WiFi kit 32

Pour le transfert du programme que vous venez de compiler, la première chose à faire est de lister les ports USB visibles par l’Arduino IDE avant même le branchement de votre carte WiFi kit 32.
Dans le menu “Outils”, cliquez sur “Port” puis notez les ports listés:

Liste des ports USB avant le branchement de la carte WiFi kit 32

Brancher votre câble USB à la carte de développement WiFi kit 32 …

Branchement du cable micro USB Type B à la carte de développement WiFi kit 32

… et au PC.

Branchement du cable USB au PC

Maintenant si vous allez dans le menu “Outils”, puis cliquez sur “Port” vous voyez un nouveau port référencé. C’est celui qui correspond à notre carte de développement WiFi kit 32. Sélectionnez le pour indiquer à l’Arduino IDE d’utiliser ce port USB à pour le transfert du programme.

Nouveau ports USB après le branchement de la carte WiFi kit 32

Vous pouvez maintenant lancer le transfert de ce programme dans la carte Arduino par le menu “Croquis”, en cliquant sur “Téléverser”:

Transférer le programme compilé sur la carte de développement WiFi kit 32

Comme lors de l’étape de compilation, l’Aduino IDE affiche le message “Compilation du croquis” et une barre de progression avant de procéder au transfert du logiciel dans le WiFi kit 32. Une fois ce transfert terminé, si tout s’est bien déroulé, il va afficher le message “Téléversement terminé”:

Le transfert du programme dans la carte de développement WiFi kit 32 est terminé

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

Faire clignoter une LED c’est bien, mais autant profiter de l’écran OLED intégré à la carte WiFi kit 32 !
Nous allons utiliser cet écran OLED pour afficher à la fois du texte et des images. (Rendez-vous page 3.)

Laisser un commentaire