← Glossaire
Expériences scientifiques et activités avec un Arduino

Arduino

Arduino est une plateforme électronique open-source basée sur un microcontrôleur, qui pilote capteurs et actionneurs pour créer des projets interactifs. Très répandue en robotique, domotique et Internet des objets (IoT), elle sert de capteur déporté une fois couplée à FizziQ.

Observer expérimentalement avec une carte Arduino

FizziQ reçoit les données envoyées par une carte Arduino et les enregistre dans le cahier d’expériences, à côté des mesures des capteurs du smartphone. La carte joue le rôle de capteur déporté, là où le téléphone ne peut pas aller.

Étapes :

  • Câbler le capteur (thermistance, photorésistance, capteur de pression…) sur une entrée analogique A0 à A5 de la carte, avec sa résistance de polarisation.
  • Écrire dans l’IDE Arduino un programme qui lit l’entrée avec analogRead() et renvoie la valeur sur le port série à intervalle régulier.
  • Convertir dans le programme la valeur brute (0 à 1023) en tension, puis en grandeur physique, à l’aide de la courbe d’étalonnage du capteur.
  • Transmettre les valeurs à FizziQ et les enregistrer dans le cahier d’expériences pour les tracer et les exporter.
  • Comparer la mesure de l’Arduino à celle du capteur interne du smartphone quand les deux existent : l’écart renseigne sur la justesse des deux dispositifs.

Le tutoriel de connexion entre Arduino et FizziQ est disponible ici

En savoir plus

Ce qu’il faut pour démarrer

Pour utiliser un Arduino, vous devez avoir une carte Arduino, un ordinateur avec un logiciel de développement intégré (IDE) Arduino installé, et une série de composants électroniques tels que des capteurs, des actionneurs et des câbles pour connecter les composants à la carte Arduino.

Une fois que vous avez tous les composants nécessaires, vous pouvez utiliser l’IDE Arduino pour écrire du code pour votre projet. Le code est écrit en utilisant un langage de programmation proche de C++. Vous pouvez utiliser les bibliothèques intégrées d’Arduino pour accéder aux fonctionnalités des différents capteurs et actionneurs. Le code est ensuite téléversé sur la carte Arduino à l’aide d’un câble USB.

Une fois que le code est téléversé sur la carte, la carte Arduino utilise le code pour contrôler les différents composants électroniques connectés à elle. Les utilisateurs peuvent alors interagir avec le projet en utilisant les capteurs pour lire les données de l’environnement et en utilisant les actionneurs pour effectuer des actions telles que allumer une LED ou actionner un moteur.

Une interface, pas un instrument de mesure

Une carte Arduino Uno n’a pas de capteur intégré : elle ne mesure rien par elle-même. C’est une interface. Elle transforme une tension présente sur une de ses entrées analogiques en un nombre entier exploitable par un programme. Toute la physique de la mesure est donc dans le capteur qu’on lui branche et dans l’étalonnage qu’on en fait.

Résolution du convertisseur analogique-numérique

Le convertisseur analogique-numérique (CAN) de l’Arduino Uno est codé sur 10 bits, soit 1024 niveaux. Sur la plage 0-5 V, cela donne un pas de quantification d’environ 4,9 mV : aucune variation plus fine que cette valeur ne peut être distinguée, quelle que soit la qualité du capteur. C’est une limite de résolution, pas une incertitude de justesse.

Rendre visible la chaîne de mesure

L’intérêt pédagogique de l’Arduino tient à ce qu’il rend visible chaque étape de la chaîne de mesure : grandeur physique, grandeur électrique, tension, nombre, valeur affichée. Un smartphone masque toutes ces étapes derrière un capteur déjà étalonné et un affichage direct. Avec une carte, l’élève construit lui-même la conversion et doit assumer son étalonnage.

Formule

L’Arduino n’est pas associé à une loi physique propre. Les relations utiles sont celles de la conversion analogique-numérique.

Pas de quantification du convertisseur :

q = U_ref / 2^n

