Hallo,
das ist nur ein Beispiel zur Anschauung gewesen.
Funktion,mal so...
alle 5 Sekunden zählt der Zaehler eins hoch.
Wenn der Zähler den Wert 12 erreicht hat, dann wir er wieder auf 0 gesetzt und fängt von vorne an.
Das Ding zählt also nur bis 12.
SkobyMobil:
das ist nur ein Beispiel zur Anschauung gewesen.
Jetzt kannst Du:
mache etwas
Hallo Andreas,
Schon klar, dass das zur Anschauung war, aber dein Beispiel sollte helfen.
Anstatt einem Wert alle paar Sekunden werde ich versuchen den Mittelwert zu speichern.
Gruss
Norbert
Hallo,
wenn man sich Deinen Sketch aus #19 anschaut, dann ist das "dummes Zeug´s"
was Du da anstellt.
Mit jedem Durchlauf "loop" greifst Du auf den Sensor zu.
Wenn das dann erledigt ist rufst Du "saveData()" auf.
Das ist Müll hoch4.
Du weißt nicht, wie schnell dieser Ablauf von statten geht, soll heißen:
Du bist wahrscheinlich weit ausserhalb der Spezifikation Deines Sensor.
Warum? Weil Du wahrscheinlich zu schnell den Sensor ausliest. Schaue mal ins
Datenblatt wie schnell Du da sein darfst. Ich weiß nicht in was für einem Mode
Du den Sensor betreibst.
So, und bei 20° daneben brauchst Du weder einen Mittelwert noch eine Stelle
nach dem Komma. Das kann man besser mit dem Auge schätzen.
Dein ganzes millisZeugs hat auch nichts in der Funktion zu suchen.
Wenn Du die Werte des Sensor benötigst, dann solltest Du sie holen wenn Du
sie brauchst- und noch wichtiger, wenn der Sensor sie auch liefern kann.
Ungefähr so:
loop()
{
hole alle 250ms einmal einen Wert vom Sensor
berechne diesen Wert
bringe diesen Wert in das richtige Format
speicher diesen Wert auf SD
SDspeicher()
}
SDspeicher()
{
schreibe den Wert auf SD
}
Ich würde einmal mit einem Intervall von 500ms anfangen. Schneller werden
kannst Du immer noch. Mußt mal sehen wie schnell Deine SD-Geschichte ist.
Als erstes würde ich mal den Sensor kalibrieren, 20° kannst Du vergessen.
Gruß und Spaß
Andreas
Die einzige Aktion, die die "Datenmenge" begrenzt, ist der Zugriff auf die SD.
Dir war aber schon so einiges über Zeitablaufsteuerung gesagt worden. Warum nutzt Du das nicht?
Tommy56:
Die einzige Aktion, die die "Datenmenge" begrenzt, ist der Zugriff auf die SD.
Dir war aber schon so einiges über Zeitablaufsteuerung gesagt worden. Warum nutzt Du das nicht?
Setze mich morgen dran. Hatte versucht wie Andreas vorgeschlagen hatte erst mal die Daten richtig hin zu bekommen. Das schaut jetzt gut aus und die Qualitaet der Messwerte geht vor.
SkobyMobil:
So, und bei 20° daneben brauchst Du weder einen Mittelwert noch eine Stelle
nach dem Komma. Das kann man besser mit dem Auge schätzen.
Als erstes würde ich mal den Sensor kalibrieren, 20° kannst Du vergessen.
Der Sketch funktioniert auch mit dem Nano und einem SD-Modul (so wie es geplant war).
Da ich auch die Zeit mit aufzeichnen will werde ich nun noch ein RTC-Modul (DS1307) mit dran machen. Dann sollte das speichern von alle 30 Sekunden auch kein Problem mehr sein. Leider alles immer dieser Sparversand (letzten Freitag gingen die Dinger schon raus und sollen zwischen kommenden Samstag und Dienstag ankommen).
MPU leg ich auf 0x68 und RTC auf 0x69 oder anders herum.
MPU leg ich auf 0x68 und RTC auf 0x69 oder anders herum
Ich kenn keinen DS1307 Chip, bei dem du die I2C-Adresse vorgeben könntest. ( Immer 0x68 )
Und keine große Angst vor der Ungenauigkeit (wenn du das Teil schon bestellt hast). Die hängt bei DS1307 am Quarz, ist sicherlich deutlich schlechter als DS3231, aber durch den sind die jungen Leute etwas verwöhnt worden. 5..10 Minuten zwischen zwei Sommerzeit-Umschaltungen sollte nicht allzu tragisch sein.
Ich hab eine mechanische Uhr, die geht in den zwei Tagen nach dem Aufziehen erst mal zwei Minuten vor und gleicht das dann bis zum Rest der Woche langsam aus...
michael_x:
Ich kenn keinen DS1307 Chip, bei dem du die I2C-Adresse vorgeben könntest. ( Immer 0x68 )
Und keine große Angst vor der Ungenauigkeit (wenn du das Teil schon bestellt hast). Die hängt bei DS1307 am Quarz, ist sicherlich deutlich schlechter als DS3231, aber durch den sind die jungen Leute etwas verwöhnt worden. 5..10 Minuten zwischen zwei Sommerzeit-Umschaltungen sollte nicht allzu tragisch sein.
Ich hab eine mechanische Uhr, die geht in den zwei Tagen nach dem Aufziehen erst mal zwei Minuten vor und gleicht das dann bis zum Rest der Woche langsam aus...
Man muss sich nicht immer am Schlechtesten orientieren. Das mechanische Schätzeisen ist ja auch unter den mechanischen Uhren schon am unteren Ende des Brauchbaren.
Da der TO nichts genaueres zu seinen Messabsichten gesagt hat, kann da 5-10 Minuten Abweichung im Halbjahr bei Langzeitmessungen schon zu viel Ungenauigkeit sein oder auch nicht.
Hallo,
"Das mechanische Schätzeisen ist ja auch unter den mechanischen Uhren schon am unteren Ende des Brauchbaren."
He, he! Pass mal auf was Du hier schreibst.
Ich habe auch so ein mechanisch-analoges präzises ZeitMessGerät am Arm, nennt man Chronometer.
47 Sekunden in der Woche sind kein Problem, und- läuft auch noch, wenn "Stecker raus".
Gruß und Spaß
Andreas
Ich habe auch eine mechanische Armbanduhr. Die hat aber höchstens 2 Sekunden Differenz im Monat.
Das Schöne ist, sie zieht sich durch die Bewegung des Arms selbst auf.
2 Minuten am Tag wäre für mich indiskutabel. Das ist für mich unter der Brauchbarkeitsgrenze. Deshalb Schätzeisen - das bezog sich auf die konkret angesprochene Uhr, nicht auf alle mechanischen Uhren.
Tommy56:
Der DS1307 ist sehr ungenau. Nimm lieber einen DS3231. Es sei denn, Du willst nur über kurze Zeitspannen messen.
Gruß Tommy
Die Dinger sind leider schon unterwegs, aber haben auch nur 4 Euro fuenf Stueck gekostet. Also falls das nichts taugt, ab in den Muell damit.
Messzeitraum ist denke ich eher durch die Batterie beschraenkt. Vielleicht mal 14 Tage. Wahscheinlich muss ich dann auch die LEDs von den Arduinos und der MPU runtermachen um Strom zu sparen. Der Uno und das Ethernet hatten meine 9V Billigbatterie innerhalb von 15 Minuten leer.
Das ist für mich unter der Brauchbarkeitsgrenze. Deshalb Schätzeisen - das bezog sich auf die konkret angesprochene Uhr, nicht auf alle mechanischen Uhren.
Ich vergass zu erwähnen, dass die erwähnte Uhr über hundert Jahre alt ist und vor Jahrzehnten einem alten Uhrmacher (und mir) viel Freude bereitet hat, als der mir helfen durfte, die wichtigsten Lager einzeln zu erneuern. Er hatte ein Riesen-Sortiment an Messing-Kram und war so froh, dass er sich geweigert hatte, das Zeug wegzuschmeissen.
Natürlich gab es auch damals schon bessere Uhren. Dass man sie beim wöchentlichen Aufziehen richtig stellt und sie in der Woche +- 2 Minuten "genau" geht, ist für meinen Geschmack annehmbar. Wenn es mal genauer sein muss, schau ich aufs Handy
Das wichtigste für den Logger-Anwendungsfall hier ist doch, dass die Zeit nicht nach jedem Batteriewechsel des Arduino komplett weg ist...