Вы находитесь на странице: 1из 17

CI3 – Comment circule l’information au sein d’un système (SEQ5) ?

TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 1/17

 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 :

UNO
microcontrolandos.blogspot.com

AREF
13
PB5/SCK A
12
PB4/MISO
RESET 11
~ PB3/MOSI/OC2A B
10
~ PB2/SS/OC1B
9
~ PB1/OC1A C
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121

D
7
ANALOG IN

PD7/AIN1
DIGITAL (~PWM)

6
A0 ~
PD6/AIN0/OC0A
PC0/ADC0 5
A1 ~
PD5/T1/OC0B
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~
PD3/INT1/OC2B
PC3/ADC3 2
A4 PD2/INT0
PC4/ADC4/SDA 1 TXD
A5 TX PD1/TXD RXD
PC5/ADC5/SCL 0
RX PD0/RXD
TXD
ARDUINO UNO R3
RTS

CTS

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

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 2/17

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:
AMPLITUDE : DECALAGE :
réglage sur 1V réglage sur 45
Voix A sur
"DC"

START 1 bit STOP

5V

0V
DONNÉE
Voix B,C et D
Trame sur "OFF"

BASE DE TEMPS :
réglage sur 0,1 ms DECALAGE :
réglage sur 120

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 3/17

 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 :

START 1 bit = '1' STOP

5V DONNÉE = % ... ... ... ... ... ... ... ...

Caractère ASCII correspondant :

.......
0V
0 1

DONNÉE

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.

Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0


Caractère 'U'
DONNÉE lue

 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 :

DATA
Repos Repos
1

S……. Bit …. Bit …. Bit …. Bit …. Bit …. Bit …. Bit …. Bit …. S.…...

0 t

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 4/17

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


DECALAGE sur 40

AMPLITUDE sur 1V Voix A sur "DC"

TRIGGER sur 25

BASE DE TEMPS sur 50µs


DÉCALAGE sur 200ms POSITION sur 260

 tracez le chronogramme de TxD en identifiant les bits à 1 (5V) et les bits à 0 (0V) :
DATA

Repos Repos
1

0 t

 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" ?

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 5/17

 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)

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 6/17

 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 :

TxD

0 t
S P

Caractère de contrôle '\r' :

Hexa : $ .............

Nom : .................................. Rôle : .......................................................................................

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 7/17

 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) :

UNO
A

microcontrolandos.blogspot.com
C

AREF D
13
PB5/SCK
PB4/MISO
12 DEBOGAGE
RESET 11
~ PB3/MOSI/OC2A RXD
10
~ PB2/SS/OC1B
9
~ PB1/OC1A TXD
8
ATMEGA328P-PU
1121 PB0/ICP1/CLKO
7 RTS
ANALOG IN

PD7/AIN1

DIGITAL (~PWM)
6
A0 ~
PD6/AIN0/OC0A CTS
PC0/ADC0 5
A1 ~
PD5/T1/OC0B
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~
PD3/INT1/OC2B
PC3/ADC3 2
A4
PC4/ADC4/SDA
PD2/INT0
1 TXD P1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD 1
DCD
6
DSR
ARDUINO UNO R3 2
RXD
7
RTS
3
TXD
8
CTS
4
DTR
9
RI

ERROR
COMPIM
 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

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

 Connectez le logiciel TERMINAL au port COM4 et vérifiez que le caractère 'U' s'affiche bien
dans le terminal de réception :

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 8/17

 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 :

TxD

0 t
S P

Caractère de contrôle '\t' :

Hexa : $ .............

Nom : .................................. Rôle : .......................................................................................

 Modifiez le programme Arduino en remplaçant la méthode .print par la méthode


.println :

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
NetAtmo : La Station Météo Connectée ETAPE 1 P. 9/17

 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> :
Seq Dec Hex Acro Symb NOM C Description

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 10/17

À 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
^@ 00 0x00 NUL ␀ Null \0 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.

