Hallo zusammen, ich bin gerade Dabei einen Weg zu finden, wie ich die Temperatur mehrere Thermoelemente ab einer bestimmten Temperatur auslesen und abspeichern kann. z.B.: Unter 20°C und über 80°C soll die Themperatur von 6 Thermoelementen ausgelesen und abgespeichert werden. Das auslesen der Thermoelemtene erfolgt mit folgendem Aufruf "Tw[i].readCelsius()" Da mir dafür leider die nötigen Programmierkenntnisse Fehlen, hoffe ich hier auf ein wenig Hilfe. Danke schon mal im voraus Gruß Simon
Eine Hausaufgabe ohne - Aufgabenstellung - Programmiersprache - Umgebung / HW - erste Gedanken, Fragen, Probleme Sorry, es ist kein Ansatz erkennbar.
A. S. schrieb: > - Aufgabenstellung > - Programmiersprache > - Umgebung / HW > - erste Gedanken, Fragen, Probleme Aufgabenstellung: Es sollen mehrere Thermoelemente + MAX31855 mit einem Arduino UNO ausgelesen werden. Diese Werte sollen allerdings nur ab einem Bestimmten Temperaturbereich erfasst werden. Ab diesem Bereich sollen pro Fühler ca 10 Messwerte erfasst und abgespeichert. Programmiersprache: C HW: Arduino UNO + MAX31855 + Thermoelemente Problem: Ich bin zwar in der Lage die Temperatur aller Thermoelemente auszulesen, jedoch weiß ich nicht wie ich dies nur ab einem bestimmten Bereiche machen kann und gleichzeitig diese Werte abspeichere.
Simon schrieb: > Problem: Ich bin zwar in der Lage die Temperatur aller Thermoelemente > auszulesen, jedoch weiß ich nicht wie ich dies nur ab einem bestimmten > Bereiche machen kann und gleichzeitig diese Werte abspeichere. Temperatur zyklisch auslesen. Schauen, ob die Temperatur im Bereich lieg Wenn ja, abspeichern. Wohin soll denn gespeichert werden? Eine SD-Karte würde sich vermutlich anbieten. Und wie sieht das mit einem Zeitstempel aus, damit man weiß, wann die Temperatur aufgetreten ist? Gibt es eine RTC?
Sebastian R. schrieb: > Temperatur zyklisch auslesen. > Schauen, ob die Temperatur im Bereich lieg > Wenn ja, abspeichern. > > Wohin soll denn gespeichert werden? Eine SD-Karte würde sich vermutlich > anbieten. Und wie sieht das mit einem Zeitstempel aus, damit man weiß, > wann die Temperatur aufgetreten ist? Gibt es eine RTC? Ok, ich möchte die Werte eig nur in einen Buffer schreiben/abspeichern, damit ich sie später weiterverwenden kann (Temperatur abgleich). Jedoch weiß ich nicht wie ich dies Programmieren soll. Zeitstempel werden keine benötigt.
Dann mach doch mal einen Versuch. Es kann ja auch gerne Pseudocode sein. Und es wurde ja schon alles genannt: Temperatur zyklisch auslesen. -> Schleife? Schauen, ob die Temperatur im Bereich lieg -> if/else? Wenn ja, abspeichern.
Simon schrieb: > Aufgabenstellung: Es sollen mehrere Thermoelemente + MAX31855 mit einem > Arduino UNO ausgelesen werden. Diese Werte sollen allerdings nur ab > einem Bestimmten Temperaturbereich erfasst werden. Ab diesem Bereich > sollen pro Fühler ca 10 Messwerte erfasst und abgespeichert. Und wenn nach der Erfassung der 10 Messwerte die Temperatur immer noch im relevanten Temperaturbereich liegt, dann geht das Spiel von vorne los und es werden direkt wieder 10 Messwerte gespeichert? > Problem: Ich bin zwar in der Lage die Temperatur aller Thermoelemente > auszulesen, jedoch weiß ich nicht wie ich dies nur ab einem bestimmten > Bereiche machen kann und gleichzeitig diese Werte abspeichere. Auslesen musst Du die Temperatur doch so oder so, weil Du sonst ja gar nicht weisst, ob die Temperatur gerade im für Dich relevanten Bereich ist. Zumindest die Temperatur von einem Thermoelement. Allerdings gibt es ja eh 6 Thermoelemente und somit nicht nur eine, sondern gleichzeitig sechs verschiedene Temperaturen. Es ist also nicht ganz klar, was genau das Speichern der Messwerte überhaupt auslösen soll: Wenn irgendeine der von den sechs Thermoelementen gemessenen Temperaturen im relevanten Bereich liegt? Erst wenn alle sechs Temperaturen im relevanten Bereich liegen? Oder gibt es unter den sechs Thermoelementen ein spezielles, das alleine dafür herangezogen wird?
> Es ist also nicht ganz klar, was genau das > Speichern der Messwerte überhaupt auslösen soll: Wenn irgendeine der von > den sechs Thermoelementen gemessenen Temperaturen im relevanten Bereich > liegt? Erst wenn alle sechs Temperaturen im relevanten Bereich liegen? > Oder gibt es unter den sechs Thermoelementen ein spezielles, das alleine > dafür herangezogen wird? Mein Fehler, ich habe vergessen zu erwähnen, dass einer der Fühler die Referenz ist, sobald sich dieser in dem bestimmten Bereich befindet werden die Messwerte der anderen Fühler erfasst, die erfassten Werte werde für die Berechnung des Offsets der einzelnen Fühler benötigt.
Simon schrieb: > Es sollen mehrere Thermoelemente + MAX31855 mit einem > Arduino UNO ausgelesen werden. Diese Werte sollen allerdings nur ab > einem Bestimmten Temperaturbereich erfasst werden Wenn du auch nur 3 Sekunden über diesen Satz nachgedacht hättest, dann wäre dir aufgefallen, daß das Blödsinn ist. Wenn du die Sensoren nicht abfragst, wie willst du dann wissen, ob die Temperatur innerhalb eines gewissen Bereichs liegt? Natürlich mußt du die Daten kontinuierlich erfassen. Aber du willst sie möglicherweise nicht jedes Mal abspeichern. Simon schrieb: > ich möchte die Werte eig nur in einen Buffer schreiben/abspeichern, > damit ich sie später weiterverwenden kann (Temperatur abgleich). Puffer? Wie groß? Oder nur für einen Datensatz? > Jedoch weiß ich nicht wie ich dies Programmieren soll. Logisch. Du kannst ja noch nicht mal die Aufgabenstellung vollständig hinschreiben. Wie willst du da einem Computer beibringen, wie er das lösen soll?
Simon schrieb: > jedoch weiß ich nicht wie ich dies nur ab einem bestimmten > Bereiche machen kann Dafür gibt es die Vergleichs-Operatoren:
1 | > Größer als |
2 | < Kleiner als |
> und gleichzeitig diese Werte abspeichere.
Gleichzeitig speichern wäre unnötig kompliziert bis sinnlos. Speichere
die Werte lieber ab, nach ein Vergleich wahr geworden ist. Dazu brauchst
du Ausdrücke wie
1 | if temp > 80) { |
2 | speichern(temp); |
3 | } |
> Ok, ich möchte die Werte eig nur in einen Buffer schreiben/abspeichern,
Was ist denn ein "Buffer"? Zum, Beispiel Ein Array von Werten, mit einer
Angabe, wie viele Werte ausgefüllt sind. Etwa:
1 | int messwerte[100]; |
2 | int gemessen=0; |
3 | |
4 | void speichern(int temperatur) |
5 | { |
6 | messwerte[gemessen]=temperatur; |
7 | gemessen=gemessen+1; |
8 | } |
Jetzt bist du an der Reihe, es zu versuchen. Zeige dann deinen Ansatz und stelle konkrete Fragen dazu.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.