Activité 1 Informatique Embarquée

On désigne sous le terme informatique embarquée les aspects logiciels se trouvant à l'intérieur des équipements n'ayant pas une vocation purement informatique (réf. Wikipédia). Pour faire simple, il s’agit de programmer les cartes électroniques situées dans quasiment tous les appareils électriques.

À faire vous-même 1 :

Nous allons poursuivre en travaillant autour d’une carte électronique pédagogique « micro:bit » développée par la BBC, la plus importante et la plus célèbre société de diffusion au monde :

Le langage de programmation sera le « MicroPython » … le langage Python adapté au microcontrôleur. Le microcontrôleur est le composant programmable des cartes électroniques.

Nous allons utiliser le site Web « Vittascience » pour programmer cette carte mais aussi la simuler.

À faire vous-même 2 :

  • Après observation du programme, testez le d’abord en simulation :

  • Testez le programme ensuite en mode débogage (pas à pas) en cherchant à comprendre chaque ligne de code :

  • Téléversez le programme sur la carte « micro:bit » si vous en possédez une connectée sur un des ports USB de votre ordinateur :

La carte « micro:bit » possède en plus de ses deux Boutons Poussoirs (A et B) et de son petit écran constitué de 5 x 5 LED rouges, un certain nombre de broches numérotées servant à y connecter soit des capteurs (détecteur de présence par exemple) soit des actionneurs (voyant ou moteur par exemple) :

Au niveau des broches deux cas principaux peuvent se produire :

  • Premier cas: La broche est du type logique valant soit 0 (tension électrique plutôt faible entre la broche et la masse broche GND), soit 1 (tension électrique plutôt forte)
  • Deuxième cas: La broche est du type analogique valant une multitude de valeur assez souvent comprise entre 0 et 255 (la tension électrique fluctuant alors progressivement entre 0 Volt pour la valeur 0 et 3,3 Volt pour la valeur maximale)

Un bouton poussoir externe supplémentaire sera connecté à la broche P0 et une LED (voyant) à la broche P1.

À faire vous-même 3 :

  • Complétez le programme de manière à pouvoir afficher un cœur soit par appui sur le bouton A, soit par appui sur le bouton externe connecté la broche 0, en :

    • Créant une variable « valeur_broche_0 » pour lire l'état de la broche 0 avec l’instruction « valeur_broche_0 = pin0.read_digital() ».
    • Affichant cette valeur avec un « print ».
    • Complétant le test « if » avec l'opérateur « or » pour prendre en compte ces deux sources de commande.
  • Complétez puis testez votre programme pour qu’une accélération de la carte suivant x > à 10 m/s² provoque aussi l’affichage du cœur en utilisant l’instruction « valeur_acc_x = accelerometer.get_x() » pour que la variable lecture prenne la valeur de l’accélération en x

  • Améliorez puis testez votre programme pour que le cœur reste affiché pendant 5 secondes en ajoutant dès la premier ligne l’instruction « import time » (importation de la librairie temps) puis dans votre code l’instruction « time.sleep(5) » pour une pause de 5 secondes

  • Sauvegardez votre travail :

    • Copiez votre code
    • Ouvrez le fichier « Entrées Sorties logiques.py » avec l’éditeur de code Thonny
    • Remplacez le code initial par le vôtre
    • Enregistrez puis fermez Thonny

 

Nous avons actuellement un bouton poussoir externe connecté à broche P0 ; il s’agit d’une entrée logique appelée digital en Anglais d’où l’instruction « pin0.read_digital() ».

Nous allons connecter à broche P2 un capteur de luminosité qui renvoie une tension variable en fonction de la luminosité reçue par cette dernière ; il s’agit cette fois-ci d’une entrée analogique.

Le voyant (LED) sera toujours connecté à la broche P1 mais son intensité lumineuse devra varier en fonction de la luminosité reçue par le capteur de luminosité.

À faire vous-même 4 :

  • Ouvrez le fichier « Entrées Sorties logiques analogiques.py » en procédant de la même façon d’au début de l’activité

  • Achevez puis testez le programme la LED s’allume en fonction de la luminosité reçue par le capteur de luminosité (Plus la lumière reçue sera forte ® plus la LED devra s’allumer fortement) en utilisant les instructions suivantes :

    - « luminosite = pin2.read_analog() » pour faire l’acquisition du niveau de luminosité

    - « print("Niveau de luminosité : ", luminosite) » pour afficher sur la console la valeur reflétant le niveau de luminosité

    - « pin1.write_analog(luminosite) » pour allumer la LED plus ou moins fortement en fonction de la valeur de la variable « luminosite » (luminosite = 0 ® DEL éteinte / luminosite = 1023 ® DEL allumée le plus fortement possible)

  • Sauvegardez votre travail :

    • Copiez votre code
    • Ouvrez le fichier « Entrées Sorties analogiques.py » avec l’éditeur de code Thonny
    • Remplacez le code initial par le vôtre
    • Enregistrez puis fermez Thonny

Créez votre propre site internet avec Webador