À 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
^G 07 0x07 BEL ␇ Bell \a 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.

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
^H 08 0x08 BS ␈ Backspace \b
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.

Tabulation \t
^I 09 0x09 HT Positionne le caractère suivant dans une colonne de type tab stop (tabulation).

␉ 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-
^J 10 0x0A LF ␊ Line Feed \n
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

 LECTURE DE CARACTERES

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 11/17

 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 :
UNO
A

B
microcontrolandos.blogspot.com

AREF D
13
PB5/SCK
PB4/MISO
12 DEBOGAGE
RESET 11
~ PB3/MOSI/OC2A RXD
10
~ PB2/SS/OC1B
9
~ PB1/OC1A TXD
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121

7 RTS
ANALOG IN

PD7/AIN1
DIGITAL (~PWM)

6
A0 PD6/AIN0/OC0A
~ CTS
PC0/ADC0 5
A1 PD5/T1/OC0B
~
PC1/ADC1 4
A2 PD4/T0/XCK
PC2/ADC2 3
A3 ~
PD3/INT1/OC2B
PC3/ADC3 2
A4
PC4/ADC4/SDA
PD2/INT0
1 TXD P1
A5 TX PD1/TXD
PC5/ADC5/SCL 0
RX PD0/RXD 1
DCD
6
RXD DSR
ARDUINO UNO R3 2
RXD
7
RTS
3
TXD
8
CTS
4
DTR
9
RI

ERROR
COMPIM

 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 ?

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………
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 ?

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 12/17

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

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 :

QUESTION 15 : Relancez la simulation. Qu'elle amélioration a-t-on apportée au système par


rapport à la question 14 ?

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 13/17

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

 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 :

 Modifiez le schéma de simulation sous PROTEUS ISIS en connectant une LED jaune sur la
broche 7 de l'Arduino UNO :

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 14/17

UNO

R1

microcontrolandos.blogspot.com
270
AREF

PB5/SCK
13 D1
12 LED-BIRY
PB4/MISO
RESET 11
~ PB3/MOSI/OC2A
10
~ PB2/SS/OC1B
9
~ PB1/OC1A
8
PB0/ICP1/CLKO
ATMEGA328P-PU
1121
7
ANALOG IN

PD7/AIN1

DIGITAL (~PWM)
A0 ~
PD6/AIN0/OC0A
6 P1
PC0/ADC0 5
A1 ~
PD5/T1/OC0B
PC1/ADC1 4
A2 PD4/T0/XCK 1
PC2/ADC2 3 DCD
A3 ~
PD3/INT1/OC2B 6
PC3/ADC3 2 RxD DSR
A4 PD2/INT0 2
PC4/ADC4/SDA 1 RXD
A5 TX PD1/TXD 7
PC5/ADC5/SCL 0 RTS
RX PD0/RXD TXD 3
TXD
8
CTS
4
ARDUINO UNO R3 DTR
9
RI

ERROR
COMPIM

 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: .........................................................................................
1 if(readString == "ON"){
2 digitalWrite(7,HIGH); 2: .........................................................................................
3 Serial.println("LED ON");
3: .........................................................................................
4 readString = "";
} 4: .........................................................................................

QUESTION 19 : Expliquez le rôle de cette ligne de commande :

readString = readString + caractere ;

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 15/17

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

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

 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 :

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 16/17

 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 :

QUESTION 21 Répétez la même opération : ON  OFFF  OFF. Que constatez-vous sur le


contenu de ReadString ?

………………....………………………………………………..………………....………………

STI2D SIN © JB VUILLAUME


CI3 – Comment circule l’information au sein d’un système (SEQ5) ?
TP Découverte SIN
- Etude de la liaison série UART -
P.
NetAtmo : La Station Météo Connectée ETAPE 1 17/17

………………....………………………………………………..………………....………………

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 : ONOFFFPOWERON 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 ?

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

………………....………………………………………………..………………....………………

STI2D SIN © JB VUILLAUME

Вам также может понравиться