Comment imprimer plusieurs variables dans un moniteur en série Arduino en ligne

Comment imprimer plusieurs variables dans un moniteur en série Arduino en ligne
Arduino est un environnement de développement intégré basé à la fois sur le matériel et les logiciels. Les planches Arduino peuvent être programmées à l'aide d'une extension de la langue C / C ++. La plupart des fonctions de langage de programmation Arduino sont comme le langage C. Avoir une bonne connaissance de la programmation Arduino aide à créer un projet de qualité.

En travaillant avec Arduino, nous devons imprimer plusieurs données sur un moniteur en série. Normalement En série.imprimer La fonction est utilisée, mais aujourd'hui, nous mettrons en évidence une autre fonction nommée Sprintf et examinerons comment cette fonction aide à imprimer plusieurs variables en une seule ligne sur le moniteur série.

Utilisation de série.imprimer()

Normalement, lorsque nous voulons imprimer une variable ou un résultat de sortie, nous utilisons SERIE.print () ou série.println () pour imprimer chaque résultat sur la ligne suivante. Supposons que si nous avons plusieurs variables, nous devons écrire des nombres de lignes pour l'impression en série en fonction du nombre total de variables.

Voici l'exemple qui illustre l'utilisation de la série.imprimer():

Dans l'exemple ci-dessus, nous avons initialisé trois entiers de variables A, B et C. Pour imprimer les trois variables sur un moniteur en série, nous devons écrire séparément un code d'impression en série pour chacun. Ici, nous avons utilisé trois variables qui nous ont amenés à écrire six lignes de code juste pour nous montrer sur le moniteur en série. Imaginez maintenant écrire un code pour cinq ou 10 variables et les imprimer sur un moniteur en série.

C'est à ce moment que la fonction sprintf () entre, discutons de la façon d'imprimer les trois variables dans une seule ligne de code.

Imprimer plusieurs variables à l'aide d'Arduino Sprintf ()

Le sprintf () représente généralement «Princer des cordes". Contrairement à l'impression en série normale, il ne montre pas directement la sortie des variables sur le moniteur en série d'abord, il stocke la sortie à l'intérieur d'une variable de charbon spécifiée amortir.

Le sprintf () permet à l'utilisateur d'envoyer une sortie formatée à un tableau char où le résultat sera stocké. Pour afficher la chaîne où les variables sont formatées, la série.La fonction print () est utilisée.

int sprintf (char * str, const char * format,…);

Comment utiliser Arduino Sprintf ()

Le sprintf () est utile lorsque nous devons imprimer plusieurs variables en une seule ligne, en utilisant les trois lignes de code, nous pouvons écrire autant de variables que nous le souhaitons. Voici la syntaxe de base de l'écriture de plusieurs variables à l'aide de sprintf ():

tampon char [40];
sprintf (tampon, "somme du nombre% d et nombre% d est% d", a, b, c);
En série.println (tampon);
  1. Nous devons d'abord initialiser un tableau de caractères où la chaîne de sortie sera stockée.
  2. Ensuite, dans la deuxième étape, la fonction sprint () sera utilisée qui combinera le texte et les variables en une seule ligne.
  3. Enfin dans la dernière étape en série.La fonction print () affichera la chaîne formatée sur le moniteur en série.

Exemple de code

Nous allons maintenant imprimer le code ci-dessus en utilisant le sprintf () fonction.

Examinons chaque ligne de code en détail maintenant.

D'abord dans le code, nous initialisons la communication série à l'aide de la série.begin () et fixer le taux de bauds à 9600. Plus tard, la section de boucle initialise trois variables A, B et C. La somme des deux premières variables a et b seront stockées dans la troisième variable C. Viens maintenant à la partie principale du code.

tampon char [40];

La taille du tableau de caractères doit être aussi grande qu'elle peut facilement stocker les variables de sortie et le texte. Comptez le nombre de caractères nécessaires pour stocker et faire le tampon avec exactement la même taille.

sprintf (tampon, "somme du nombre% d et nombre% d est% d", a, b, c);

La ligne suivante dans le code est la fonction Sprintf () réelle. Il faut 2 arguments; Le premier argument stockera le personnage à l'intérieur du tableau tampon. Le deuxième argument est la chaîne que nous voulons créer. Ici pour afficher la variable dans la chaîne que nous avons utilisée spécificateurs de format.

Le spécificateur de format est le signe% suivi de la lettre connue sous le nom caractère format. Les spécificateurs de caractère sont la lettre après% signe. Ces deux indiquent le sprint () quel type de données sera utilisé pour les données disponibles.

Certains spécificateurs de caractère communs sont:

Personnage Type de données
D ou I Entier décimal signé
u Entier décimal non signé
s Chaîne de caractères

Dans l'exemple ci-dessus, nous avons initialisé trois spécificateurs de format en utilisant %d ce qui signifie que nous voulons que 3 variables soient stockées dans la chaîne de sortie comme entier décimal signé. Pour obtenir les valeurs à ces trois variables, 3 arguments sont ajoutés juste après la chaîne. Pour chaque spécificateur de format, nous devons passer une valeur distincte et chacun d'eux séparé par virgule.

Note: Les fonctions sprintf () dans Arduino ne peuvent pas gérer les valeurs de points flottants. Donc, si nous devons imprimer un numéro décimal quelque chose comme 3.14 ou 12.12, nous devons d'abord convertir cette valeur flottante en une chaîne, puis imprimer à l'écran. Une fonction dtoStrf () est couramment utilisé pour le faire.

Conclusion

Lors de la programmation de la carte Arduino, nous devons rechercher toutes les techniques et fonctions disponibles qui peuvent optimiser notre code. Avoir un code minimaliste et efficace aide à exécuter un arduino rapidement. Lors de l'impression de données sur le moniteur en série, nous utilisons la fonction d'impression en série, mais nous avons ici couvert comment la fonction Sprint () peut aider Arduino à imprimer plusieurs variables sur une seule ligne.