Chargement...

Billet de blog

Un exemple de TP connecté interactif : tracer la courbe d'étalonnage d'un capteur

 Chargement de l'article en cours ...

Cet article présente la mise en oeuvre d’un microcontrôleur type Arduino pour une manipulation à distance par des élèves en classe de Seconde. L’utilisation d’un serveur NodeJS leur permet alors de contrôler une maquette depuis leur tablette et d’en récupérer les données afin de réaliser la courbe d’étalonnage d’une photorésistance.

Introduction pédagogique

 Contexte particulier et objectifs généraux

Le développement de ce projet s’inscrit dans une période particulière de reprise des cours avec des règles sanitaires strictes (juste après la première période de confinement du Covid-19). L’objectif ici est de permettre aux élèves de manipuler en limitant les échanges de matériel et donc les contacts. Ce projet s’appuie donc sur les tablettes Android remises au élèves en début d’année.

Bien que l’on perde ici les gestes manipulatoires (montage du circuit, interprétation d’un schéma de montage, identification des composants…), ce TP interactif connecté apporte néanmoins son lot de points positifs :

  • Une coopération accrue entre les élèves : ces derniers doivent se coordonner pour le contrôle du TP connecté ;
  • Une approche novatrice et interactive : ce TP se situe à l’intersection entre simulation numérique et manipulation. Il regroupe alors quelques avantages des deux mondes. Les élèves disposent de toutes les données et les interactions (par exemple faire pause, changer un paramètre…) d’une simulation numérique mais peuvent constater le fonctionnement effectif de la maquette, qui est bien réelle !
  • Une démonstration des innombrables possibilités qu’offrent les microcontrôleurs.

 Programme officiel

Le TP proposé aux élèves s’inscrit dans le thème “Signaux et capteurs” et vise à approfondir le lien entre variation d’une propriété électrique d’un capteur et variation de la propriété physique qu’il tend à mesurer. Voici l’extrait du programme officiel :

  • Mesurer une grandeur physique à l’aide d’un capteur électrique résistif.
  • Produire et utiliser une courbe d’étalonnage reliant la résistance d’un système avec une grandeur d’intérêt (température, pression, intensité lumineuse, etc.).
  • Utiliser un dispositif avec microcontrôleur et capteur.

Descriptif technique

Remarque : Comme à mon habitude, je ne réaliserai pas ici un tutoriel détaillé pour la réalisation du TP connecté. J'y décrirai les grandes lignes et grands principes tout en mettant à disposition toutes les ressources utilisées (documentation, codes sources...). À vous de jouer !

 Côté Arduino

Le projet se base sur une carte Arduino Nano. Elle présente l’avantage d’être très compact et accessible. Toute autre carte est bien évidemment bonne candidate, mais la Nano suffit amplement !

AliExpress : ici (2.5€)


Figure 1 – Microcontrôleur Arduino Nano

Deux capteurs sont utilisés :

  • Photorésistance 5mm 5528
  • La photorésistance est un semi-conducteur dont la résistivité varie avec luminosité. Il s’agit du capteur dont on veut tracer la courbe d’étalonnage, on relèvera pour cela sa résistance.
    AliExpress : ici (0.03€)
    Un exemple de mise en oeuvre : ici

  • Capteur numérique de luminosité BH1750
  • Pour avoir accès directement à la grandeur physique (ici l’éclairement en lux), on utilise un capteur numérique déjà étalonné par le constructeur.
    AliExpress : ici (1€)
    La documentation : ici
    Un exemple de mise en oeuvre : ici

En plus de ces composants principaux, vous aurez besoin d’une LED blanche (pour faire varier l’éclairement), d’une résistance de 220 Ω (pour déterminer la résistance de la photorésistance par un pont diviseur de tension) et d’une résistance de 150 Ω (pour protéger la LED). Une fois câblé, le montage Arduino ressemble à ceci :


Figure 2 – Montage Arduino


Figure 3 – Schéma de câblage

La LED est ici branchée en D9 qui est un port PWM (Pulse Width Modulation). Ce port est intéressant car il produit un signal carré périodique dont on peut choisir la fréquence. Sur ce principe, on peut simuler toute une gamme de tensions entre 0 et 5V et ainsi faire varier la puissance de la LED (et donc l’éclairement).

Le conducteur ohmique en série avec la photorésistance permet quant à lui de déduire la valeur de résistance de cette dernière. Pour cela, on applique un pont diviseur de tension :


Figure 4 – Méthode de calcul de la résistance

À présent, il ne manque plus que le code source :

Le fichier ino avec les librairies : en téléchargement direct

 Côté NodeJs

Pour l’interface connectée, c’est NodeJS qui s’en charge. Voici l’ensemble des fichiers du serveur :

Le fichier du serveur NodeJS : en téléchargement direct

Une fois l’Arduino connecté et le serveur NodeJS lancé, ce dernier récupère les données envoyées par Arduino via le port série. Il gère ensuite l’affichage en temps réel des données sur une page Web. Cette dernière est accessible sur l’ordinateur relié à l’Arduino en entrant l’adresse “http://localhost:8000” dans le navigateur.

Remarque : Normalement, le serveur NodeJS détecte automatiquement le microcontrôleur Arduino au lancement. Si ce n'est pas le cas, il faudra bidouiller à la ligne 90 du fichier "server.js".

Cependant, l’intérêt premier du serveur NodeJS est de rendre l’interface accessible aux élèves (via leur tablette par exemple). En utilisant un hotspot WiFi, les élèves peuvent s’y connecter et rentrer l’adresse IP de l’ordinateur hébergeant le serveur NodeJS (lors du lancement du serveur NodeJS, l’adresse IP sera indiquée).


Figure 5 – Démarrage du serveur NodeJS via une console et indication de l’adresse IP

Les élèves accèdent ainsi à l’interface afin de récupérer les valeurs de résistance et d’éclairement en direct. Ils ont aussi la possibilité de contrôler la LED et faire ainsi varier l’éclairement. Attention cependant à ce que tous les élèves ne changent pas la valeur en même temps ! Il faudra de la coordination…


Figure 6 – Interface de contrôle du TP connecté

Résultats


Figure 7 – Courbe d’étalonnage obtenue lors du TP interactif

Voici un exemple de courbe d’étalonnage (à laquelle il faudra ajouter les barres d’incertitudes…) obtenue par les élèves. Les résultats semblent reproductibles et la précision suffisante (dans ce contexte).

En guise d’ouverture, ce TP connecté interactif peut tout à fait être réalisé dans le cadre d’un enseignement à distance. En effet, quelques modifications apportées au serveur NodeJS permettraient aux élèves de contrôler la maquette depuis chez eux !

  Modifié le : 08/08/2023 09:36:35