Connectez-vous

Sections de Technicien Supérieur (STS)

Publié le 16 oct. 2019 Modifié le : 14 sept. 2023

Écrire à l'auteur

Le  mercredi 16 octobre 2019

CircuitPython au lycée : Une alternative à Arduino qui se programme avec python

Cet article présente un ensemble de matériel et logiciel proposant une alternative à l'utilisation d'Arduino au lycée. Ses points forts sont : une programmation native en python, une indépendance totale possible de l'ordinateur et une vraie sortie analogique pour la génération de sons.

  • La platine d'expérimentation avec son écran

    Retrouvez ce projet sur : https://olivier-boesch.github.io/CircuitPython-au-lycee/

     

    Un petit point pour commencer

     

    Dans la famille des microcontrôleurs, les arduinos tiennent une place à part du fait de leur très grande notoriété depuis une vingtaine d'années. Néanmoins, ils ne sont pas les seuls.

    Les microcontrôleurs interviennent en physique-chimie en seconde ainsi qu'en enseignement de spécialité aux niveaux première et terminale jusqu'aux épreuves de capacités expérimentales où on trouve déjà trois sujets nécessitant leur mise en oeuvre0.

    Le langage python s'est installé dans les programmes avec la dernière réforme. On peut le croiser en mathématiques1 et en enseignement de Sciences Numériques et Technologie (SNT) en seconde2. Son enseignement pourra être poursuivie de façon approfondie en spécialité Numérique et Sciences Informatiques (NSI) en première3 et terminale4 générale.

    Enfin, dans la classe de seconde, le domaine de l'électricité est de retour et les capteurs sont introduits.

     

    Le cahier des charges d'un système pour le lycée

     

    À la vue de ces différentes constatations, il est possible de définir les spécifications d'une carte microcontrôleur pour la physique-chimie:

    • Le choix du langage pour programmer :  le langage python étant utilisé de manière importante dans des matières connexes à la physique-chimie (mathématiques et sciences numérique et technologie), son choix pour la physique-chimie paraît davantage indiqué que le langage C dans lequel se programme les arduinos. Par ailleurs, les programmes de physique-chimie en conseillent l'usage.

     

    • Les entrées et sorties : Accéder à la connectique native du microcontrôleur est un atout pour appliquer et/ou réinvestir des chapitres d'électricité du nouveau programme. Néanmoins, une connectique également plus simple (type "grove") se révèle plus pratique pour une utilisation du microcontrôleur davantage en "boite noire". En outre, certaines expériences réclament une sortie analogique pure pour la production d'un son.


    Exemple de montage Grove

    • L'autonomie : Un microcontrôleur est, très souvent, un système embarqué fonctionnant sur piles ou batterie. La platine, même si elle se programme par l'intermédiaire d'un ordinateur, devra s'en affranchir en fonctionnant sur une alimentation portable (pile ou batterie). De plus, un affichage devra être disponible pour afficher des valeurs mesurées par les capteurs ou des résultats de calculs.


    Batterie externe pour portable

     

    La solution proposée

     

    La première version de la platine proposée ici s'articule autour d'un microcontrôleur feather M4 express fabriqué par Adafruit. Ce microcontrôleur récent et relativement puissant supporte le langage python5 pour sa programmation. On peut ainsi réinvestir les connaissances acquises en mathématiques et Sciences Numériques et Technologie. De plus, il pallie à certains manques de l'arduino Uno (la version la plus courante et la plus abordable) : une vraie sortie analogique pilotée par convertisseur analogique digital alors qu'un Arduino Uno n'est capable que de modulation en largeur d'impulsion6.

     

    Le microcontrôleur Feather M4 express

    Les entrées et sorties du montage doivent exposer au maximum les connexions natives du microcontrôleur pour permettre aux élèves de réinvestir et consolider les connaissances d'électricité sans toutefois poser de potentiels problèmes dus à des erreurs de branchement. Il a été choisi une connectique à ressort pour la facilité de connexion des fils et la solidité du montage terminé.

    Un écran pouvant s'enficher sur la connectique de ce microcontrôleur est ajouté. Il se connecte ou s'enlève simplement. Sa taille est très limitée mais sa lecture est très aisée.

     

    L'écran oled pour feather

    L'ensemble du montage est installé sur une plaque de polycarbonate (plexiglass) pour le côté pratique. on y trouve un circuit imprimé accueillant le microcontrôleur, la connectique à ressorts, une plaque de prototypage et un écran oled qui, suivant les séances, peut être monté ou non.



    [platine avec legendes]

     

     

    Programmation et logiciels

     

    Ce microcontrôleur est capable d'herberger des fichiers (2 Mo environ) et se comporte comme une clé usb lorsqu'on le branche à l'ordinateur.

    L'éditeur python Mu7 est parfaitement adapté pour l'édition du code. Son interface est simple. Les élèves peuvent facilement modifier et enregistrer le code comme n'importe quel fichier texte. Le nouveau code sera éxécuté dès sa sauvegarde.



    Interface de l'éditeur Mu

    Le microcontrôleur pouvant héberger un certain nombre de fichiers, il est donc possible de stocker un ensemble d'expériences directement sur la machine. Cela étant, comme les fichiers sont modifiés par les élèves, une application simple d'emploi a été développée pour remettre les fichiers à leur état initial. Celle ci peut étre éxécutée en fin de séance par le professeur, les adjoints de laboratoire - en vue de la préparation de la séance -  ou les élèves eux-même.



    Application de configuration

     

    Et après ?

     

    Le principal manque de cette solution est qu'elle oblige à un montage sur une plaque de prototypage pour chaque expérience. Si le montage électrique n'est qu'un objectif pédagogique secondaire et que l'objectif principal est déjà ambitieux, il peut être avisé de consacrer le temps de la séance à la notion principale.

    On peut egalement envisager la découverte progressive des microcontrôleurs en effectuant leur branchement avec la plaque de prototypage seulement dans un second temps.

    C'est pourquoi une seconde version de ce matériel est en préparation, intégrant des connecteurs grove et toujours la plaque de prototypage pour permettre les deux utilisations et ainside démultiplier les utilisations de ces cartes.

     

     Notes

    0 : dans les sujets "Pesanteur et arduino" (PC11), "L'UART de l'arduino" (PC14) et "Spectrophotomètre et arduino" (PC21) à consulter sur https://eduscol.education.fr/cid58536/serie-s.html#lien3
    1 : https://www.education.gouv.fr/pid285/bulletin_officiel.html?cid_bo=138131
    2 : https://www.education.gouv.fr/pid285/bulletin_officiel.html?cid_bo=138143
    3 : https://www.education.gouv.fr/pid285/bulletin_officiel.html?cid_bo=138157
    4 : https://www.education.gouv.fr/pid285/bulletin_officiel.html?cid_bo=144028

    5 : https://micropython.org/ pour la version historique et https://circuitpython.org/ pour la version utilisée par ce microcontrôleur

    6 : ou pwm en anglais ( https://fr.m.wikipedia.org/wiki/Modulation_de_largeur_d%27impulsion )

    7 : https://codewith.mu/