Dans un TP de sciences de l’ingénieur en début de première année de prépa TSI, les étudiants étudient une barrière de parking. Une de leurs activités consiste à caractériser le potentiomètre qui est utilisé dans ce système comme capteur d’angle. Pour cela, ils doivent mesurer la tension en sortie du potentiomètre en fonction de l’angle θ formé par la barrière avec l’horizontale.
Jusqu’à présent, pour mesurer l’angle, nous utilisions un rapporteur, mais ce n’était pas très précis. Bien sûr, on peut utiliser un smartphone avec une application comme Phyphox, mais j’ai réfléchi à la conception d’un appareil de mesure d’angle dédié : un inclinomètre.
Quel matériel ?
L’idée était de réaliser un dispositif réalisant la mesure d’angle que les étudiants seraient capable d’étudier voir même, de concevoir. En CPGE TSI, le langage informatique maitrisé, c’est le Python. C’est parti pour la carte microbit qui se programme très bien en MicroPython. Pour afficher l’angle, on peut utiliser la liaison série et visualiser les infos sur PC , mais un appareil autonome, c’est quand même mieux. J’ai trouvé une carte intégrant un afficheur LCD + support de piles pour microbit ! C’est disponible chez Lextronic et Gotronic pour une vingtaine d’euros.
La carte microbit s’enfiche au dessus de l’afficheur. L’afficheur LCD est un afficheur texte de 2 lignes de 16 caractères. Le petit interrupteur sur le coté permet d’allumer d’éteindre l’ensemble. Le boitier s’alimente avec 3 piles AAA.
On ajoute le fichier .py au projet en passant par « Projet » (onglet à gauche) puis « Ouvrir ». Il y a quelques correctifs à faire sur ce fichier. N’hésitez pas à me contacter si besoin.
Principe de la mesure et du programme
La carte microbit est équipée d’un accéléromètre 3 axes. Il suffit de mesurer les composantes de l’accélération g sur les axes X et Y pour en déduire la valeur de l’angle d’inclinaison θ. C’est un petit calcul facile de trigo !
On peut rajouter des fonctionnalités comme un tarage de l’angle avec les boutons poussoirs et moyenner les résultats donnés par l’accéléromètre…
Et ca marche ?
Ben, oui, ça marche ! La preuve en image avec un angle de 30°
Maitriser le tableur est, à mon avis, un savoir-faire indispensable pour un technicien supérieur. Voici un TP que nous faisons, mon collègue et moi, en début de BTS SN première année. Les exemples étudiés ici sont adaptés et contextualisés pour des électroniciens. Et un tableur traite des données : écrire des formules dans des cases, c’est aussi de la programmation !
Prochainement, notre BTS SN va devenir le BTS CIEL (Cybersécurité, Informatique et réseaux, ELectronique). Ce nouveau BTS intègre un co-enseignement mathématiques et sciences et techniques de l’ingénieur. Ce TP peut donc être une activité de co-enseignement intéressante. À discuter avec le prof de maths… Le texte complet du TP est à télécharger en fin d’article.
Ce TP se fait sur Calc de LibreOffice, mais pourrait aussi bien se faire sur Microsoft Excel.
Formules magiques
Le premier exercice consiste à remplir le tableau suivant (en rouge, les résultats attendus). C’est un tableau de conversion dBm – mW – Volts sur 600 Ω.
Bien entendu, les étudiants doivent saisir les formules qui donnent les résultats. Je précise ça parce qu’une fois, j’ai vu un étudiant faire les calculs avec sa calculette et remplir le tableau avec ses résultats !
Vous avez remarqué comme je suis peau de vache ? Parfois je demande des mV, parfois des Volts. C’est bourré de chausse-trappes ce TP !
Un capteur à thermistance
Un tableur, ca sert aussi à tracer des courbes ! Dans cet exercice, il s’agit de tracer la caractéristique d’un capteur à thermistance. Je ne vais pas trop le détailler ici car j’ai déjà consacré un article à ce capteur (le mois dernier). Ca se passe ici : lien vers l’article capteur à thermistance
Voici la courbe que les étudiants doivent tracer :
Tracé impédance -fréquence
Plus compliqué, on va tracer ici des courbes sur une échelle semi-logarithmique. Il s’agit de tracer l’impédance d’entrée d’un système en fonction de la fréquence. On doit aussi faire figurer sur la courbe un gabarit afin de savoir si la courbe est dans la spécification (ou pas). Les points de mesure sont donnés ainsi que le gabarit. Voilà ce que ca donne !
Pas mal ? Moi, quand j’étais étudiant, je devais tracer ce type de courbes sur du papier millimétré semi-logarithmique 4 décades ou 5 décades (je ne vieillis pas, je deviens vintage !).
Un comparateur à ALI
On peut aussi utiliser le tableur pour simuler un circuit électronique. En voilà un exemple :
Voici le circuit :
Et voici les signaux d’entrée et de sortie. V+ est une tension continue de 1.2 V et V- est une sinusoïde de fréquence 1 kHz et d’amplitude 3 V.
Cet exercice permet de voir quelques fonctions comme le sinus et la fonction SI. SI(Test; Alors Valeur ; Sinon Valeur) : on fait bien de l’informatique !
Un peu de tout
A la fin du TP, on fait un peu de tout.
Du calcul de moyennes pondérées avec les coefficients du BTS et détermination si le candidat est admis ou collé (SI moyenne >= 1 0, alors « REÇU », sinon « COLLÉ »). Ça permet de voir les $ et aussi les mises en forme conditionnelles (on affiche en vert ou en rouge les notes en fonction de leurs valeurs).
Un diagramme de Gantt ou l’emploi du temps de la classe (pratique en période de rentrée scolaire).
En bonus, ceux qui sont en avance peuvent faire le convertisseur binaire-décimal-hexadécimal :
Et enfin, des courbes de fonction de transfert de filtre passe-bas du second ordre en 3 D ! Avec échelle semi-logarithmique, s’il vous plait ! Mais ça c’est vraiment le super-bonus, pour les cracks !
J’ai testé pour vous l’IA ChatGPT d’OpenAI dont tout le monde parle en ce moment. Moi qui suis fan de S-F, j’ai trouvé cela vraiment intéressant, je n’ai pas été déçu ! J’ai essayé de voir si cet IA avait ou pas le niveau d’un étudiant de BTS Systèmes numériques sur du codage en C ou un exercice d’électronique. Je vous raconte ça ici…
OpenAI
Après avoir vu passer plusieurs articles intéressants, je me suis inscrit sur le site OpenAI. Il faut laisser une adresse mail et un numéro de téléphone. Cela permet d’accéder gratuitement à plusieurs outils dont ChatGPT, l’IA avec laquelle on peut converser et DALL-E 2 une IA qui produit une image correspondant à la description que vous écrivez. L’inscription est très rapide. J’ai d’abord essayé ChatGPT.
ChatGPT en BTS SN ?
J’ai demandé à ChatGPT de se présenter :
Je me suis demandé : « Est-ce que ChatGPT pourrais faire un bon étudiant de BTS Systèmes numériques ?« .
Lettre de motivation
Il faudrait d’abord passer la première étape : ParcourSup ! J’ai donc demandé à l’IA de rédiger une lettre de motivation. Voici ce que ca donne
Alors là, chapeau ! J’ai été impressionné. Rien à dire sur le style, c’est clair et concis. Aucune faute d’orthographe. Sur le fond, rien à dire non plus, franchement, la plupart des lettres de motivation que nous recevons sont moins intéressantes que celle-ci. Du coup, je vais être bien embêté cette année lorsque il va falloir trier les dossiers à la prochaine commission Parcoursup. Si une lettre de motivation est pertinente et sans faute d’orthographe est-ce le candidat qui l’a rédigé ou ChatGPT ?
Une question d’électronique
Et les connaissances ? J’ai fait un test avec une question d’électronique simple, avec une LED, une question du genre de celle qu’on pose en devoir :
Voila une réponse intéressante ! J’aimerais bien que mes étudiants rédigent comme cela lors des devoirs surveillés ! C’est bien expliqué. Bon, le schéma c’est léger, il ne sait pas dessiner mais c’est juste, bien qu’il ne précise pas où sont l’anode et la cathode. Pareil pour les résistances proposées 630 et 640 ne sont pas des valeurs normalisées mais franchement, c’est pas mal du tout ! Mon collègue et moi travaillons dur pour que nos étudiants arrivent à faire ce calcul juste en première année.
Coder en C
J’ai demandé à l’IA de résoudre des exercices simples en langage C que je pose en évaluation de TP en milieu de première année.
Le code est juste, bien aéré. La variable temporaire qui permet de stocker la donnée a été judicieusement nommée temp. L’énoncé a été bien compris. L’IA complète sa réponse avec un petit commentaire décrivant le fonctionnement du programme. C’est parfait !
On en essaye un plus dur ? Voici l’énoncé :
Voici le programme que j’ai obtenu (je l’ai mis en forme avec Carbon).
Le programme est commenté (ce que ne font pas souvent les étudiants). Les variables portent des noms pertinents. Le programme est juste. Il fait juste deux fois l’affichage du nombre de caractères avec deux méthodes mais c’est vrai que l’énoncé pourrait le laisser croire.
À chaque fois, la réponse est quasi instantanée…
Ces deux manips nous montrent que l’IA code aussi bien, voire mieux qu’un étudiant de BTS en milieu de première année et surtout beaucoup plus vite !
Analyser un programme
OK, l’IA code bien mais est-elle capable d’analyser un programme ? Je l’ai fait plancher sur un exercice posé en devoir écrit. Voici l’exercice.
Et voici la réponse de ChatGPT :
Bravo ! Le programme est bien analysé. Il n’a juste pas très bien répondu à la question 1 : compte est un entier et chaine est une chaine de 100 caractères maximum. Mais c’est bien rédigé, et il a bien compris ce que faisait le programme, ce qui n’était pas le cas de la plupart de mes étudiants lorsque j’avais posé cette question en devoir !
Et qui on est, hein ?
Je termine souvent les articles par l’expression « Et qui on est, hein ? ». C’est une expression qu’on emploie souvent en Corse. L’IA est-elle capable de comprendre ce qu’elle veut dire ?
Une exclamation qui sous entend que la personne qui parle est confiante ou sure d’elle-même. C’est plutôt bien vu !
Le sens de l’humour ?
Est-ce que ChatGPT a le sens de l’humour ? J’ai testé.
Vous trouvez, ça drôle ? Moi, non. C’est nul !
Heureusement, mes étudiants ont bien plus d’humour !
DALL-E 2
J’ai aussi essayé DALL-E 2. Je lui ait demandé de me dessiner un professeur d’électronique et d’informatique (Digital art). Voici l’image que j’ai obtenu.
Est-ce que cette image me ressemble ?
Le gars a un peu la gueule de travers, c’est un défaut courant lorsque l’IA invente des visages. Sinon, la coupe de cheveux, les lunettes et la barbe de quelques jours matchent assez bien ! Les écrans et le prototype improbable aussi ! Que ceux qui me connaissent donnent leur avis !
Bravo l’artiste !
Et maintenant, qu’est-ce qu’on fait ?
Oui, après cette expérience, que fait-on ?
On continue à enseigner comme avant, comme si ce truc n’existait pas ?
Personnellement, lorsque je lirai une bonne lettre de motivation, je ne pourrais m’empêcher d’avoir un doute. Qui a écrit cette lettre : un jeune humain ou une IA ?
Est-ce pertinent de demander à un étudiant un exercice de codage à la maison ?
Doit-on continuer à coder comme avant ? À apprendre à coder comme avant ?
Et cette IA va progresser. Ca va très vite dans ce domaine. Et plus on l’utilise, plus elle progresse !
Quelles tâches seront sous-traitées aux IA dans le futur ?
Quels seront les boulots des humains dans le futur ?
Je vous laisse méditer cela en cette période de vœux et de nouvelle année !
Dans nos projets de BTS, bien souvent, nous mettons en œuvre des capteurs qui mesurent des grandeurs physiques interfacés à un microcontrôleur. Longtemps nos IHM, nos Interfaces Homme-Machine, se sont limités à des leds, des boutons-poussoirs, des petits afficheurs, avec éventuellement une sortie d’informations vers un PC sous forme communication série.
Rapidement, le besoin de réaliser des IHM plus évolués s’est fait sentir. Ça serait quand même sympa de pouvoir piloter nos projets à partir d’un PC ! C’est comme cela que nous nous sommes lancés sur Visual Studio C#, pour réaliser des petites applications Windows pour communiquer avec nos projets/systèmes.
Les TPs présentés ici sont abordés en milieu de BTS 2eme année. les étudiants ont déjà une première maitrise du langage C et quelques connaissances en POO (programmation orientée Objet) en C++.
TP n°1 : premiers pas Visual Studio
Un premier TP/tuto assez simple qui permet de réaliser une application Windows permettant de calculer la résistance associé à une LED.
Le TP consiste à réaliser un petit moniteur série (comme le moniteur série d’Arduino).
J’ai appris Visual Studio C# sur le tas, les solutions ne sont peut être pas optimales. Si je raconte des bêtises dans mes TPs, merci de me le faire savoir en laissant un commentaire.
Faire des IHM Windows pour piloter nos systèmes ? On sait faire !
En BTS Systèmes numériques, option électronique et communication (BTS SN-EC), nous avons mis en place au lycée Cabanis, mes collègues et moi, une série de TPs d’informatique ou plus exactement de développement logiciel (langage C). L’objectif de ces TPs (enfin plutôt des TD/TPs) est de permettre aux étudiants d’acquérir quelques bases de C et d’algorithmique. Pour cela, nos étudiants de première année développent des applications console avec CodeBlocks. Les activités proposées sont assez simples, la finalité étant de passer rapidement à la programmation d’applications informatiques embarquées sur des plateformes comme Arduino, mbed, PSoC etc…