Salut tout le monde,
J'ai reçu pour Noël l'Arduino Starter Kit. Il est basique mais vraiment bien expliqué et détaillé, avec une quinzaine de projets à suivre pas à pas pour débuter avec le kit.
J'en suis actuellement au 3ème tutoriel où il est question d'utiliser un TMP36 (capteur analogue de température) et la liaison série de l'Arduino pour récupérer ces données dans le serial monitor de l'IDE. Jusque là, pas de souci, tout fonctionne. Pour se lancer, ils recommandent de relever la valeur de base donnée par le capteur lors de la première éxécution et de s'en servir comme valeur étalon. Puis le guide mentionne l'existence d'une procédure de calibration que l'on peut suivre pour ne pas avoir à changer ça manuellement: http://arduino.cc/calibration
J'ai lu ce tuto et compris l'essentiel, à part le point suivant:
- Le capteur présenté est capable de retourner 1024 valeur distinctes (10 bits)
- Le tutoriel utilise la fonction suivante: sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255);
(où sensorValue est la valeur actuelle, sensorMin est la valeur minimale lors de la calibration et sensorMax la valeur max lors celle-ci)
Déjà, cette fonction prend un espace large de 1024 valeurs et le représente sur 256 (8 bits). On perd donc 2 ordres de grandeur de précision sur la valeur donnée. Pourquoi faire ça ? Ou alors je n'ai pas compris à quoi servait cette fonction.
De plus, on utilise plus loin: sensorValue = constrain(sensorValue, 0, 255); ce qui a pour effet de ramener les valeurs en dehors de la zone de calibration dans le champ des données possibles.
Dans le cas du capteur de température, que l'on calibre prendant 5 secondes d'après le tuto, cela veut-il dire que si la température diminue au delà de la valeur minimale mesurée lors de la calibration, on affichera quand même cette dernière ? Si oui, je ne comprends pas l'intérêt.
Bref, je suis paumé. Est-ce que vous pouvez m'expliquer ?
Merci d'avance pour votre aide.