{"id":6141,"date":"2021-03-31T14:28:57","date_gmt":"2021-03-31T12:28:57","guid":{"rendered":"https:\/\/www.ardpylab.fr\/?page_id=6141"},"modified":"2021-04-07T12:21:25","modified_gmt":"2021-04-07T10:21:25","slug":"categorie-serial","status":"publish","type":"page","link":"https:\/\/www.ardpylab.fr\/?page_id=6141","title":{"rendered":"Cat\u00e9gorie \u00ab Serial \u00bb"},"content":{"rendered":"\n<p><br>Cette cat\u00e9gorie regroupe des sketchs traitant de la communication entre l&rsquo;Arduino Uno et l&rsquo;ordinateur h\u00f4te par liaison s\u00e9rie.<br><br><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"333\" height=\"322\" src=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/ListeSketch09.png\" alt=\"\" class=\"wp-image-6142\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/ListeSketch09.png 333w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/ListeSketch09-300x290.png 300w\" sizes=\"auto, (max-width: 333px) 100vw, 333px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h4>1.&nbsp;<a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/SerialCharSend.zip\"><span style=\"text-decoration: underline;\"><strong>Serial_Char_Send<\/strong><\/span><\/a><strong> (<\/strong><strong><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2522\">Programme pour la r\u00e9ception d\u2019un caract\u00e8re par l\u2019Arduino<\/a>)<br><br><\/strong><\/h4>\n\n\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\/2021\/03\/Serial_Char_Send.jpg\" alt=\"\" class=\"wp-image-6143\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Char_Send.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Char_Send-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Char_Send-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>La fonction \u201dprint()\u201d de la classe \u201dSerial\u201d permet d\u2019envoyer des donn\u00e9es depuis la carte Arduino vers le moniteur s\u00e9rie.<\/p>\n<p>Il est \u00e9galement possible d&rsquo;envoyer des donn\u00e9es du moniteur s\u00e9rie vers la carte Arduino.<\/p>\n<p>Dans cette activit\u00e9, le code demande \u00e0 l&rsquo;utilisateur de saisir un caract\u00e8re dans le moniteur s\u00e9rie:<\/p>\n<p>. \u2018R\u2019, \u2018V\u2019 ou \u2018B\u2019 pour allumer respectivement la DEL rouge, verte ou bleue <br>. \u20180\u2019 pour \u00e9teindre les DELs<\/p>\n<p>Le caract\u00e8re envoy\u00e9 est lu et l\u2019action correspondante est effectu\u00e9e. Le programme ne fait rien si le caract\u00e8re lu n\u2019est pas un des caract\u00e8res attendus.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>const int PinLEDR = 11;<br>const int PinLEDB = 10;<br>const int PinLEDV = 9;<\/p>\n<p>const char LedR = &lsquo;R&rsquo;;<br>const char LedV = &lsquo;V&rsquo;;<br>const char LedB = &lsquo;B&rsquo;;<br>const char Off = &lsquo;0&rsquo;;<br>char c=&rsquo; &lsquo;;<\/p>\n<p>void setup() {<br>Serial.begin(9600);<br>pinMode (PinLEDR, OUTPUT);<br>pinMode (PinLEDB, OUTPUT);<br>pinMode (PinLEDV, OUTPUT);<br>Serial.println (\u201dPour allumer la DEL rouge, envoyer: R\u201d);<br>Serial.println (\u201dPour allumer la DEL verte, envoyer: V\u201d);<br>Serial.println (\u201dPour allumer la DEL bleue, envoyer: B\u201d);<br>Serial.println (\u201dPour eteindre les DELs, envoyer: 0\u201d);<br>}<\/p>\n<p>void loop() {<br>if (Serial.available() &gt; 0) {<br>c = Serial.read();<br>}<br><br>if (c == LedR) {<br>Serial.println (c);<br>digitalWrite(PinLEDR,1);<br>digitalWrite(PinLEDV,0);<br>digitalWrite(PinLEDB,0);<br>}<br>if (c == LedV) {<br>Serial.println (c);<br>digitalWrite(PinLEDR,0);<br>digitalWrite(PinLEDV,1);<br>digitalWrite(PinLEDB,0);<br>}<br>if (c == LedB) {<br>Serial.println (c);<br>digitalWrite(PinLEDR,0);<br>digitalWrite(PinLEDV,0);<br>digitalWrite(PinLEDB,1);<br>}<br>if (c == Off) {<br>Serial.println (c);<br>digitalWrite(PinLEDR,0);<br>digitalWrite(PinLEDV,0);<br>digitalWrite(PinLEDB,0);<br>}<br>Serial.flush();<br>c=&rsquo; &lsquo;;<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong>2.<\/strong> <strong><a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/SerialConversionatoi.zip\"><span style=\"text-decoration: underline;\">Serial_Conversion_atoi<\/span><\/a> (<a href=\"https:\/\/www.ardpylab.fr\/?page_id=2587\/#conv1\">Conversion d&rsquo;une chaine de charact\u00e8res en nombre par la fonction atoi()<\/a>)<\/strong><em><strong><br><br><\/strong><\/em><\/h4>\n\n\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\/2021\/03\/Serial_Conversion_atoi.jpg\" alt=\"\" class=\"wp-image-6146\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_atoi.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_atoi-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_atoi-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Dans les programmes pour Arduino, Il est souvent n\u00e9cessaire de convertir des chaines de caract\u00e8res en une variable repr\u00e9sentant un nombre entier ou \u00e0 virgule pour effectuer des calculs.<\/p>\n<p>Il existe, pour cela, trois fonctions \u201datoi()\u201d, \u201datol()\u201d et \u201datof()\u201d, permettant respectivement de transformer une chaine de caract\u00e8res en nombre entier court, en nombre entier long et en nombre \u00e0 virgule.<\/p>\n<p>Attention cependant, car par d\u00e9faut ces fonctions retournent une valeur nulle en cas d\u2019erreur (comme par exemple, si on essaye de convertir des lettres en nombre) et donc se pose le probl\u00e8me de savoir si la valeur retourn\u00e9e est bien un z\u00e9ro saisi ou un z\u00e9ro d\u2019erreur\u2026<\/p>\n<p>En application, ce programme, utilisant la fonction \u201datoi()\u201d, permet de r\u00e9gler la luminosit\u00e9 de la<br>DEL rouge du circuit d&rsquo;\u00e9tude, en retour d\u2019une chaine de caract\u00e8res envoy\u00e9 depuis le moniteur s\u00e9rie dont la conversion en nombre entier doit \u00eatre compris entre 1 et 255.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>const int PinLEDR = 11;<br>int Luminosite = 0;<\/p>\n<p><br>void setup() {<br>Serial.begin(9600);<br>pinMode (PinLEDR, OUTPUT);<br>digitalWrite(PinLEDR,0);<br>}<\/p>\n<p>void loop() {<br>while(Luminosite&lt;1 || Luminosite&gt;255) <br>{ <br>int Val=0; <br>char tampon[10]=\u201d\u201d; <br>Serial.println(\u201dVeuillez saisir la luminosite de la DEL rouge (valeur entre 1 et 255):\u201d);<br>while(!Val) <br>{ <br>delay(200); <br>Val=Serial.available();<br>}<br>for (int i=0; i &lt; Val; i++)<br>{ <br>tampon[i]=Serial.read();<br>delay(15); <br>} <br>Luminosite = atoi(tampon); <br>}<br>Serial.print(\u201dLuminosite de la DEL rouge choisie : \u201d); Serial.println(Luminosite);<br>Serial.println(\u201d\u201d);<br>analogWrite(PinLEDR,Luminosite);<br>Luminosite=0;<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong>3. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/SerialConversionparseInt.zip\"><span style=\"text-decoration: underline;\">Serial_Conversion_parseInt<\/span><\/a> (<\/strong><strong><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2587\/#conv3\">Conversion d&rsquo;une chaine de charact\u00e8res en nombre par la fonction parseInt()<\/a>)<\/strong><\/h4>\n\n\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\/2021\/03\/Serial_Conversion_parseInt.jpg\" alt=\"\" class=\"wp-image-6157\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_parseInt.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_parseInt-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_parseInt-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Dans les programmes pour Arduino, Il est souvent n\u00e9cessaire de convertir des chaines de caract\u00e8res en une variable repr\u00e9sentant un nombre entier ou \u00e0 virgule pour effectuer des calculs.<\/p>\n<p>Avec les m\u00e9thodes de conversion utilisant les fonctions \u00ab\u00a0atoi()\u00a0\u00bb et \u00ab\u00a0sscanf()\u00a0\u00bb, les chaines de caract\u00e8res envoy\u00e9s depuis le moniteur s\u00e9rie sont dans un premier temps re\u00e7ue telles quelles par l\u2019Arduino puis sont converties en nombre si celles-ci le permettent.<\/p>\n<p>Il est \u00e9galement possible de convertir directement les chaines de caract\u00e8res en entier long avant la r\u00e9ception par l\u2019Arduino avec la fonction \u201dparseInt()\u201d de la classe \u201dSerial\u201d<\/p>\n<p>Cette fonction retourne le premier entier long du tampon de la liaison s\u00e9rie. Les caract\u00e8res lettres ou le signe \u201d-\u201d sont ignor\u00e9s. Au-del\u00e0, d\u2019un certain temps (par d\u00e9faut, 1 s), la fonction se termine et retourne \u00ab\u00a00 \u00ab\u00a0. Le temps d\u2019attente pour recevoir les donn\u00e9es peut \u00eatre r\u00e9gl\u00e9 avec la fonction \u00ab\u00a0setTimeout()\u00a0\u00bb en ms.<\/p>\n<p>En application, le programme suivant, utilisant la fonction \u201dparseInt()\u201d, permet de r\u00e9gler la luminosit\u00e9 de la DEL rouge du circuit d&rsquo;\u00e9tude, en retour d\u2019une chaine de caract\u00e8res envoy\u00e9 depuis le moniteur s\u00e9rie dont la conversion en nombre entier doit \u00eatre compris entre 1 et 255.<\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 675px;\">\n<tbody>\n<tr style=\"height: 675px;\">\n<td style=\"width: 100%; padding-left: 40px; height: 675px;\">\n<p>const int PinLEDR = 11;<br>int Luminosite = 0;<\/p>\n<p>void setup() {<br>Serial.begin(9600);<br>pinMode (PinLEDR, OUTPUT);<br>digitalWrite(PinLEDR,0);<br>Serial.println(\u201dVeuillez saisir la luminosite de la DEL rouge (valeur entre 1 et 255):\u201d);<br>Serial.println(\u201d\u201d);<br>Serial.setTimeout(100);<br>}<\/p>\n<p>void loop() {<br>while(Luminosite&lt;1 || Luminosite&gt;255) <br>{ <br>Luminosite=Serial.parseInt();<br>}<br>Serial.print(\u201dLuminosite de la DEL rouge choisie : \u201d); Serial.println(Luminosite);<br>Serial.println(\u201d\u201d);<br>analogWrite(PinLEDR,Luminosite);<br>Luminosite=0;<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong>4. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/SerialConversionsscanf.zip\"><span style=\"text-decoration: underline;\">Serial_Conversion_sscanf<\/span><\/a> (<\/strong><strong><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2587\/#conv2\">Conversion d&rsquo;une chaine de charact\u00e8res en nombre par la fonction sscanf()<\/a><br><br><\/strong><\/h4>\n\n\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\/2021\/03\/Serial_Conversion_sscanf.jpg\" alt=\"\" class=\"wp-image-6162\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_sscanf.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_sscanf-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_Conversion_sscanf-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Dans les programmes pour Arduino, Il est souvent n\u00e9cessaire de convertir des chaines de caract\u00e8res en une variable repr\u00e9sentant un nombre entier ou \u00e0 virgule pour effectuer des calculs.<\/p>\n<p>Apr\u00e8s la fonction \u201datoi()\u201d, une autre m\u00e9thode de conversion est d\u2019utiliser la fonction \u201dsscanf()\u201d qui<br>permet de couper et de convertir une chaine de caract\u00e8res en une s\u00e9rie de variables allant du caract\u00e8re unique (type \u201dchar\u201d) au nombres d\u00e9cimaux (type \u201dint\u201d, \u201dfloat\u201d).<\/p>\n<p>En application, ce programme, utilisant la fonction \u201dsscanf()\u201d, permet de r\u00e9gler la luminosit\u00e9 de la<br>DEL rouge du circuit d&rsquo;\u00e9tude, en retour d\u2019une chaine de caract\u00e8res envoy\u00e9 depuis le moniteur s\u00e9rie dont la conversion en nombre entier doit \u00eatre compris entre 1 et 255.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>const int PinLEDR = 11;<br>int Luminosite = 0;<\/p>\n<p><br>void setup() {<br>Serial.begin(9600);<br>pinMode (PinLEDR, OUTPUT);<br>digitalWrite(PinLEDR,0);<br>}<\/p>\n<p>void loop() {<br>while(Luminosite&lt;1 || Luminosite&gt;255) <br>{ <br>int Val=0; <br>char tampon[10]=\u201d\u201d; <br>Serial.println(\u201dVeuillez saisir la luminosite de la DEL rouge (valeur entre 1 et 255):\u201d);<br>while(!Val) <br>{ <br>delay(200); <br>Val=Serial.available();<br>}<br>for (int i=0; i &lt; Val; i++)<br>{ <br>tampon[i]=Serial.read();<br>delay(15); <br>}<br>int N=0;<br>char c; <br>N = sscanf(tampon, \u201d%d %c\u201d, &amp;Luminosite, c);<br>if (N!=1){<br>Luminosite=0;<br>}<br>}<br>Serial.print(\u201dLuminosite de la DEL rouge choisie : \u201d); Serial.println(Luminosite);<br>Serial.println(\u201d\u201d);<br>analogWrite(PinLEDR,Luminosite);<br>Luminosite=0;<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<h4>&nbsp;<\/h4>\n<h4><strong>5.<\/strong> <strong><a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/SerialString.zip\"><span style=\"text-decoration: underline;\">Serial_String<\/span><\/a> (<\/strong><strong><a href=\"https:\/\/www.ardpylab.fr\/?page_id=2522\/#env2\" data-wplink-url-error=\"true\">Programme pour la r\u00e9ception d\u2019une chaine de caract\u00e8res<\/a>)<br><br><\/strong><\/h4>\n\n\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\/2021\/03\/Serial_String.jpg\" alt=\"\" class=\"wp-image-6166\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_String.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_String-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_String-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>La r\u00e9ception d\u2019une chaine de caract\u00e8res envoy\u00e9e depuis le moniteur s\u00e9rie, peut \u00eatre consid\u00e9r\u00e9e comme un envoi successif de caract\u00e8res uniques que l\u2019on peut stocker dans un tableau de caract\u00e8res afin de reconstituer la chaine.<\/p>\n<p>Dans cette activit\u00e9, le code demande \u00e0 l&rsquo;utilisateur de saisir une chaine de caract\u00e8res dans le moniteur s\u00e9rie.<\/p>\n<p>La chaine de caract\u00e8re saisie est ensuite affich\u00e9e.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>void setup() {<br>Serial.begin(9600);<br>}<\/p>\n<p>void loop() {<br>int Val=0;<br>char tampon[20]=\u201d\u201d; <br>Serial.println(\u201dVeuillez saisir une chaine de caracteres.\u201d);<br>while(Val==0) <br>{ <br>delay(200); <br>Val=Serial.available();<br>}<br>for (int i=0; i &lt; Val; i++)<br>{ <br>tampon[i]=Serial.read();<br>delay(15); <br>}<br>Serial.println(\u201dLa chaine de caracteres recue est:\u201d);<br>Serial.println(tampon);<br>Serial.flush();<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>&nbsp;<\/p>\n<h4><strong>6. <a href=\"https:\/\/www.ardpylab.fr\/downloads\/ardpylog\/SerialreadString.zip\"><span style=\"text-decoration: underline;\">Serial_readString<\/span><\/a> (<a href=\"https:\/\/www.ardpylab.fr\/?page_id=2522\/#env2\" data-wplink-url-error=\"true\">Programme pour la r\u00e9ception d\u2019une chaine de caract\u00e8res<\/a>)<br><br><\/strong><\/h4>\n\n\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\/2021\/03\/Serial_readString.jpg\" alt=\"\" class=\"wp-image-6165\" width=\"468\" height=\"283\" srcset=\"https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_readString.jpg 935w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_readString-300x181.jpg 300w, https:\/\/www.ardpylab.fr\/wp-content\/uploads\/2021\/03\/Serial_readString-768x464.jpg 768w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Une autre m\u00e9thode pour recevoir une chaine de caract\u00e8res depuis le moniteur s\u00e9rie est d\u2019utiliser la fonction \u201dreadString()\u201d qui lit les caract\u00e8res contenus dans la m\u00e9moire tampon du port s\u00e9rie et retourne une chaine de caract\u00e8re. Au-del\u00e0, d\u2019un certain temps (par d\u00e9faut, 1 s), la fonction se termine. Le temps d\u2019attente pour recevoir les donn\u00e9es peut \u00eatre r\u00e9gl\u00e9 avec la fonction \u201dsetTimeout()\u201d en ms.<\/p>\n<p>Dans cette activit\u00e9, on va demander \u00e0 l\u2019utilisateur d\u2019envoyer un message. Si le message est \u201dON\u201d, la DEL rouge s\u2019allume, et si c\u2019est \u201dOFF\u201d, la DEL rouge s\u2019\u00e9teint.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 100%; padding-left: 40px;\">\n<p>const int PinLEDR = 11;<br>String msg=\u201d\u201d;<\/p>\n<p>void setup() {<br>Serial.begin(9600);<br>pinMode (PinLEDR, OUTPUT);<br>Serial.println (\u201dPour allumer la DEL rouge, envoyer: ON\u201d);<br>Serial.println (\u201dPour eteindre la DEL rouge, envoyer: OFF\u201d);<br>Serial.setTimeout(100);<br>}<\/p>\n<p>void loop() {<br>if (Serial.available() &gt; 0) {<br>msg = Serial.readString();<br>}<br>if (msg == \u201dON\u201d) {<br>Serial.println (msg);<br>digitalWrite(PinLEDR,1);<br>}<br>if (msg == \u201dOFF\u201d) {<br>Serial.println (msg);<br>digitalWrite(PinLEDR,0);<br>}<br>Serial.flush();<br>msg=\u201d\u201d;<br>}<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/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\/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<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=6116\"><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>\n\n<\/div>\n\n<div class=\"grids-area\" style=\"--_ga-column:12\/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<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.ardpylab.fr\/?page_id=6180\"><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>\n\n<\/div>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Cette cat\u00e9gorie regroupe des sketchs traitant de la communication entre l&rsquo;Arduino Uno et l&rsquo;ordinateur h\u00f4te par liaison s\u00e9rie. &nbsp; 1.&nbsp;Serial_Char_Send (Programme pour la r\u00e9ception d\u2019un caract\u00e8re par l\u2019Arduino) &nbsp; La fonction \u201dprint()\u201d de la classe \u201dSerial\u201d permet d\u2019envoyer des donn\u00e9es depuis la carte Arduino vers le moniteur s\u00e9rie. Il est \u00e9galement possible d&rsquo;envoyer des donn\u00e9es [&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-6141","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/6141","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=6141"}],"version-history":[{"count":20,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/6141\/revisions"}],"predecessor-version":[{"id":6315,"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=\/wp\/v2\/pages\/6141\/revisions\/6315"}],"wp:attachment":[{"href":"https:\/\/www.ardpylab.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}