{"id":2456,"date":"2020-04-16T09:13:05","date_gmt":"2020-04-16T07:13:05","guid":{"rendered":"http:\/\/www.ardpylab.fr\/?page_id=2456"},"modified":"2020-05-10T16:38:58","modified_gmt":"2020-05-10T14:38:58","slug":"le-moniteur-serie","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=2456","title":{"rendered":"Le moniteur s\u00e9rie"},"content":{"rendered":"\n<h6><span style=\"color: #999999;\"><br \/>(<em>Cliquez pour afficher la version PDF)<\/em><\/span><\/h6>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/moniteur-serie.pdf\">Le moniteur s\u00e9rie<\/a><a href=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/moniteur-serie.pdf\" class=\"wp-block-file__button\" download>T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<p>\u00a0<\/p>\n<p>Le logiciel Arduino IDE dispose d&rsquo;un moniteur s\u00e9rie, qui permet de recevoir et d\u2019envoyer des informations via une liaison s\u00e9rie. <br \/>Il est particuli\u00e8rement int\u00e9ressant pour les tests des programmes puisqu\u2019il permet d\u2019afficher les valeurs des variables, les \u00e9tats logiques des entr\u00e9es et des sorties de l\u2019Arduino, etc\u2026<\/p>\n\n\n<div  class=\"grids-section grids-is-advanced\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:12;--_gs-rows:6\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/11;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<p>Le moniteur s\u00e9rie est accessible depuis le logiciel <strong>Arduino IDE<\/strong> en cliquant sur la loupe en haut \u00e0 droite de la fen\u00eatre du logiciel:<\/p>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:11\/13;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms1.png\" alt=\"\" class=\"wp-image-2459\" width=\"26\" height=\"26\"\/><\/figure><\/div>\n\n<\/div>\n<\/div><\/div>\n\n\n<p>Ou \u00e0 partir du menu <strong>Outils\/Moniteur s\u00e9rie&nbsp;:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"486\" height=\"345\" class=\"wp-image-2462 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms2.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms2.png 486w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms2-300x213.png 300w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/><\/figure>\n<\/div>\n\n\n\n<p>Une nouvelle fen\u00eatre s\u2019ouvre alors&nbsp;:<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"561\" height=\"356\" class=\"wp-image-2465 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms3.png\" alt=\"\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms3.png 561w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms3-300x190.png 300w\" sizes=\"auto, (max-width: 561px) 100vw, 561px\" \/><\/figure>\n<\/div>\n<p>&nbsp;<\/p>\n\n\n\n<p><br>La fen\u00eatre est compos\u00e9e de deux zones blanches d&rsquo;exploitation et de plusieurs commandes&nbsp;:<\/p>\n<p>&#8211; la grande zone au centre est la zone d&rsquo;affichage des donn\u00e9es re\u00e7ues par le moniteur et donc envoy\u00e9es par l\u2019Arduino,<\/p>\n<p>&#8211; la petite zone rectangulaire, en haut est une zone de saisie des donn\u00e9es \u00e0 envoyer \u00e0 l\u2019Arduino \u00e0 l\u2019aide du bouton \u00ab\u00a0Envoyer\u00a0\u00bb qui se trouve \u00e0 sa droite. C\u2019est le programme du microcontr\u00f4leur qui g\u00e9n\u00e8re la demande d\u2019envoi de donn\u00e9es par l\u2019utilisateur et qui s&rsquo;occupe de traiter les informations re\u00e7ues,<\/p>\n<p>&#8211; la case coch\u00e9e \u00ab\u00a0D\u00e9filement automatique\u00a0\u00bb permet d\u2019arr\u00eater le d\u00e9filement des donn\u00e9es retourn\u00e9es par l&rsquo;Arduino si on la d\u00e9coche,<\/p>\n<p>&#8211; une liste d\u00e9roulante permettant le r\u00e9glage du mode de d\u00e9filement des informations (Pas de fin de ligne, Nouvelle ligne, \u2026),<\/p>\n<p>&#8211; une liste d\u00e9roulante permettant de r\u00e9gler le d\u00e9bit de transmission des donn\u00e9es par le port s\u00e9rie en bauds.<br><br><\/p>\n<p><strong><u>Remarques<\/u><\/strong>&nbsp;:<\/p>\n<ul>\n<li>Le baud est une unit\u00e9 de mesure utilis\u00e9e dans le domaine des t\u00e9l\u00e9communications en g\u00e9n\u00e9ral, et dans le domaine informatique en particulier. Le baud est l&rsquo;unit\u00e9 de mesure du nombre de symboles transmissibles par seconde.<br>Le terme \u00ab\u00a0baud\u00a0\u00bb provient du patronyme d&rsquo;\u00c9mile Baudot, l&rsquo;inventeur du code Baudot utilis\u00e9 en t\u00e9l\u00e9graphie.<br>Il ne faut pas confondre le baud avec le bps ou bit par seconde, ce dernier \u00e9tant l&rsquo;unit\u00e9 de mesure du nombre d&rsquo;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\u00e9rieure \u00e0 la mesure en baud.<br><br><br><\/li>\n<li>La valeur par d\u00e9faut est de 9600 bauds. La carte Arduino peut monter jusqu&rsquo;\u00e0 une cadence de 115200 bauds. Mais un d\u00e9bit de communication de 9600 caract\u00e8res (chaque caract\u00e8re \u00e9tant cod\u00e9 sur 8 bits, soit 1 octet) par seconde (<strong>9600 bauds<\/strong>) est g\u00e9n\u00e9ralement suffisant.<br><br><br><\/li>\n<li>Dans les derni\u00e8res versions du logiciel <strong style=\"font-size: inherit;\">Arduino IDE<\/strong><span style=\"font-size: inherit;\">, deux nouvelles commandes ont \u00e9t\u00e9 ajout\u00e9s au moniteur s\u00e9rie&nbsp;:<\/span><\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">. \u201dAfficher l\u2019horodatage \u201d&nbsp;(affiche l\u2019heure de la transmission des donn\u00e9es)<\/p>\n<p style=\"padding-left: 40px;\">. \u201dEffacer la sortie \u201d (efface la zone d\u2019affichage des donn\u00e9es re\u00e7ues par le moniteur s\u00e9rie)<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2474 aligncenter\" style=\"border: 3px solid #eeeeee; padding: 3px; margin: 3px;\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/04\/com-ardpy-ms4.png\" alt=\"\" width=\"547\" height=\"325\"><\/figure>\n<\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Pour utiliser le moniteur s\u00e9rie, le programme t\u00e9l\u00e9vers\u00e9 dans la m\u00e9moire de l\u2019Arduino doit \u00e9tablir la liaison s\u00e9rie.<\/p>\n<p>Pour cela, dans la fonction Setup() du programme, on utilise la fonction <strong>begin()<\/strong>&nbsp;de la classe &nbsp;\u00ab\u00a0<strong>Serial<\/strong>\u00a0\u00bb&nbsp;:<\/p>\n\n\n\n<p style=\"padding-left: 40px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-355\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/image-58.png\" alt=\"\" width=\"185\" height=\"58\"><\/p>\n<p><strong>Le port s\u00e9rie de la carte<\/strong>&nbsp;<strong>Arduino est alors configur\u00e9 \u00e0 9600 bauds.<\/strong><\/p>\n\n\n\n<p><strong><u><br \/>Important<\/u><\/strong>\u00a0:<\/p>\n<p style=\"padding-left: 40px;\">&#8211; Le microcontr\u00f4leur et le moniteur s\u00e9rie doivent \u00eatre configur\u00e9s sur le m\u00eame d\u00e9bit de transmission.<\/p>\n<p style=\"padding-left: 40px;\">&#8211; Le programme du microcontr\u00f4leur est r\u00e9initialis\u00e9 \u00e0 l\u2019ouverture du moniteur s\u00e9rie.<br \/><br \/><\/p>\n<p>La classe \u00ab\u00a0<strong>Serial<\/strong>\u00a0\u00bb regroupe toutes les fonctions utiles \u00e0 la gestion d&rsquo;un port s\u00e9rie. Son travail est de g\u00e9rer le traitement des donn\u00e9es d&rsquo;une communication s\u00e9rie entre le moniteur s\u00e9rie et le p\u00e9riph\u00e9rique Arduino.<\/p>\n<p><strong><u><br \/>Les principales fonctions de la classe Serial<\/u><\/strong>\u00a0:<\/p>\n<p style=\"padding-left: 40px;\">. <strong>begin();<\/strong> \u00a0\u00a0\u00a0\u00a0 (Configure la vitesse de transmission du port s\u00e9rie)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>print();<\/strong> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (Envoie une donn\u00e9e sous forme de chaine de caract\u00e8res sur le port s\u00e9rie)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>println();<\/strong> \u00a0\u00a0 (Envoie une donn\u00e9e sur le port s\u00e9rie et fait un saut \u00e0 la ligne)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>write();<\/strong> \u00a0\u00a0\u00a0\u00a0\u00a0 (Ecrit des donn\u00e9es binaires sur le port s\u00e9rie. Ces donn\u00e9es sont envoy\u00e9es comme une s\u00e9rie d&rsquo;octets)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>read();<\/strong> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (Lit les donn\u00e9es contenues dans la m\u00e9moire tampon ou \u00ab\u00a0buffer\u00a0\u00bb du port s\u00e9rie)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>flush();<\/strong> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (Vide la m\u00e9moire tampon de la liaison s\u00e9rie)<\/p>\n<p style=\"padding-left: 40px;\">. <strong>available();<\/strong> (Donne le nombre d&rsquo;octets ou caract\u00e8res disponibles pour lecture dans la file d&rsquo;attente ou \u00ab\u00a0buffer\u00a0\u00bb du port s\u00e9rie)<\/p>\n<p>\u00a0<\/p>\n\n\n<div  class=\"grids-section grids-is-stretch\" style=\"--_gs-gap-desktop:0px 0px;--_gs-m-desktop:0 0 0 0;--_gs-p-desktop:0 0 0 0;--_gs-bg-desktop:transparent none;--_gs-bg-xp-desktop:0px;--_gs-zi-desktop:auto;--_gs-d-desktop:block;--_gs-mw-desktop:calc(100% - 0 - 0);--_gs-gap-tablet:0px 0px;--_gs-m-tablet:0 0 0 0;--_gs-p-tablet:0 0 0 0;--_gs-bg-tablet:transparent none;--_gs-bg-xp-tablet:0px;--_gs-zi-tablet:auto;--_gs-d-tablet:block;--_gs-mw-tablet:calc(100% - 0 - 0);--_gs-gap-mobile:0px 0px;--_gs-m-mobile:0 0 0 0;--_gs-p-mobile:0 0 0 0;--_gs-bg-mobile:transparent none;--_gs-bg-xp-mobile:0px;--_gs-zi-mobile:auto;--_gs-d-mobile:block;--_gs-mw-mobile:calc(100% - 0 - 0);--_gs-columns:2;--_gs-rows:1\"><div class=\"grids-s-w_i\">\n<div class=\"grids-area\" style=\"--_ga-column:1\/2;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignleft size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=269\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/moins.jpg\" alt=\"\" class=\"wp-image-107\"\/><\/a><\/figure><\/div>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:2\/3;--_ga-row:1\/2;--_ga-m-desktop:0 0 0 0;--_ga-p-desktop:0 0 0 0;--_ga-bg-desktop:transparent none;--_ga-zi-desktop:auto;--_ga-d-desktop:flex;--_ga-mw-desktop:calc(100% - 0 - 0);--_ga-m-tablet:0 0 0 0;--_ga-p-tablet:0 0 0 0;--_ga-bg-tablet:transparent none;--_ga-zi-tablet:auto;--_ga-d-tablet:flex;--_ga-mw-tablet:calc(100% - 0 - 0);--_ga-m-mobile:0 0 0 0;--_ga-p-mobile:0 0 0 0;--_ga-bg-mobile:transparent none;--_ga-zi-mobile:auto;--_ga-d-mobile:flex;--_ga-mw-mobile:calc(100% - 0 - 0)\">\n\n<div class=\"wp-block-image\"><figure class=\"alignright size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2497\"><img loading=\"lazy\" decoding=\"async\" width=\"50\" height=\"28\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2020\/03\/plus.jpg\" alt=\"\" class=\"wp-image-106\"\/><\/a><\/figure><\/div>\n\n<\/div>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>(Cliquez pour afficher la version PDF) \u00a0 Le logiciel Arduino IDE dispose d&rsquo;un moniteur s\u00e9rie, qui permet de recevoir et d\u2019envoyer des informations via une liaison s\u00e9rie. Il est particuli\u00e8rement int\u00e9ressant pour les tests des programmes puisqu\u2019il permet d\u2019afficher les valeurs des variables, les \u00e9tats logiques des entr\u00e9es et des sorties de l\u2019Arduino, etc\u2026 Ou [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2456","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/2456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2456"}],"version-history":[{"count":0,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/2456\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}