Temperaturmessung mit Arduino und LM35

GSXArne

Lieutenant
Registriert
Okt. 2009
Beiträge
994
Moin,
ich möchte mit meinen UNO und einen angeschlossenen LM35 die Raumtemperatur messen.
Leider bekomme ich immer nur Temperaturen wie 15, 20 oder 25°C angezeigt nichts dazwischen.


Woran liegt das?

Mein Code ist lautet wie folgt:

int LM35 = A0;


void setup() {

Serial.begin(9600);
}

void loop() {

Serial.println(double,analogRead(LM35)*100/1024*5);
}
 
evtl. hilft es schon wenn du dafür sorgst, dass erst multipliziert wird und danach dividiert, z.b. mit Klammersetzung.

Wenn ich mich nicht irre hast du kein float als Datentyp, sondern nur Ganzzahlen, kannst es auch mal z.b. mit 100.0 versuchen, dann sollte er automatisch mit float rechnen.

Aber wirklich fit bin ich darin nicht.
 
Zuletzt bearbeitet:
Die Klammer und die fehlende "punkt-Null" waren das Problem... Mathematisch zweifelhaft aber immerhin läuft es nun :-)

Vielen Dank für die Hilfe
 
Die 5 kommt daher, da dein Analogeingang von 0V..5V geht, der LM35 aber nur bis max 1V ausgibt.

Wenn du als Referenz (sprich maximale Eingangsspannung) 1,1V nimmst, bist auch deutlich genauer.
 
Jo den Tipp kenne ich schon. Trotzdem Danke. Das wird in den nächsten Ausbaustufen realisiert ;)
 
GSXArne schrieb:
Mathematisch zweifelhaft aber immerhin läuft es nun :-)

Na ja, das ist nunmal C. Da werden Integer so behandelt.
Das ist immerhin ein himmelweiter Unterschied. Die Multiplikation mit 100 macht der Kern in einem Takt, die mit 100.0 dauert vielleicht hundert Takte. :)

Ich empfehle dir die C Referenz sowie die Arduino Referenz.
Da gibt es z.B. eine Funktion namens "map", mit der du das selbe erreicht hättest.
 
Zuletzt bearbeitet:
Ich habe es auch mit der Funktion map gelernt, bei der man den Sensorspannungsbereich (0 -1 V) die komplette quantisierte Auflösung des A/D Wandlers zuweist. Die Spannungen zwischen 0-1 V werden also in z.B. 1024 Werten abgetastet.

Um es anschaulicher zu machen:
0 V ist dann 0 im A/D Wandler
und
1 V ist dann 1024.

Normalerweise ist 0 V im A/D Wandler 0 und 5 V binär 1024.
 
Zuletzt bearbeitet:
Hallo nochmal,

nehmen wir mal an ich gebe die 1,1V auf den AREF eingang.
Kann ich dann trotzdem noch 5V Digital messen?

Muss ich sonst noch etwas beachten?
 
Was meinst du denn mit digital messen? Das ist doch ein analoger Eingang?
Ansonsten legst du eine Referenzspannung an, damit du eine Referenz hast. Welchen Zweck sollte es jetzt haben diesen Wert zu überschreiten? Dann wäre die Referenzspannung schlecht gewählt.
 
Ich meine, ob die Digtal-Kanäle immernoch mit 5V arbeiten?
 
Zurück
Oben