Upload
others
View
28
Download
0
Embed Size (px)
Citation preview
SEQUENCE 5
Systèmes d'Information et Numériques
CI3 – Comment circule l’information au sein d’un système ?
ETAPE1 - Principe de la communication en série
Compétences visées : CO7, CO8.sin4, CO9.sin2 Savoirs Associés :
2.2.2 Adressage physique et logique d’un composant sur un réseau 2.3.3 Utilisation de librairies et paramétrage de caractéristiques 3.1.2 Interfaçage de
composants.
3.1.3 Interconnexion des fonctions distribuées. 2.1.7 Multiplexage d’une information et codage d’une transmission
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 1/17
STI2D SIN © JB VUILLAUME
PRÉSENTATION DU PROJET : On vous demande d'étudier le concept de gestion distante du module NetAtmo. Celui-ci doit pouvoir communiquer directement avec une application mobile. On désire commander et afficher les grandeurs mesurées à l'aide d'un appareil mobile par une liaison Bluetooth.
Le module utilisé est un circuit HC06, qui communique directement en Série par un circuit UART avec la carte Arduino en interne.
Il nous faut donc dans un premier temps comprendre ce qu'est une communication en série, et ce par une série d'expériences et de simulations pour ensuite mettre en œuvre le module.
Se pose alors plusieurs problématiques auxquelles nous allons répondre à travers différents TP mettant en œuvre le principe de la communication interne des modules puis entre systèmes externes :
Comment transmettre des informations sur une liaison en série entre les modules d’un même système ?
Comment interpréter et mettre en œuvre un protocole de communication entre deux systèmes distants ?
CODAGE D'UNE TRAME UART* PAR LA LIAISON SÉRIE Schéma Structurel : Le schéma de simulation à réaliser est le suivant :
TXD
~~
~
~~
~
TXRX PD0/RXD
0PD1/TXD 1PD2/INT0 2
PD3/INT1/OC2B3
PD4/T0/XCK4
PD5/T1/OC0B 5PD6/AIN0/OC0A 6
PD7/AIN17
PB0/ICP1/CLKO 8PB1/OC1A 9
PB2/SS/OC1B10
PB3/MOSI/OC2A11
PB4/MISO 12PB5/SCK 13
AREF
PC5/ADC5/SCLA5
PC4/ADC4/SDAA4PC3/ADC3A3PC2/ADC2
A2PC1/ADC1
A1PC0/ADC0A0
RESET
UNO
ARDUINO UNO R3
RXD
RTS
TXD
CTS
A
B
C
D
communication.DSN
Broche TXD: signal de communication Série (en sortie) pour la transmission des informations
* pour Universal Asynchronous Receiver Transmitter, est un émetteur-récepteur asynchrone universel
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 2/17
STI2D SIN © JB VUILLAUME
Programmation de la communication : Le programme à écrire sous Arduino est le suivant
communication.ino
Réalisez le schéma sous PROTEUS ISIS et écrire le programme sur ARDUINO. Enregistrez le schéma et le programme dans le dossier M:\Travail\...\CI3-Comment circule …\TP\ETAPE1-Apprentissage\Simulation\
QUESTION 1 : Compilez puis chargez le programme .hex dans le module Arduino UNO sous ISIS. Lancez ensuite la simulation et réglez l'oscilloscope afin d'obtenir la visualisation suivante du signal TxD:
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 3/17
STI2D SIN © JB VUILLAUME
Complétez les valeurs BINAIRES lues dans la Trame de DONNÉE et recherchez à partir de la table ASCII (cf document ressource) le caractère correspondant :
QUESTION 2 : Recherchez le codage Binaire ASCII du caractère 'U' et complétez le tableau.
Reportez également en dessous la valeur Binaire DONNÉE lue sur l'oscilloscope.
Que constatez-vous ? Analysez dans quel ordre est envoyée un octet (octets D7 à D0) sur une liaison Série UART.
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
Complétez les informations transmises lors de l'envoie d'un caractère codé sur un octet :
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
Caractère 'U'
DONNÉE lue
DONNÉE = % ... ... ... ... ... ... ... ... Caractère ASCII correspondant :
.......
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 4/17
STI2D SIN © JB VUILLAUME
QUESTION 3 : Modifier votre programme Arduino pour envoyer cette fois-ci non plus un Caractère mais une chaine de caractère : "UN" Serial.print("UN");
Réglez l'oscilloscope ainsi afin de visualiser la trame transmise , et lancez la simulation
BASE DE TEMPS sur 50µsDÉCALAGE sur 200ms POSITION sur 260
DECALAGE sur 40
Voix A sur "DC"AMPLITUDE sur 1V
TRIGGER sur 25
tracez le chronogramme de TxD en identifiant les bits à 1 (5V) et les bits à 0 (0V) :
Identifiez sur le chronogramme chaque bit transmis en les nommant : S (START), P (STOP), D7, D6, D5, D4, D3, D2, D1 et D0 Quel est le premier caractère transmis ? Combien de bits START et STOP seront utilisés si l'on envoie le message "STI2D-SIN" en série UART ? ………………....………………………………………………..………………....………………
………………....………………………………………………..………………....……………… Quelle sera la longueur en bits de la transmission série du message "STI2D-SIN" ? ………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 5/17
STI2D SIN © JB VUILLAUME
LIAISON ASYNCHRONE : NOTION DE VITESSE DE TRANSMISSION Modifiez le programme afin d'envoyer le message "STI2D". Vérifiez que le message s'affiche bien dans le terminal de debogage. Modifiez la valeur 9600 par 4800 dans la fonction Setup() :
QUESTION 4 : Que remarquez-vous au niveau de la réception des messages dans le terminal de débogage ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… Arrêtez la simulation et double-cliquez sur le Terminal de debogage. Modifiez la valeur "Baud rate" en la mettant également à 4800.
QUESTION 5 : Relancez la simulation. Que remarquez-vous au niveau de la réception des messages dans le terminal de débogage ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
CONCLUSION : Quelle est la condition indispensable dans une liaison ASYNCHRONE entre un émetteur et un récepteur pour que les messages soient lisibles ? ("Baud Rate" correspond au paramètre vitesse de transmission, exprimé en bit/sec)
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 6/17
STI2D SIN © JB VUILLAUME
LES CARACTERES DE CONTROLE
Modifiez le programme afin d'envoyer le caractère 'U' à 9600 bauds. Vérifiez que le caractère s'affiche bien dans le terminal de débogage.
Ajouter l'envoie du caractère '\r' après l'envoi du caractère 'U'. Le caractère '\' (slache) est obtenu est appuyant simultanément sur la touche Alt Gr et 8 :
QUESTION 6 : Relancez la simulation. Quelle modification au niveau de la réception des messages dans le terminal de débogage a apporté l'envoi de '\r' ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
QUESTION 7 : Retrouvez sur la trame de votre oscilloscope le code ASCII du caractère '\r'. A partir de la table ASCII en annexe, donnez le nom, la valeur Hexadécimale et le rôle de ce caractère de contrôle :
Caractère de contrôle '\r' : Hexa : $ ............. Nom : .................................. Rôle : .......................................................................................
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 7/17
STI2D SIN © JB VUILLAUME
Supprimer l'envoie du caractère '\r'. Modifiez ensuite le schéma Proteus ISIS en ajoutant le module COMPIM. Relier la broche TXD sur le signal TxD de la broche 1 d'Arduino et paramétrez le module ainsi (double-click ou click Droit + Editer propriétés) :
Lancez le logiciel "Terminal.exe" (répertoire L:\LOGICIELS\SIN\ ) et paramétrez le ainsi :
COM4, 9600 bauds, 8 bits de données, 1 bit de STOP, pas de parité, pas de controle
TXD
DIG
ITA
L(~
PW
M)
AN
AL
OG
IN
AT
ME
GA
328P
-PU
1121
~~
~
~~
~
micro
controlan
do
s.blog
sp
ot.com
TXRX PD0/RXD
0PD1/TXD
1PD2/INT0 2
PD3/INT1/OC2B 3PD4/T0/XCK 4
PD5/T1/OC0B 5PD6/AIN0/OC0A 6
PD7/AIN1 7
PB0/ICP1/CLKO8
PB1/OC1A9
PB2/SS/OC1B10
PB3/MOSI/OC2A11
PB4/MISO12
PB5/SCK13
AREF
PC5/ADC5/SCLA5
PC4/ADC4/SDAA4PC3/ADC3
A3PC2/ADC2A2PC1/ADC1A1PC0/ADC0A0
RESET
UNO
ARDUINO UNO R3
A
B
C
D
RXD
RTS
TXD
CTS
DEBOGAGE
ERROR
TXD3
RXD2
CTS8
RTS7
DSR6
DTR4
DCD1
RI9
P1
COMPIM
Nous allons utiliser le logiciel TERMINAL pour communiquer avec le logiciel PROTEUS ISI, et visualiser les caractères transmis par le module ARDUINO dans la partie :
RECEPTION DES DONNÉES
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 8/17
STI2D SIN © JB VUILLAUME
Connectez le logiciel TERMINAL au port COM4 et vérifiez que le caractère 'U' s'affiche bien dans le terminal de réception :
Ajoutez dans le programme Arduino l'envoie du caractère '\t' après la transmission du caractère 'U'.
QUESTION 8 : Relancez la simulation. Quelle modification au niveau de la réception des messages dans le logiciel TERMINAL a apporté l'envoi de '\t' ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
QUESTION 9 : Retrouvez sur la trame de votre oscilloscope le code ASCII du caractère '\t'. A partir de la table ASCII en annexe, donnez le nom, la valeur Hexadécimale et le rôle de ce caractère de contrôle :
Caractère de contrôle '\t' : Hexa : $ ............. Nom : .................................. Rôle : .......................................................................................
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1 SIN
P. 9/17
STI2D SIN © JB VUILLAUME
Modifiez le programme Arduino en remplaçant la méthode .print par la méthode .println :
Connectez le logiciel TERMINAL au port COM4 et vérifiez que le caractère 'U' s'affiche bien dans le terminal de réception.
QUESTION 10 : Relancez la simulation. Quelle modification au niveau de la réception des messages dans le logiciel TERMINAL a apporté l'usage de la fonction .println ? à quel caractère de contrôle correspond cette méthode ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
CONCLUSION : Il est donc possible d'envoyer des caractères de contrôle, non visibles, en série avec Arduino. Soit nous envoyons directement la valeur DECimale, HEXAdécimale ou BINaire, soit nous passons par la commande \<x> en remplaçant <x> par un caractère bien spécifique Le tableau ci-dessous regroupe l'ensemble des caractères de contrôle utilisable sous Arduino avec la commande \<x> :
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
10/17
STI2D SIN © JB VUILLAUME
Seq Dec Hex Acro Symb NOM C Description
^@ 00 0x00 NUL ␀ Null \0
À l'origine utilisé pour permettre de laisser une absence (un gap) sur les bandes de papier pour modification ultérieure. Plus tard utilisé pour combler la suite d'un code nécessitant au terminal un temps de traitement (par exemple le temps d'un retour chariot ou d'un retour à la ligne sur un terminal imprimant). Il est maintenant souvent utilisé comme terminateur de chaîne de caractères, spécialement dans le langage de programmation C.
^G 07 0x07 BEL ␇ Bell \a
À l'origine utilisé pour faire tinter la cloche du terminal. Ensuite utilisé pour produire un court signal sonore (beep) sur des systèmes n'étant pas dotés d'un timbre physique. Par la suite, en mode silencieux, l'avertisseur peut attirer l'attention sous forme de flash en activant et désactivant l' inverse video (visual bell / cloche visuelle), le temps d'un éclair.
^H 08 0x08 BS ␈ Backspace \b
Déplacement du curseur d'une position vers la gauche. En entrée, cela peut détruire le caractère précédent (à gauche, le sens d'écriture étant de gauche à droite). En sortie, alors qu'avec les premières technologies, une caractère imprimé ne pouvait plus être effacé, le retour arrière (backspace) était parfois utilisé pour générer des caractères accentués en ASCII. Par exemple, à pouvait être imprimé en utilisant la séquence des trois multiplets ASCII a BS ` (0x61 0x08 0x60). Cet usage est maintenant désuet et généralement n'est plus pris en charge. Pour permettre une levée d'ambiguïté entre les deux usages potentiels du backspace', le code de contrôle caractère d'annulation (cancel character) a été intégré dans le jeu de contrôle C1.
^I
09
0x09
HT
Tabulation \t Positionne le caractère suivant dans une colonne de type tab stop (tabulation).
^J 10 0x0A LF � Line Feed \n
Sur les machines à écrire, imprimantes, et certains émulateurs de terminaux déplace le curseur vers le bas d'une rangée sans modifier la position colonne. Sur Unix, utilisé pour indiquer la fin de ligne ([end- of-line). Sous MS-DOS , Windows , et des standards réseaux variables, la caractère de contrôle LF est utilisé immédiatement après CR comme partie composante de la fin de ligne.
^K 11 0x0B VT � Line Tabulation \v Positionnement sur la prochaine ligne de tabulation.
^L 12 0x0C FF � Form Feed \f Sur imprimante, charge la page suivante. Traité comme espace dans beaucoup de langages de programmation, peut être également utilisé pour séparer différentes divisions du code. Sur certains émulateurs de terminal, efface l'écran.
^M 13 0x0D CR � Carriage Return \r À l'origine utilisé pour positionner le curseur en première colonne en restant sur la même ligne. Sur Mac OS (pre-Mac OS X ), ainsi que sur d'autres systèmes anciens comme l' Apple II et le Commodore 64 , utilisé pour indiquer la fin de ligne. Sous MS-DOS , Windows , et des protocoles réseaux voisins, est utilisé immédiatement avant LF pour former une marque de fine de ligne. La touche [Entrée] (ou [Retour]) d'un clavier envoie cette valeur qui peut être différente suivant le logiciel impliqué.
Source : https://fr.wikibooks.org/wiki/Les_ASCII_de_0_%C3%A0_127/Caract%C3%A8res_de_contr%C3%B4le
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
11/17
STI2D SIN © JB VUILLAUME
LECTURE DE CARACTERES Modifiez le programme Arduino en écrivant les lignes de commande suivantes dans la partie Loop ( ) du programme :
Modifiez le schéma de simulation sous PROTEUS ISIS en connectant la broche RXD du module COMPIM à la broche 0 ( RxD ) de l'Arduino UNO : Connectez le logiciel TERMINAL au port COM4 et tapez dans la zone de TRANSMISSION des caractères (Exemple : Spécialité STI2D - SIN )
QUESTION 11 : Que remarquez-vous dans la zone de RECEPTION du logiciel TERMINAL lorsque vous tapez du texte ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
TXD
DIG
ITA
L(~
PW
M)
AN
AL
OG
IN
AT
ME
GA
328P
-PU
1121
~~
~
~~
~
micro
co
ntrola
nd
os.blo
gs
pot.co
m
TXRX PD0/RXD 0
PD1/TXD1
PD2/INT02
PD3/INT1/OC2B 3PD4/T0/XCK
4PD5/T1/OC0B 5
PD6/AIN0/OC0A 6PD7/AIN1
7
PB0/ICP1/CLKO 8PB1/OC1A
9PB2/SS/OC1B 10
PB3/MOSI/OC2A11
PB4/MISO 12PB5/SCK 13
AREF
PC5/ADC5/SCLA5PC4/ADC4/SDA
A4PC3/ADC3A3PC2/ADC2A2PC1/ADC1
A1PC0/ADC0A0
RESET
UNO
ARDUINO UNO R3
A
B
C
D
RXD
RTS
TXD
CTS
DEBOGAGE
ERROR
TXD3
RXD2
CTS8
RTS7
DSR6
DTR4
DCD1
RI9
P1
COMPIM
RXD
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
12/17
STI2D SIN © JB VUILLAUME
QUESTION 12 : Quel est à votre avis le rôle de la méthode Serial.read() dans le programme ? Quel type de variable renvoie cette fonction ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
QUESTION 13 : Quel est à votre avis le rôle de la méthode Serial.available() dans le
programme ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
QUESTION 14 : Que se passe-t-il si l'on change la temporisation entre chaque boucle de 20
ms à 400 ms ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
Créez la procédure de réception serialEvent() et déplacez le code de réception de la fonction Loop() vers cette nouvelle fonction. Surtout LAISSEZ la temporisation de 400 ms :
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
13/17
STI2D SIN © JB VUILLAUME
QUESTION 15 : Relancez la simulation. Qu'elle amélioration a-t-on apportée au système par rapport à la question 14 ?
………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
COMMANDER À DISTANCE LE MODULE ARDUINO : UTILISATION DE CHAINES
Modifiez le programme Arduino en écrivant les lignes de commande suivantes dans la partie serialEvent ( ) du programme :
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
14/17
STI2D SIN © JB VUILLAUME
Modifiez le schéma de simulation sous PROTEUS ISIS en connectant une LED jaune sur la broche 7 de l'Arduino UNO :
Entrez les chaines de caractères "ON" et "OFF" dans le champ de saisie M1 et M2 du logiciel TERMINAL :
Lancez la simulation et connectez le logiciel TERMINAL sur le port COM4.
QUESTION 16 : Cliquez sur le bouton M1. Quel changement s'est opéré sur le simulateur
ISIS ?
………………....………………………………………………..………………....……………… QUESTION 17 : Cliquez sur le bouton M2. Quel changement s'est opéré sur le simulateur
ISIS ?
………………....………………………………………………..………………....………………
QUESTION 18 : Expliquez le rôle de ces lignes de commande :
1 if(readString == "ON"){
2 digitalWrite(7,HIGH);
3 Serial.println("LED ON");
4 readString = "";
}
1: ......................................................................................... 2: ......................................................................................... 3: ......................................................................................... 4: .........................................................................................
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
15/17
STI2D SIN © JB VUILLAUME
QUESTION 19 : Expliquez le rôle de cette ligne de commande :
readString = readString + caractere ;
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
QUESTION 20 : Pourquoi doit-on passer par une variable de type String (chaine de caractères) pour interpréter les commandes envoyées par le logiciel TERMINAL ?
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
PROTOTYPAGE
Réalisez le schéma de câblage de la carte Arduino (Commande de la LED) . Transférez le programme Arduino.
A partir du terminal d'Arduino, essayez depuis le PC d'allumer et d'éteindre la LED
Moniteur série
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
16/17
STI2D SIN © JB VUILLAUME
AMÉLIORATION DU PROGRAMME : UTILISATION DE LA MÉTHODE indexOff( )
Reprenez votre schéma de simulation et lancez la simulation. Lancez le logiciel terminal.exe et entrez la commande "ON" dans M1 et cette fois-ci une commande « erronée » ("OFFF") pour M2 :
Cliquez sur M1 et vérifiez que la LED s’allume sur votre schéma de simulation :
Cliquez ensuite sur M2. Que constatez-vous ?
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
Corrigez la commande M2 en remettant « OFF », puis cliquez ensuite sur M2. Que constatez-vous ?
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
Modifiez votre programme afin d’ajouter la transmission du contenu de readString au Terminal lors de la réception des caractères de commande :
CI3 – Comment circule l’information au sein d’un système (SEQ5) ? - Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée
TP Découverte
ETAPE 1
SIN P.
17/17
STI2D SIN © JB VUILLAUME
QUESTION 21 Répétez la même opération : ON OFFF OFF. Que constatez-vous sur le contenu de ReadString ?
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
QUESTION 22 Pourquoi alors le programme Arduino ne peut-il interpréter aucune commande à partir du moment où une erreur de transmission des commandes est faite ?
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………
………………....………………………………………………..………………....………………
Modifier votre programme en utilisant la méthode .indexOf("ON")> -1 et .indexOf("OFF")> -1 à la place de =="ON" et =="OFF" dans le programme principal Loop :
QUESTION 23 Exécutez la série de commande suivant : ONOFFFPOWERON BLOFF. Que constatez-vous sur l'interprétation des commandes par Arduino ? Quelle est le rôle de la méthode .indexOf( <chaine>) de l'objet readString ?
………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....……………… ………………....………………………………………………..………………....………………