Het begon allemaal met een MCP9701E…
De temperatuur vinden
De temperatuursensor aansluiten was geen probleem.
De analoge waarde er van lezen, geen probleem.
Deze waarde omzetten naar voltage, ook geen probleem.
Maar dit voltage omzetten naar de temperatuur…
wel een probleem
Elke temperatuursensor heeft zijn eigen waardes voor het voltage om te zetten in graden Celsius. Maar wat deze waarden zijn voor de temperatuursensor in onze kit zijn, dat wist ik dus niet.
Door eens goed op de achterkant van de sensor te kijken kon ik een productnummer ontwarren MCP9701E. Als we hierop zoeken vinden we de specificaties voor model MCP9701(A) en MCP9700(A), nergens een E te bespeuren. Deze sensoren hebben volgende waardes:
MCP9700(A):
V0°C = 500mV
Tc = 10.0 mV/°C
MCP9701(A):
V0°C = 400mV
Tc = 19.5 mV/°C
Om zeker te zijn test ik beide waardes om het voltage om te zetten naar temperatuur. Maar deze kwamen beiden niet op de juiste waarde terecht. Dan probeerde ik zelf maar iets, V0°C = 500mV en Tc = 19.5 mV/°C. Met deze waardes kwam ik dicht bij de huidige temperatuur. Jammer genoeg kon ik dit niet 100% zeker zeggen want ik wist niet hoe warm het in het lokaal was. Maar voor deze opdracht is dat nauwkeurig genoeg.
Code
double getTemp() {
int reading = analogRead(tempPin);
double voltage = reading * 5.0 / 1024.0;
double temperature = (voltage - 0.5) / 0.0195 ;
return temperature;
}