ESP32 - Traceur Série

Ce tutoriel vous explique comment utiliser le traceur série sur l'IDE Arduino avec l'ESP32.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×(Optional) DC Power Jack
1×Breadboard
1×Jumper Wires
1×(Recommended) ESP32 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de Traceur de Séries

Le traceur série est un outil de l'IDE Arduino qui peut recevoir des données d'ESP32 via série et les représenter sur un graphique. Le traceur série peut tracer les données de plusieurs capteurs sur le même écran.

Pour recevoir les données de l'ESP32, il est nécessaire d'utiliser un câble micro USB entre l'ESP32 et le PC.

Le traceur série est composé de deux composants :

  • **une boîte de sélection** : utilisée pour sélectionner le débit en bauds du port série
  • **un graphique** : un écran qui affiche les données visualisées
    • **Axe X** : représente le temps. Il comporte 500 points. Le temps entre chaque point est le temps entre deux appels consécutifs de la fonction Serial.println().
    • **Axe Y** : présente les valeurs de données reçues de l'ESP32. L'axe Y s'adapte automatiquement lorsque la valeur des données augmente ou diminue.

Comment ouvrir le traceur série

Sur l'IDE Arduino, cliquez sur le Traceur série comme ci-dessous :

comment ouvrir le traceur série

Comment tracer une ligne simple sur un graphique

Pour tracer une seule ligne sur un graphique, il suffit d'envoyer les données terminées par le caractère « \r\n ». Nous pouvons utiliser la fonction Serial.println().

Serial.println(variable);

※ NOTE THAT:

Serial.println() ajoute automatiquement les caractères « \r\n » aux données.

Exemple de Code

L'exemple de code ESP32 ci-dessous lit la valeur d'une broche d'entrée analogique et l'envoie au traceur série.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int variable_1 = analogRead(A0); Serial.println(variable_1); delay(100); }

Étapes rapides

  • Si c'est la première fois que vous utilisez ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  • Compilez et téléchargez le code vers la carte ESP32 en cliquant sur le bouton Upload de l'Arduino IDE
  • Ouvrez le traceur série
  • Sélectionnez le baudrate 9600
  • Voir le graphique sur le traceur série
exemple de traceur série sur une seule ligne

Comment tracer plusieurs lignes sur un graphique

Pour tracer plusieurs variables, nous devons séparer les variables les unes des autres par le caractère “\t” ou " ". La dernière valeur DOIT être terminée par les caractères “\r\n”.

En détail :

  • La première variable
Serial.print(variable_first);
  • Les variables intermédiaires
Serial.print("\t"); // ou Serial.print(" ") Serial.print(variable_nth);
  • La dernière variable
Serial.print("\t"); // ou Serial.print(" ") Serial.println(variable_last); // Imprime la dernière variable

Exemple de code

Le code d'exemple ESP32 ci-dessous lit la valeur de 4 broches d'entrée analogiques et les envoie au traceur série.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int variable_1 = analogRead(A0); int variable_2 = analogRead(A1); int variable_3 = analogRead(A2); int variable_4 = analogRead(A3); Serial.print(variable_1); Serial.print(" "); // un caractère de tabulation '\t' ou espace ' ' est imprimé entre les deux valeurs. Serial.print(variable_2); Serial.print(" "); // un caractère de tabulation '\t' ou espace ' ' est imprimé entre les deux valeurs. Serial.print(variable_3); Serial.print(" "); // un caractère de tabulation '\t' ou espace ' ' est imprimé entre les deux valeurs. Serial.println(variable_4); // la dernière valeur est terminée par un retour chariot et un caractère de nouvelle ligne. delay(100); }

Le résultat sur le moniteur série :

traceur de courbes en série à lignes multiples

Exemple de 3 formes d'onde sinusoïdales

L'exemple de code ESP32 ci-dessous imprime les valeurs de trois ondes sinusoïdales sur le traceur série.

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); // Initialisation du port série à 9600 bauds } void loop() { for (int i = 0; i < 360; i += 5) { float sine_1 = 1 * sin(i * M_PI / 180); // Calcul du sinus de i en degrés float sine_2 = 2 * sin((i + 90) * M_PI / 180); // Calcul du sinus de (i+90) en degrés, multiplié par 2 float sine_3 = 5 * sin((i + 180) * M_PI / 180); // Calcul du sinus de (i+180) en degrés, multiplié par 5 Serial.print(sine_1); Serial.print("\t"); // Imprime un tab '\t' ou un espace ' ' entre les valeurs Serial.print(sine_2); Serial.print("\t"); // Imprime un tab '\t' ou un espace ' ' entre les valeurs Serial.println(sine_3); // La dernière valeur est terminée par un retour chariot et des caractères de nouvelle ligne delay(100); // Un délai de 100 millisecondes entre chaque itération } }

Le résultat sur le traceur série :

traceur de courbe sinusoïdale

Si vous voulez ce traceur sur le web, consultez ESP32 - Web Plotter

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!