où :

  • q : pas de quantification, plus petite variation de tension détectable (V)
  • U_ref : tension de référence du convertisseur, 5 V sur un Arduino Uno alimenté en USB (V)
  • n : résolution du convertisseur, 10 bits sur un Arduino Uno

Application numérique : q = 5 / 1024 ≈ 4,9 × 10⁻³ V, soit environ 4,9 mV.

Conversion de la valeur brute en tension :

U = N × U_ref / (2^n − 1)

où :

  • U : tension mesurée sur l’entrée analogique (V)
  • N : valeur entière renvoyée par analogRead(), comprise entre 0 et 1023

Pour un capteur résistif monté en pont diviseur avec une résistance fixe R₀ :

R_capteur = R₀ × U / (U_alim − U)

où :

  • R_capteur : résistance du capteur (Ω)
  • R₀ : résistance fixe du diviseur (Ω)
  • U_alim : tension d’alimentation du diviseur (V)

Exemples d’application

  • Suivre la température d’un bécher pendant un changement d’état, sur plusieurs heures, avec une thermistance sur A0 : le palier de fusion apparaît nettement, ce qu’une mesure ponctuelle au thermomètre ne montre pas.

  • Mesurer l’éclairement dans une serre ou une salle de classe sur une journée entière avec une photorésistance, ce qu’un smartphone ne peut pas faire faute d’autonomie.

  • Enregistrer la décharge d’un condensateur : avec un pas de 4,9 mV sur 0-5 V, la courbe reste exploitable jusqu’à environ 1 % de la tension initiale.

  • Placer un capteur au fond d’un récipient d’eau ou dans un four, milieux où l’on ne mettrait pas un téléphone.

  • Déclencher un chronomètre par barrière optique pour mesurer une vitesse, avec une résolution temporelle bien meilleure qu’un déclenchement manuel.

  • Comparer la pression mesurée par un capteur BMP280 branché sur l’Arduino à celle du baromètre interne du smartphone lu dans FizziQ.

FAQ

Q : Faut-il savoir programmer pour utiliser un Arduino en physique ? R : Il faut savoir lire et modifier un programme, pas l’écrire de zéro. Les exemples fournis avec l’IDE couvrent la lecture d’une entrée analogique et l’envoi sur le port série ; l’essentiel du travail de l’élève porte sur la conversion et l’étalonnage, pas sur le code.

Q : Quelle est la précision d’une mesure faite avec un Arduino ? R : La résolution du convertisseur est d’environ 4,9 mV, mais la précision réelle est presque toujours moins bonne : elle dépend du capteur, du bruit électrique et de la stabilité de l’alimentation USB, qui n’est pas exactement à 5,00 V. C’est cette dernière source d’erreur qui domine le plus souvent.

Q : Pourquoi utiliser un Arduino alors que le smartphone a déjà des capteurs ? R : Pour mesurer là où le smartphone ne peut pas : capteur immergé, exposé à la chaleur, placé en hauteur, ou acquisition sur plusieurs jours. Et pour des grandeurs qu’aucun smartphone ne mesure, comme une concentration en CO₂ ou une conductivité.

Q : Peut-on brancher n’importe quel capteur sur une entrée analogique ? R : Non. La tension appliquée doit rester entre 0 et 5 V, sans quoi l’entrée est détruite. Un capteur délivrant une tension plus élevée ou négative exige un conditionnement du signal en amont.

Q : Quelle différence avec un ESP32 ou un micro:bit ? R : L’Arduino Uno est le plus simple et le mieux documenté, mais il n’a ni capteur intégré ni liaison sans fil. Le micro:bit embarque des capteurs, l’ESP32 apporte le Wi-Fi et le Bluetooth ainsi qu’un convertisseur 12 bits.

Concepts liés

Capteur - Convertisseur analogique-numérique - Résolution - Étalonnage - Chaîne de mesure - Tension électrique - Acquisition de données - Microcontrôleur - ESP32

Explorez FizziQ

Découvrez toutes les expériences scientifiques possibles avec votre smartphone.