Temperatuur meten | Sketch | Licht | Uitdagingen |
Temperatuur meten: The love-o-meter |
love-o-meterSchema love-o-meter. Klik op het schema voor de bekabeling op het breadboard
In dit tweede project "De love-o-meter" ga je een temperatuurmeting laten uitvoeren door de
Arduino. Als reactie op de gemeten temperatuur laat je een of meerdere led's branden en schrijf je
de data naar de computer via de USB kabel.
In dit project gebruiken we een thermistor. Een thermistor is een elektrische weerstand (component) waarvan de elektrische weerstand afhankelijk is van de temperatuur. Het woord thermistor is een samenvoeging van de Engelse woorden thermal en resistor. (bron). De eigenschappen van de thermistor MCP9701 aanwezig in de Iprototype box kun je lezen in de datasheet. De eigenschappen van de thermistor MPV36 aanwezig in de Arduino Starter Kit kun je lezen in de datasheet. Beide thermistors zijn linear. Dat wil zeggen dat er een lineair verband is tussen de temperatuur van de omgeving (T) en de spanning (U) die de thermistor daarbij levert. Ofwel T = a U + b. de waarden van a en b verschillen per type thermistor. |
Sketch | Sketch love-o-meterIn het schema hierboven zijn 3 LED - weerstand combinaties en een thermistor geplaatst. Klik op het schema voor de bedrading op de Arduino. Maak dit circuit. De onderstaande sketch kun je in de IDE laden. In het bovenste deel van de sketch wordt beschreven wat er van het programma wordt verwacht. De code voldoet daar echter nog niet aan. /* Analog Input Demonstratie van het uitlezen van een thermistor (temperatuur meting) verbonden aan de analoge invoer 1. Op basis van de uitgelezen waarde wordt bepaald of de persoon die de termistor verwarmt met zijn vingers "vurig is" of niet. Er zijn 3 leds aangesloten Groen, Geel en Rood. Onder 20 graden moeten alle leds uit zijn. Tussen 20 en 22 graden moet alleen groen aan zijn. Tussen 22 en 24 groen en geel aan zijn. Tussen 24 en 26 geel en rood aan zijn. en tenslotte bij meer dan 26 graden alleen rood aan zijn. Taken from Arduino Projects Book modified 2 Jan 2014 By John Val This example code is in the public domain. https://arduino.cc/en/Tutorial/AnalogInput */ int sensorPin1 = A0; // selecteer de invoer pin voor de thermistor int ledPinGroen = 13; // selecteer de uitvoer pin voor de groene LED int ledPinGeel = 12; // selecteer de uitvoer pin voor de gele LED int ledPinRood = 11; // selecteer de uitvoer pin voor rode de LED int basistemeratuur = 20; // grenswaarde voor de led aan // De thermiostor is een linaire thermistor zodat T = a * U + b // Voor de MCP9701 thermistor geldt a= 51.3 en b= -20.5 // Voor de MPV36 thermistor geldt a= 100 en b= -50 float a =51.3; float b =-20.5; void setup() { // declareer de ledPin als OUTPUT: pinMode(ledPinGroen, OUTPUT); pinMode(ledPinGeel, OUTPUT); pinMode(ledPinRood, OUTPUT); // gebruik de functie setLeds die verderop in de sketch is gemaakt om // alle lampjes uit te zetten. setLeds(LOW,LOW,LOW); // initialiseer de Serial communicatie over de USB connectie (https://arduino.cc/en/Serial/Begin), Serial.begin(9600); } void loop() { // Lees het voltage op de analoge input: // De documentatie van analogRead vind je op https://arduino.cc/en/Reference/analogRead float U = (analogRead(sensorPin1)/1023.0)*5.0; float T = a * U + b; Serial.print("Waarden invoer: "); Serial.print(U); Serial.print(" komt overeen met temperatuur "); Serial.println(T); if(T<basistemeratuur) { setLeds(LOW,LOW,LOW); } else if(T<basistemeratuur+2) { setLeds(HIGH,LOW,LOW); } /* maak de functie af zodat de led's worden geschakeld volgens de voorwaarden boven in deze sketch. */ delay(1000); } void setLeds(int groen,int geel, int rood) { digitalWrite(ledPinGroen,groen); digitalWrite(ledPinGeel,geel); digitalWrite(ledPinRood,rood); } |
Opdracht |
|
Licht |
LichtSchema lichtsensor spanningsdeler. Klik op het schema voor de bekabeling op het breadboard Er zijn meerdere sensoren in de kits aanwezig. Zoek in je kit een lichtsensor. Je ziet
dat er aan deze sensor maar twee connectoren zitten in plaats van de drie van de thermistor.
De thermistor bevat een transistor die een deel van de spanning voor je aftapt.
Dit moeten we nu zelf gaan doen door een spanningsdeler te maken. Dit gaat als volgt:
|
Uitdaging |
Uitdaging
|