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:

Les détails de chaque objet sont disponibles sur la page de documentation courte.

  • 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)
sde/laboratoare/13_python.1589291810.txt.gz · Last modified: 2020/05/12 16:56 by diana.ghindaoanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0