Étape 2: Code Arduino, câblages et premiers essais
OK, comme le signal de sortie est une tension analogique, le câblage de l’Arduino et le croquis est très simple. Le capteur, pins vers le bas et le texte face à vous, est :
- goupille gauche : DMV -> à 5v de l’Arduino
- fiche centrale : Vout -> à goupille d’arduino A0
- broche droite : GND -> Arduino GND
Le code est attaché. C’est une simple lecture analogique. Pour rendre la mesure plus précise, j’utilise une simple boucle pour obtenir les 5 valeurs de températures et de calculer la température moyenne.
Page 11 de la feuille de données, la formule de fonction de transfert de capteur est donnée : Vout = Tc * Ta + V0c
Avec :
- Vout : la tension de sortie (lecture de l’arduino)
- TC : Coefficient de température
- Ta : Température ambiante (nous recherchons cette valeur)
- V0c : tension de sortie du capteur à 0° C
Cette dernière valeur est donnée dans le tableau « Caractéristiques électriques DC », page 3 de la feuille de données. Pour mon capteur (le MCP9700), cette valeur est de 500 mV.
Cela signifie que, pour mon Arduino, que la formule temp ambiante est :
Température = ((TensionAnalog /204.8) - 0,5) / 0,01 ;
- TensionAnalog est la valeur brute extraite de la broche analogique. L’arduino ADC est une gamme de 10 bits, donc la plage de la valeur lue est 1024 (2 ^ 10) pour 5 volts et 0 pour 0 volt. Donc pour obtenir une valeur en volts, vous devez diviser la valeur analogique par 1024/5 = 204,8
- Les 0,5 correspond à la valeur en volt V0C (500 mV)
- 0,01 est le coefficient de température Tc (10 mV / ° C)
J’ai mis en place le capteur et ma station météo capteur sur ma fenêtre, afin de comparer les températures.
Après quelques minutes, mon poste a dit que la température ambiante est de 26,4. Par ailleurs, le capteur indique que la température est... 24,8 ° C. Nous sommes dans la tolérance donnée par Microchip, mais pas assez précis.
Nous allons changer cela !