Nav wat posts van mij in de kroeg:
Boudewijn in "De EL-kroeg deel 2"
Even samenvattend:
Echter krijg ik met de huidige code:
Er dit soort getallen uit (te interpreteren als voltage*100, en temp * 100).
Klopt dus geen hout van.
Sterker nog, volgens mijn meting werd het warmer toen ik de pc uitzette waar die koeling aan hangt.... (met fannetje erop en pomp aan...).
Mijn huidige (gore) code:
Ik snap alleen niet waar het fout gaat... het lijkt alsof die waarde rond de 245-250 blijft steken,wat ik ook doe.
Kan iemand me een hops in de goede richting geven?
Boudewijn in "De EL-kroeg deel 2"
Even samenvattend:
Sensor hangt aan de +5 en de GND van de arduino, en de meetdraad hangt aan pin 3.Ik heb een arduino bordje en een "phidgets" temperatuur sensor (http://www.phidgets.com/products.php?product_id=1124) op mijn waterkoeling geklooid, en ik zie netjes een indicatie van de temperatuur op mijn analoge input binnen komen (400-430 op een schaal van 0 tot 1024).
Die input klopt redelijk, want mijn DMM meet 2-2.15V op de analoge input. Die waarde daalt ook als ik een fannetje aanzet bij de sensor.
Echter krijg ik hier maar geen goed getal van.
Echter krijg ik met de huidige code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| 249 4988 249 4988 249 4988 250 5015 250 5015 250 5015 |
Er dit soort getallen uit (te interpreteren als voltage*100, en temp * 100).
Klopt dus geen hout van.
Sterker nog, volgens mijn meting werd het warmer toen ik de pc uitzette waar die koeling aan hangt.... (met fannetje erop en pomp aan...).
Mijn huidige (gore) code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| float tSensorValue; int tempPin= 3; int fanPin = 9; void setup() { Serial.begin(9600); pinMode(tempPin, INPUT); pinMode(fanPin, OUTPUT); //PWM } void loop() { float tSensorValue; tSensorValue=(float)analogRead(tempPin); // printf("%f\n", tSensorValue); float voltage = 1024/tSensorValue; //<-- Uitkomst hiervan is volgens mij een int// // printf("%f\n",voltage); float temp = ((voltage*200)*0.2222)-61.111; //<-- Uitkomst hiervanis volgens mij ook een int// //printf("%f\n\n",temp); // Serial.println((int)(100*tSensorValue)); Serial.println((int)(100*voltage)); Serial.println((int)(100*temp)); Serial.println(""); delay(1000); } |
Ik snap alleen niet waar het fout gaat... het lijkt alsof die waarde rond de 245-250 blijft steken,wat ik ook doe.
Kan iemand me een hops in de goede richting geven?