Lm35 Temperatuur sensor
Deze temperatuur sensor is een onooglijk klein zwart onderdeel met 3 pootjes.
Dat wil niet zeggen dat het niet bruikbaar is. Bij nadere inspectie blijkt dat het busje halfrond is met een duideljk plat vlak, daarop staat in de regel de type aanduiding: LM35.
Deze sensor heeft 3 pootjes naast elkaar. De buitenste poten moeten zorgen voor de voeding. Deze moeten worden aangesloten op spanning (5V) op de Arduino en worden geaard op de GRD op de Arduino. Het meest linkse pootje als de sensor plat ligt (1) is voor de plus spanning.
   V      Voeding
   Vout   Uitgangsspanning
   GND    Aarde
Het middelste pootje moet worden aangesloten op een Analoge poort op de Arduino, waar dan de spanningswaarde kan worden uitgelezen.
Voor het gebruik van deze sensor zijn geen verdere weerstanden nodig.
De sensor levert een waarde die rechtlijning overeenkomt met de temperature. Uitermate handig dus. De sensor hoeft niet te worden ingesteld. Tussen -50 en + 150 graden Celsius is de nauwkeurigheid ongeveer 1 graad, maar op kamertemperatuur is de nauwkeurigheid nog hoger en zal daar rond de 0,5 graad liggen.
Een vervelend bijeffect van de sensor is dat voor het aflezen van negatieve temperaturen ook een negatieve voltage nodig is. Hiervoor is deze sensor dus eigenlijk niet handig.
   -500 Volt      -50 C (Graden Celsius)
   -250 Volt      -25 C
   0 Volt           0 C
   250 Volt        25 C
   500 Volt        50 C
Een klein voorbeeld programma om de temperatuur te lezen. De uitvoer gaat via de seriele monitor in de IDE. Deze code is dus niet los van de IDE omgeving te gebruiken en dient enkel om het uitlezen van de waarde en de berekeningen om van de spanningwaarde een temperatuur te maken.
#define sensorPin A0
void setup() {
   Serial.begin(9600);
}
void loop() {
   int reading = analogRead(sensorPin);
   // Omzetten van de gelezen waarde in Volgate
   float voltage = reading * (5000 / 1024.0);
   // Omzetten van Voltage in graden Celsius
   float temperature = voltage / 10;
   Serial.println(temperature);
   delay(1000);
}
Seriele Monitor
De seriele monitor is een schermpje in de ontwikkelomgeving van de Arduino. Vanuit de code kunnen we output plaatsen in het scherm. In dit geval zal dat de temperatuur in graden Celsius zijn.
Je kunt waarden plaatsen met de print() functie en met de println() functie. Met print() zal alles achter elkaar komen. Met println() zal na de gegevens naar het begin van de volgende regel worden gegaan. De
ln
komt van de oude typmachines die een
line feed
hadden.