Arduino - Traceur série

Dans ce tutoriel, nous apprendrons à utiliser le traceur série sur Arduino IDE, comment tracer plusieurs graphiques.

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

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 du traceur série

Le Traceur Série est l'un des outils de l'IDE Arduino. Arduino peut lire la température, l'humidité ou toute autre donnée de capteur, et les envoyer au Traceur Série. Le Traceur Série reçoit les données de l'Arduino et visualise les données sous forme d'ondes. Le Traceur Série peut visualiser non seulement des données de capteurs uniques, mais aussi plusieurs données de capteurs sur le même graphique.

Les données sont échangées entre le traceur série et l'Arduino via un câble USB, qui est également utilisé pour télécharger le code sur l'Arduino. Par conséquent, pour utiliser le traceur série, nous DEVONS connecter l'Arduino et le PC via ce câble.

Le traceur série comprend une boîte de sélection pour choisir le débit binaire série et un graphique :

  • Axe des abscisses : représente le temps. Il comporte 500 points. Le temps entre chaque point correspond au temps entre deux appels consécutifs de la fonction Serial.println(). Ce temps est généralement équivalent à celui de la fonction loop().
  • Axe des ordonnées : représente les valeurs reçues de l'Arduino. L'axe des ordonnées s'ajuste automatiquement à mesure que la valeur augmente ou diminue.

Si vous souhaitez utiliser le traceur série sur votre smartphone, vous pouvez utiliser le traceur Web série à la place.

Comment ouvrir le traceur série

Dans l'IDE Arduino, cliquez sur l'icône Traceur Série

comment ouvrir le traceur série

Tracé d'une ligne unique dans un graphique

Pour imprimer un seul graphique, nous devons simplement envoyer les données et les terminer par le caractère « \r\n ».

En détail, nous devons juste utiliser la fonction Serial.println().

Serial.println(variable);

※ NOTE THAT:

Serial.println() ajoute automatiquement les caractères “\r\n” après les données.

Exemple de Code

Cet exemple lit la valeur d'une broche d'entrée analogique et les trace sur le traceur série.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = analogRead(A0); Serial.println(y1); delay(100); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
  • Cliquez sur le bouton Upload sur l'IDE Arduino pour charger le code sur Arduino
  • Ouvrez le traceur série
  • Sélectionnez le baudrate 9600
  • Regardez le graphique sur le traceur série
exemple de traceur série ligne unique

Tracé de plusieurs lignes dans un graphique

Lorsque nous voulons 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); // Imprime la variable nth
  • La dernière variable
Serial.print("\t"); // ou Serial.print(" ") Serial.println(variable_last); // Imprime la dernière variable

Exemple de code

Cet exemple lit la valeur de 4 broches d'entrée analogiques et les trace sur le traceur série.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = analogRead(A0); int y2 = analogRead(A1); int y3 = analogRead(A2); int y4 = analogRead(A3); Serial.print(y1); Serial.print(" "); // un caractère espace ' ' ou tabulation '\t' est imprimé entre les deux valeurs. Serial.print(y2); Serial.print(" "); // un caractère espace ' ' ou tabulation '\t' est imprimé entre les deux valeurs. Serial.print(y3); Serial.print(" "); // un caractère espace ' ' ou tabulation '\t' est imprimé entre les deux valeurs. Serial.println(y4); // la dernière valeur est suivie d'un retour chariot et de caractères de nouvelle ligne. delay(100); }

Graphique multiple :

exemple de traceur série à lignes multiples

Exemple de 3 formes d'onde sinusoïdales

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { for(int i = 0; i < 360; i += 5) { float y1 = 1 * sin(i * M_PI / 180); float y2 = 2 * sin((i + 90)* M_PI / 180); float y3 = 5 * sin((i + 180)* M_PI / 180); Serial.print(y1); Serial.print("\t"); // un caractère d'espace ' ' ou de tabulation '\t' est imprimé entre les deux valeurs. Serial.print(y2); Serial.print("\t"); // un caractère d'espace ' ' ou de tabulation '\t' est imprimé entre les deux valeurs. Serial.println(y3); // la dernière valeur est suivie d'un retour chariot et de caractères de nouvelle ligne. delay(100); } }

Graphique de plusieurs ondes sinusoïdales :

traceur de courbe en série pour une onde sinusoïdale

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!