Avec cette activitè, vous pouvez découvrir combien vous pesez sur la Lune et sur les différentes planètes du Système Solaire. Pour atteindre cet objectif, nous utiliseront Arduino UNO, une plateforme matérielle utilisée pour construire des projets de robotique, electronique et automation, sur laquelle on télécharge un logiciel (dans le langage C) qui permettra de contrôler une série de capteurs connectés à la carte elle-même, et d’intéragir avec eux. Outre la carte Arduino, nous aurons bésoin de 9 boutons, un pour chaque planète du Système Solaire, plus la Lune, un podium carré de quarante centimètres de côté, qui servira de base pour nôtre balance (idéal serait une base de bois afin de résister à nôtre poids), 4 capteurs de force d’une capacité de charge de 50 kg (dans cette façon, nous pourrons mésurer un poids maximal de 200 kg), et enfin le module HX711, fondamental pour amplifier et envoyer à la carte Arduino le signal electrique émis par les capteurs de charge.
Commençons avec la construction du plateau de la balance. D’abord, on prends nôtre plateforme, et on colle les capteurs de force aux quatre côtés de la plateforme. Pour faire cette operation, nous pouvons utiliser un peu de colle a chaud qui – n’oubliez pas – doit être appliquée uniquement et exclusivement sur le borde extérieur du capteur. C’est parce que les capteurs de poids utilisent la variation de resistance électrique de certains matériaux lors de la compression ou de la traction. Le coeur, ou pour mieux dire, les coeurs du capteur sont les jauges de contrainte qui, positionnés de manière appropriée sur le capteur de force, fournissent des indications suffisantes pour dimensionner la contrainte. La jauge de contrainte electrique à résistance est constituée par une grille de fil métallique très fin rigidement appliquée sur un support en matière plastique. La jauge de contrainte est utilisée en le collant sur la surface du corps dont on veut mésurer les déformations. Le fil suit les déformations de la surface à laquelle il est collé, s’ètirant et se rapprochant d’elle; ces changements dimensionnels provoquent une variation de la résistance electrique du fil. En mesurant ces variations, il est possible de remonter à l’ampleur de la deformation qui les a causées. Les variations de résistance sont interpretées par le module HX711, qui permet à Arduino d’obtenir des indications précises sur le poids auquel les capteurs sont soumis. Pour que le module puisse détecter correctement les variations de poids et les communiquer à la fiche Arduino, il est nécessaire de rélier les différents capters de force de manière appropriée, en suivant le schéma ci-dessous.
Liaisons entre les capteurs de force et le module HX711: Capteur de force haut à gauche: Fil rouge —> sortie E- capteur HX711; Fil blanc —> fil blanc capteur de force haut à droite; Fil noir —> fil noir capteur de force bas à gauche. Capteur de force haut à droite: Fil rouge —> sortie A- capteur HX711; Fil blanc —> fil blanc capteur de force haut à droite; Fil noir —> fil noir capteur de force bas à droite. Capteur de force bas à gauche: Fil rouge —> sortie A+ capteur HX711; Fil blanc —> fil blanc capteur de force bas à droite; Fil noir —> fil noir capteur de force haut à gauche. Capteur de force bas à droite: Fil rouge —> sortie E+ capteur HX711; Fil blanc —> fil blanc capteur de force bas à gauche; Fil noir —> fil noir capteur de force haut à droite. Liaisons entre le capteur HX711 et Arduino: GND module HX711 —> GND Arduino; VCC module HX711 —> 5v Arduino; CLK module HX711 —> pin 2 Arduino; DOUT module HX711 —> pin 3 Arduino. Comme vous pouvez le voir dans le schéma, certains fils des capteurs de force sont reliés entre eux pour fournir ce qu’on appelle pont de Wheatstone. Cette disposition permet de combiner et mesurer simultanément les charges sur tous les différents capteurs de force. Une fois que vous avez fait ces liens, venons en maintenant aux 9 boutons qui représenteront les planètes du Système Solaire, plus la Lune. Ils doivent être reliés et programmés de telle sorte que – au moment où ils sont pressés – ils donnent, à l’écran sèrie de Arduino, le poids que je pourrai avoir sur une planète donnée. Les boutons de Arduino seront reliés avec un pin au Ground, tandis que nou rélions le second pin à une sortie numérique de la carte de Arduino. Vous trouverez ci-dessous le schéma de liaison.
Liaisons entre les boutons et Arduino: Bouton de Mercure —> pin 4; Bouton de Vénus —> pin 5; Bouton de la Terre —> pin 6; Bouton de la Lune —> pin 7; Bouton de Mars —> pin 8; Bouton de Jupiter —> pin 9; Bouton de Saturne —> pin 10; Bouton de Uranus —> pin 11; Bouton de Neptune —> pin 12. N.B. Dans cette activité nous avons décidé de rélier les boutons dans cette façon. Pourtant, l’ordre peut être changé, à condition de modifier également le code sous-jacent. Une fois toutes les liaisons matérielles réalisées, passons maintenant à la programmation de la fiche. Pour première chose nous rélions, avec son cable approprié, la fiche d’Arduino à nôtre ordinateur, où nous avons précédemment installé le logiciel pour contrôler et programmer la fiche d’Arduino. Après avoir ouvert l’IDE d’Arduino, allons dans Outils/fiche et sélectionnions Arduino/Genuino Uno et après, allons dans Outils/porte et selectionnions la porte à laquelle nôtre Arduino est rélié. De cette façon, nous avons réglé l’environnement de travail d’Arduino, et nous pouvons commencer à écrire le code pour nôtre balance.
Ici il faut charger la bibliothèque qui permettra à Arduino d’interpreter correctement le données obtenues à partir du module HX711. La bibliothèque peut être téléchargeable ici. Pour importer la bibliothèque dans l’environnement d’Arduino, il suffit de clicquer sur Sketch/#inclure bibliothèque/ajouter biblothèque depuis fichier zip; à partir d’ici, il suffit de chercher le fichier zip nouvellement téléchargé et clicquer dessus. De cette façon, Arduino insérera dans le programme la bibliothèque en question.
Une fois ces opérations préalables terminées, préparez vous à étalloner la balance. Cette operation est d’une importance capitale, parce que les capteurs de force offrent, pour les caractéristiques de construction et les modes d’utilisation, des résultats même significativement différents entre eux, donc le résultat d’une pesée doit être ajusté par une valeur d’échelle à inclure dans le programme général de la balance. Pour déterminer la valeur de l’échelle, il est essentiel d’utiliser un programme d’étallonage et un poids-échantillon, de valeur connue. Pour faire ça, nous utilisons le programme que vous pouvez télécharger ici. Pour première chose, nous ouvrons le sketch d’étallonage dans l’IDE d’Arduino (fichier/ouvrir, et puis selectionnions le fichier étallonage.ino) et le téléchargeons sur la carte, sans placer aucun poids sur le plateau de nôtre balance. Ouvrons-nous l’écran série d’Arduino (pour faire ça, il suffit de clicquer sur l’icône de la loupe, située en haut à droit dans l’environnement de travail d’Arduino) et une fois on lit la première valeur sur l’écran, on peut placer sur le plateau un objet de poids connu. Sur le monitor série vont commencer à faire défiler une série de valeurs qui représentent le poids de l’objet mésuré par les capteurs de force. Évidemment, ces valeurs ne représenteront pas le poids réel, mais, en agissant sur les touches “a” et “z”, nous pouvons modifier le calibration_factor (facteur d’étalonnage) aussi longtemps que le poids que nous lisons ne sera pas égal à notre poids échantillon. Une fois que nous obtenons le poids réel de l’objet, nous prenons note du calibration_factor, à inclure dans le programme final de la balance. Attention: le calibration_factor peut être à la fois soit positif et négatif.
Une fois trouvé le calibration_factor, on télécharge dans l’IDE d’Arduino le sketch balance.ino; c’est le sketch qui permettra à la balance de fonctionner correctement. Avant d’executer le logiciel et le télécharger sur la carte Arduino, nous devons modifier la valeur du calibration_factor prédéfini dans le code, en entrant ce que nous avons obtenu avec le programme précédent. À ce point, nous chargeons le programme sur la carte Arduino, que vous pouvez télécharger ici, et ouvrons le moniteur série.
Maintenant, tout ce que nous devons faire c’est grimper sur nôtre balance et, en clicquant sur les différents boutons, nous pouvons lire sur le moniteur série la valeur de nôtre poids sur les différents planètes du Système Solaire! Voici le link au webinar dédié à l’activité, effectué à l’occasion de la Europe Code Week 2020: https://www.youtube.com/watch?v=Nhv3hQjlbRI&t=326s