Forum: Programmieren allgemein
by Matze,
16. Nov 2008
Hm, sowas in der Ar thabe ich doch. Das Problem dürfte doch weiterhin sein, dass ich in folgendem Fall nicht fesytstellen kann, ob die Temperatur weitersteigt:
Delta: 1°C
Alte Temperatur: 19°C
Aktuelle Temperatur: 20°C
=> Temperatur steigt
So, nun muss ich doch den alten Temperaturwert irgendwie verändern, damit ich im nächsten Zyklus prüfen kann, wie sich das weiter verändert hat....
Forum: Programmieren allgemein
by Matze,
16. Nov 2008
Hm, verstehe ich nicht ganz. Aktuell habe ich es so:
current_temp = 0;
old_temp = 0;
// ...
current_temp = ADC_Wert;
if (old_temp == 0)
Forum: Programmieren allgemein
by Matze,
16. Nov 2008
Hallo,
der Sensor regiert schnell genug, denn wenn ich die vollen 10 Bit nehme, dann wechselt das sehr flott. Das Problem ist nur, wenn ich bsp mit dem Finger auf den Sensor lange, dann zeigt der MC mir per LED eine steigende Temp. an, wechselt dann zur konstanten Temp. und wieder zur sinkenden. Immer hin und her.
Ich habe aber eh das Problem, dass ich gar nicht genau weiß, wie ich...
Forum: Programmieren allgemein
by Matze,
16. Nov 2008
Hallo,
ich habe das nun mit einem int16 und der Differenz gelöst. Dann kann ich auf "größer" und "kleiner" abfragen.
Einen Breakpoint zu setzen bringt mir leider nichts, da ich keine Rückleitung vom MC zum Laptop habe und das somit nicht auswerten kann.
Grüße
Forum: Programmieren allgemein
by Matze,
16. Nov 2008
Hallo Klaus,
das ändert leider nichts. Wobei ich noch dazusagen muss, dass bei Erwärmung schnell erkannt wird, dass die Temperatur steigt, bei Abkühlung dauert das allerdings rund eine Minute und das ist definitiv zu lang.
Grüße
Edit: Mein Code sieht so aus:
// Temperatur steigt
if ((previous_temp_val < current_temp_val) &&
((current_temp_val - previous_temp_val) >= DELTA_TEMP))
Forum: Programmieren allgemein
by Matze,
16. Nov 2008
Hi zusammen,
ich lese in einem Mikrocontroller 2 Werte über einen AD-Wandler ein (10 Bit). Ich möchte nun je nach Differenz etwas anderes ausführen. Aktuell ist mir das aber zu sensibel. Ebenfalls, wenn ich nur die obersten 9 Bits nutze. Die obersten 8 sind wiederum zu grob aufgelöst.
Daher möchte ich einen Delta-Wert einführen und sobald eine Differenz großer ist als dieser Wert, soll...