You are currently viewing Programmer la carte ESP32-DevKitC avec l’Arduino IDE
Programmer la carte ESP32-DevKitC avec Arduino

Envoyer “Coucou” par la liaison série

La carte de développement ESP32-DevKitC possède une LED témoin de présences de tension, mais pas de LED embarquée commandable par programme. Aussi le moyen le plus simple de vérifier le bon fonctionnement de notre environnement de compilation avec cette carte est l’envoi de messages texte au PC par liaison série.

L'ESP32-DevKitC envoie le message "Coucou" au PC à travers la liaison série
L’ESP32-DevKitC envoie le message “Coucou” au PC à travers la liaison série

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

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

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

Dans le monde Arduino, la bibliothèque de gestion de la liaison série est incluse nativement (il n’est pas nécessaire de le déclarer). Elle s’utilise à travers l’objet “Serial“.

La première chose à faire avant d’utiliser une liaison série est d’ouvrir le port. Ceci s’effectue sous Arduino par la méthode “begin” de l’objet “Serial“. Comme il n’est nécessaire d’ouvrir le port qu’une seule fois pour tout le programme, nous plaçons cette instruction dans la fonction “setup” et choisissons en paramètres la vitesse par défaut de 115200 bauds (bits par seconde):

  Serial.begin(115200);

Pour l’envoi de texte, l’objet “Serial” possède 2 méthodes “print” et “println” qui prennent en paramètre la suite de caractères à transférer sur le port série. La méthode “println” effectue les mêmes opérations que la méthode “print“, mais en plus ajoute automatiquement 2 caractères non imprimables en fin de chaîne, le 13ème et 10ème de la table ASCII qui sont interprétés par les terminaux série comme une demande de retour à la ligne. Ainsi les instructions

Serial.print("toto\r\n")

… et

Serial.println("toto")

… sont équivalentes.

En ce qui concerne notre programme test, nous allons afficher une barre de séparation et le message “Coucou” au démarrage:

  Serial.println("---");
  Serial.println("\nCoucou");

Puis nous afficherons une ligne à laquelle sera ajouté un point toutes les secondes. Pour rappel, la fonction “delay” suspend l’exécution du programme Arduino pendant une durée paramétrable exprimée en millisecondes.

Cela se traduit par l’ajout des instructions suivantes dans la fonction “loop”:

  delay(1000);
  Serial.print(".");

Le programme de test est maintenant terminé. Voici le code complet:

// Fonction de démarrage, s'exécute une seule fois:
void setup()
{
  Serial.begin(115200);
  Serial.println("---");
  Serial.println("\nCoucou");
}

// Fonction principale du programme, s'exécute en boucle:
void loop()
{
  delay(1000);
  Serial.print(".");
}

Compilation du code logiciel

Si vous n’êtes pas familier avec la compilation sous Arduino je vous invite à vous reporter à l’article “Comment écrire un programme sous Arduino ?“.

Pour les autres, la compilation ne pose pas de difficulté particulière une fois le type de carte “ESP32 Dev Module” sélectionné.

Transfert du programme dans la carte ESP32-DevKitC

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 ESP32-DevKitC.
Dans le menu “Outils”, cliquez sur “Port” puis notez les ports listés:

Liste des ports USB de l'Arduino IDE avant le branchement de l'ESP32-DevKitC
Liste des ports USB de l’Arduino IDE avant le branchement de l’ESP32-DevKitC

Vous branchez le câble USB à votre PC:

Branchement du câble USB au PC
Branchement du câble 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 ESP32-DevKitC. Sélectionnez-le pour indiquer à l’Arduino IDE d’utiliser ce port USB pour le transfert du programme.

Liste des ports USB de l'Arduino IDE après le branchement de l'ESP32-DevKitC
Liste des ports USB de l’Arduino IDE après le branchement de l’ESP32-DevKitC

Vous pouvez maintenant lancer le transfert de ce programme dans la ESP32-DevKitC en utilisant au choix:

  • L’icône représentant une flèche horizontale:
Raccourci de l'Arduino IDE pour lancer le téléversement du programme compilé sur la carte de développement.
Raccourci de l’Arduino IDE pour lancer le téléversement du programme compilé sur la carte de développement.
  • ou le menu “Croquis”, en cliquant sur “Téléverser”:
Lancer le téléversement du programme compilé sur la carte de développement par le menu principal de l'Arduino IDE.
Lancer le téléversement du programme compilé sur la carte de développement par le menu principal de l’Arduino IDE.

Comme lors de l’étape de compilation, l’Aduino IDE commence par afficher le message “Compilation du croquis” et une barre de progression. Une fois le transfert terminé, si tout s’est bien déroulé, il va afficher le message “Téléversement fait.”:

Le transfert du programme dans la carte de développement ESP32-DevKitC est terminé
Le transfert du programme dans la carte de développement ESP32-DevKitC est terminé

Il ne reste plus qu’à vérifier que le programme s’exécute correctement.

Lecture des messages envoyés par notre programme

La lecture sur le PC des messages envoyés par la carte ESP32-DevKitC s’effectue en utilisant un Terminal de port série. Vous pouvez pour cela utiliser un outil spécifique comme PuTTY, RealTerm ou bien utiliser celui intégré à l’Arduino IDE comme nous allons le détailler.

 Pour accéder au Terminal de port série, cliquer sur “Moniteur série” dans le menu “Outils“:

Le "Moniteur série" de l'Arduino IDE est accessible par le menu "Outils" de l'Arduino IDE.
Le “Moniteur série” de l’Arduino IDE est accessible par le menu “Outils” de l’Arduino IDE.

Dans la fenêtre de sortie, vous verrez peut-être s’afficher dans un premier temps “Déconnecté. Sélectionnez une carte ainsi qu’un port pour vous connecter automatiquement“:

Le moniteur série de l'Arduino IDE affiche le message d'erreur Déconnecté.
Le moniteur série de l’Arduino IDE affiche le message d’erreur Déconnecté.

Si vous avez laissé branché votre carte après le téléversement, ne tenez pas compte de message il disparaîtra au bout de quelques secondes. Sinon rebranchez-la sur le même port USB de votre PC que précédemment.

Vous verrez ensuite probablement s’afficher des caractères étranges dans la fenêtre de sortie du Moniteur Série. C’est généralement le symptôme d’une vitesse de communication configuré différemment sur le Terminal de port série de celle configurée sur la carte embarquée.

Des caractères étranges s'affichent dans la fenêtre de sortie du Moniteur Série.
Des caractères étranges s’affichent dans la fenêtre de sortie du Moniteur Série.

Pour corriger cela, il vous suffit d’aller dans le menu de droite du moniteur série et de choisir la même vitesse que celle spécifiée dans notre code logiciel (115200 bauds) :

Sélection de la vitesse de communication du moniteur série
Sélection de la vitesse de communication du moniteur série

Des petits points s’affichent maintenant à l’écran à raison d’un par seconde. Cela correspond au code logiciel que nous avons mis dans la fonction “loop”.

Maintenant si vous redémarrez la carte ESP32-DevKitC par un bref appui sur le bouton reset identifié “EN”.

Emplacement du bouton reset sur la carte de développement ESP32-DevKitC
Emplacement du bouton reset sur la carte de développement ESP32-DevKitC

Vous voyez s’afficher les traces générées par le programme d’initialisation de la carte…

Traces de l'ESP32-DevKitC transmises lors du boot
Traces de l’ESP32-DevKitC transmises lors du boot

… avant celles générées par notre code logiciel:

Notre message "Coucou" s'affiche complétement sur le Moniteur série de l'Arduino IDE.
Notre message “Coucou” s’affiche complètement sur le Moniteur série de l’Arduino IDE.

Un résumé en vidéo:

Transfert du programme dans la carte ESP32-DevKitC et vérification du message reçu sur le port série.

Cet article est terminé. Vous savez maintenant programmer l’ESP32-DevKitC et utiliser l’interface série avec Arduino.

S’abonner
Notification pour
guest
1 Commentaire
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
GEINGUENE
GEINGUENE
8 mois il y a

Bonjour,

Je me suis retrouvé sur ce topic suite à un problème avec le moniteur série.
Il restait bloqué sur le message Déconnecté. Sélectionnez une carte ainsi qu’un port pour vous connecter automatiquement“.
Je viens de comprendre mon problème et du coup je posts… Pour quelqu’un d’autre.
En fait j’avais une première branché et fonctionnelle.
Puis j’ai changé de carte et me suis retrouvé sans moniteur série.
J’ai perdu une heure la dessus alors qu’il suffisait de fermer le montieur série et le rouvrir. Cette fois ces bon.