Dans ce TP, nous allons utiliser un microcontrôleur Arduino (architecture AVR) pour mettre en place un
programme fonctionnant avec les contraintes liées à la programmation temps réel souple.
L'objectif final est de faire tourner plusieurs sous-programmes de manière non bloquante en utilisant le
paradigme « super loop »
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
3) Ecrivez un programme qui agit comme un serveur echo en affichant les caractères envoyés :
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
5) Quelle est la procédure pour positionner une broche en sortie et changer son niveau logique ?
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
1/7
3 Lecture analogique
Expliquez brièvement le fonctionnement de l’échantillonnage avec un convertisseur
analogique / numérique. Vous pouvez aborder le concept de précision et de discrétisation :
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
2/7
4 Signal PWM
8) Détaillez la forme et comment est réalisé un signal PWM. Vous pouvez aborder la notion de cycle de
travail ainsi que celle de timer :
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
...........................................................................................................................................................................
9) Utilisez un signal PWM, modulé proportionnellement à votre potentiomètre pour faire briller la LED
intégrée à la platine Arduino.
3/7
c) Api UART
L'intérêt d'une Api est d'offrir, au travers d'une interface spécifiée, un ensemble de
fonctionnalités. Dans notre cas, nous allons proposer le contrôle des broches au travers du
port série :
• changement d'état d'une broche (état haut ou bas) ;
• changement de sens d'une broche (entrée ou sortie) ;
• lecture de l'état d'une broche (état haut ou bas mais aussi la valeur) ;
• bascule de l'état d'une broche (état haut si bas et inversement) ;
• bascule temporaire d'une broche (idem précédent mais avec un timer) ;
• signal PWM sur une broche
• …
Les messages seront envoyés depuis le port série et « digérés » par un sous-programme qui
décidera de l'action à entreprendre : changement d'état d'une broche, lecture d'état, message
d'erreur, etc.
Pour les questions qui suivent, vous pouvez formuler votre analyse en vous appuyant sur des
protocoles existants comme ICMP, IP...
10) Lorsque l'on essaie de lire un message, souvent les problèmes suivants se posent :
4/7
Définissez le format des messages en expliquant comment vous adressez les problématiques ci-dessus :
11) Définissez les différents messages qui circuleront sur votre réseau ainsi que leur signification en
fonction de la réponse à la question précédente :
5/7
2 Définition de l'API
Maintenant que les messages sont définis, il ne vous reste plus qu'a spécifier votre API en expliquant comment réaliser les actions :
Message avec un exemple Retour Action
Succès : Permet la lecture de l'état d'une broche digital
Erreur :
Erreur :
Erreur :
Erreur :
Erreur :
Lors de l'élaboration de votre API expliquez comment avez vous adressé les difficultés suivantes :
• RAZ du mécanisme de lecture des messages :
....................................................................................................................................................................................................................................................................
....................................................................................................................................................................................................................................................................