This is an old revision of the document!
TP 13 - Applications embarquées
Présentation théorique
Dans ce laboratoire, nous utiliserons Python pour contrôler une carte de développement intégrée. Le laboratoire sera résolu à l'aide du simulateur MicroPython unicorn.
MicroPython
MicroPython est un environnement d'exécution d'application Python développé pour les appareils aux capacités limitées.
De plus, nous utiliserons le module pyb, qui expose des fonctions qui permettent le contrôle de la carte simulée.
Fonctions utiles
Le module pyb
expose les suivants objets utiles:
LED - permet le contrôle des LED sur la carte
Switch - permet de lire l'état du bouton sur la carte
Pin - permet l'interaction avec les broches (pins) de plaque
Servo - permet le contrôle d'un servomoteur attaché à la carte
ADC - permet la lecture de valeurs analogiques
DAC - vous permet d'écrire une valeur analogique sur une broche
Le module time
Le module time permet d'utiliser des fonctions qui peuvent “arrêter” l'exécution du programme pendant un certain temps.
Exercices
Exercice 1 - Demo
Pour commencer, nous nous familiariserons avec la plateforme utilisée. En utilisant le bouton CHOOSE A DEMO…
exécutez les exemples suivants:
HELLO WORLD!
SWITCH
LEDS
TIME
PIN LED
ADC
Exercice 2 - Messages
Créez un programme qui affiche le message Bonjour 5 fois toutes les 2 secondes.
Exercice 3 - LED
Créez un programme pour chaque demande afin de :
faire clignoter le LED 1 une fois par seconde
allumer et éteindre, à un intervalle d'une seconde chaque LED
allumer à un intervalle d'une seconde les LEDs de 1 à 4 et puis éteindre les LEDs de 4 à 1
Exercice 4 - Switch
Créez un programme pour chaque demande afin de :
afficher si on a appuyé ou non sur le bouton de la carte
allumer une LED à l'extérieur de la carte lorsque le bouton est maintenu enfoncé et s'éteint lorsqu'il n'est pas enfoncé
en appuyant sur le bouton (push-release), le LED 1 s'allume, à la prochaine pression, elle s'éteint et ainsi de suite
Exercice 5 - Servo
Créez un programme qui effectue une rotation complète du servo toutes les 10 secondes.
Exercice 6 - ADC
Créez un programme pour chaque demande afin de :
afficher en continu (toutes les 0,5 secondes) l'état du curseur connecté à la carte
allumer le LED 2 sur la carte si le curseur est poussé plus de moitié et l'éteindre sinon
Exercice 7 - Intensité
Créez un programme pour chaque demande afin de :
allumer le LED 3 sur la carte à la moitié de l'intensité maximale (Hint: intensity)
allumer progressivement le LED 3 sur la carte à pleine intensité (fade in)
allumer progressivement le LED 3 sur la carte à pleine intensité, puis de l'éteindre progressivement (fade in- fade out)
allumer le LED 3 sur la carte à une intensité inversement proportionnelle au curseur (plus la valeur du curseur est élevée, moins le LED est lumineuse)