Le moniteur série


(Cliquez pour afficher la version PDF)

 

Le logiciel Arduino IDE dispose d’un moniteur série, qui permet de recevoir et d’envoyer des informations via une liaison série.
Il est particulièrement intéressant pour les tests des programmes puisqu’il permet d’afficher les valeurs des variables, les états logiques des entrées et des sorties de l’Arduino, etc…

Le moniteur série est accessible depuis le logiciel Arduino IDE en cliquant sur la loupe en haut à droite de la fenêtre du logiciel:

Ou à partir du menu Outils/Moniteur série :

Une nouvelle fenêtre s’ouvre alors :

 


La fenêtre est composée de deux zones blanches d’exploitation et de plusieurs commandes :

– la grande zone au centre est la zone d’affichage des données reçues par le moniteur et donc envoyées par l’Arduino,

– la petite zone rectangulaire, en haut est une zone de saisie des données à envoyer à l’Arduino à l’aide du bouton « Envoyer » qui se trouve à sa droite. C’est le programme du microcontrôleur qui génère la demande d’envoi de données par l’utilisateur et qui s’occupe de traiter les informations reçues,

– la case cochée « Défilement automatique » permet d’arrêter le défilement des données retournées par l’Arduino si on la décoche,

– une liste déroulante permettant le réglage du mode de défilement des informations (Pas de fin de ligne, Nouvelle ligne, …),

– une liste déroulante permettant de régler le débit de transmission des données par le port série en bauds.

Remarques :

  • Le baud est une unité de mesure utilisée dans le domaine des télécommunications en général, et dans le domaine informatique en particulier. Le baud est l’unité de mesure du nombre de symboles transmissibles par seconde.
    Le terme « baud » provient du patronyme d’Émile Baudot, l’inventeur du code Baudot utilisé en télégraphie.
    Il ne faut pas confondre le baud avec le bps ou bit par seconde, ce dernier étant l’unité de mesure du nombre d’information effectivement transmise par seconde. Il est en effet souvent possible de transmettre plusieurs bits par symbole. La mesure en bps de la vitesse de transmission est alors supérieure à la mesure en baud.


  • La valeur par défaut est de 9600 bauds. La carte Arduino peut monter jusqu’à une cadence de 115200 bauds. Mais un débit de communication de 9600 caractères (chaque caractère étant codé sur 8 bits, soit 1 octet) par seconde (9600 bauds) est généralement suffisant.


  • Dans les dernières versions du logiciel Arduino IDE, deux nouvelles commandes ont été ajoutés au moniteur série :

. ”Afficher l’horodatage ” (affiche l’heure de la transmission des données)

. ”Effacer la sortie ” (efface la zone d’affichage des données reçues par le moniteur série)

 

Pour utiliser le moniteur série, le programme téléversé dans la mémoire de l’Arduino doit établir la liaison série.

Pour cela, dans la fonction Setup() du programme, on utilise la fonction begin() de la classe  « Serial » :

Le port série de la carte Arduino est alors configuré à 9600 bauds.


Important
 :

– Le microcontrôleur et le moniteur série doivent être configurés sur le même débit de transmission.

– Le programme du microcontrôleur est réinitialisé à l’ouverture du moniteur série.

La classe « Serial » regroupe toutes les fonctions utiles à la gestion d’un port série. Son travail est de gérer le traitement des données d’une communication série entre le moniteur série et le périphérique Arduino.


Les principales fonctions de la classe Serial
 :

. begin();      (Configure la vitesse de transmission du port série)

. print();        (Envoie une donnée sous forme de chaine de caractères sur le port série)

. println();    (Envoie une donnée sur le port série et fait un saut à la ligne)

. write();       (Ecrit des données binaires sur le port série. Ces données sont envoyées comme une série d’octets)

. read();        (Lit les données contenues dans la mémoire tampon ou « buffer » du port série)

. flush();        (Vide la mémoire tampon de la liaison série)

. available(); (Donne le nombre d’octets ou caractères disponibles pour lecture dans la file d’attente ou « buffer » du port série)