Formations à l'informatique et à l'électronique

Auteur : SD
Modifié le : 17-09-2023
Créé le : 25-11-2022

ESP32 M5Stack - Programmer avec VsCode et PlatformIO

Cet article explique comment programmer un ESP32 et tous ses dérivés (M5StickC, M5Stack, M5Core,...) en utilisant VsCode et l'extension PlatformIO.

Sommaire

Installation de PlatformIO IDE

Dans VSCode, cliquer sur "Extensions", saisir "platformio" dans la barre de recherche, sélectionner "PlatformIO IDE" et cliquer sur "Install" :

PlatformIO VsCode Install ESP32 M5Stack

A la fin de l’installation, redémarrer VSCode :

PlatformIO VsCode Install ESP32 M5Stack

Créer un nouveau projet

Sur la barre latérale, cliquer sur "PlatformIO", puis sur "Create New Project" :

PlatformIO VsCode ESP32 M5Stack Nouveau projet

Cliquer sur "New Project" :

PlatformIO VsCode ESP32 M5Stack Nouveau projet

Donner un nom au projet, choisir le modèle de carte utilisé, Framework "Arduino" et changer la Location de manière à l’enregistrer dans votre espace personnel :

PlatformIO VsCode ESP32 M5Stack Nouveau projet

La création du projet peut prendre un peu de temps, en profiter pour lire les informations sur la structure des dossiers et fichiers du projet :

PlatformIO VsCode ESP32 M5Stack Nouveau projet
PlatformIO VsCode ESP32 M5Stack Nouveau projet
PlatformIO VsCode ESP32 M5Stack Nouveau projet

Installation de la bibliothèque M5Stack Core 2

Dans l’onglet "PIO Home", cliquer sur "Libraries. Dans la barre de recherche, taper "M5Core2" (ou le nom de la carte que vous utilisez !) et sélectionner la bibliothèque "M5Core2 by M5Stack" :

PlatformIO VsCode ESP32 M5Stack installation bibliothèques

Cliquer sur "Add to Project" :

PlatformIO VsCode ESP32 M5Stack installation bibliothèques

Sélectionner le projet :

PlatformIO VsCode ESP32 M5Stack installation bibliothèques

La bibliothèque est installée dans le dossier ".piolibdeps" du projet. De nombreux exemples sont fournis. Un lien vers cette bibliothèque est créé dans le fichier "platform.ini" situé à la racine du projet :

lib_deps = m5stack/M5Core2@^0.1.5

Le code principal est dans le fichier « src/main.cpp » :

PlatformIO VsCode ESP32 M5Stack installation bibliothèques

On retrouve la structure type d’un programme Arduino avec les fonctions setup() et loop(). La fonction main() n’est pas visible, elle peut être représentée par cet organigramme :

PlatformIO VsCode ESP32 M5Stack Structure Programme Arduino

La fonction setup() est appelée une seule fois au début, ensuite,
comme son nom l’indique, la fonction loop() est exécuté en boucle

Premier code : Hello World !

Modifier le fichier "main.cpp" avec le code ci-dessous :

#include <M5Core2.h> // Ce code est pour un M5Stack Core2 adapter cette ligne à votre matériel

void setup() {
  // put your setup code here, to run once:
    M5.begin(true, false, true, true);        // Init M5Core

    M5.Lcd.setTextSize(2);            // Set the font size
    M5.Lcd.setTextColor(TFT_YELLOW);  // Set the font color to yellow
    M5.Lcd.setCursor(80,0);

    M5.Lcd.println("Hello World !"); 
}

void loop() {
  // put your main code here, to run repeatedly:
}

Pour compiler et téléverser le code dans la carte, cliquer sur "Upload" :

PlatformIO VsCode ESP32 M5Stack M5Core2 Hello World

Vous devez obtenir l’affichage ci-dessous :

PlatformIO VsCode ESP32 M5Stack M5Core2 Hello World

Utilisation du moniteur série

La variable M5 est une instance de la classe M5Core2 instanciée dans le fichier "M5Core2.cpp". Dans le programme précédent, on peut voir que la méthode "begin" comporte 5 paramètres optionnels avec une valeur par défaut (laisser le pointeur de la souris au dessus de "begin" pour faire apparaitre les informations).

PlatformIO VsCode ESP32 M5Stack Serial Monitor

Il est possible de consulter le code de cette méthode en faisant CTRL + clic sur son nom. On peut constater que si le paramètre "SerialEnable" est à true, le port série du M5Stack est initialisé à 115 200 bauds :

PlatformIO VsCode ESP32 M5Stack Serial Monitor

Il fait donc configurer le moniteur série à 115 200 bauds dans le fichier "platformio.ini" :

PlatformIO VsCode ESP32 M5Stack Serial Monitor

Pour démarrer le moniteur série, cliquer sur l’icône "Serial Monitor" (Ctrl + Alt + S) :

PlatformIO VsCode ESP32 M5Stack Serial Monitor

Le moniteur série s’ouvre en bas de l’écran, les paramètres de connexion sont affichés :

PlatformIO VsCode ESP32 M5Stack Serial Monitor

Ajouter la ligne ci-dessous à la fin de la fonction "setup()" et téléverser le programme :

Serial.println("Hello World !");

Vous devez obtenir l’affichage ci-dessous :

PlatformIO VsCode ESP32 M5Stack Serial Monitor

Il existe plusieurs méthodes pour écrire sur le port série. Les plus couramment utilisées sont :

Serial est une instance de la classe "HardwareSerial", il est possible d’accéder à sa déclaration en faisant CTRL + CLIC sur "Serial" dans votre code, puis à nouveau CTRL + CLIC sur "HardwareSerial" pour accéder aux méthodes de cette classe.


Vous avez apprécié cet article ? Partagez le !

Article connexe : A A A Foure tout