Excel für Füllstandsberechnung nutzen

Hallo,
ich habe eine eues Projekt für eine Füllstandsanzeige!
Mit einem Ultraschallsensor wird der Abstand gemessen. Anschließen soll der Wert in Excel eingetragen werden. Die Datei ist soweit fertiggestellt zum berechnen. Wie muss ich vorgehen und was muss ich beachten?
Welches Excel format xlsx oder xls?

Habe ein Netzwerkshield mit SD Karten slot...wo die Datei drauf kommt...

CSV-Datei.

https://debitoor.de/lexikon/csv-datei:
Aufbau einer CSV-Datei

Grob gesagt: Jedem Posten in der Tabelle entspricht eine Textlinie in der Textdatei. Jedes Feld ist durch ein Komma vom nächsten getrennt.

CVS-Dateien nutzen, wie der Name „Comma-separated values“ suggeriert, in der Regel Kommata, um Datenfelder bzw. Spalten innerhalb eines Datensatzes voneinander zu trennen. Je nach Software und Einstellungen können aber manchmal auch Doppelpunkt, Semikolon, Leerzeichen, Tabulator oder andere Zeichen verwendet werden.

Ein weiteres Zeichen wird zur Trennung der Datensätze bzw. einzelnen Zeilen voneinander verwendet. Tatsächlich ist dies meist einfach der Zeilenumbruch des Betriebssystems, mit dem die Datei erzeugt wird.

Desweiteren gibt es manchmal noch sog. Feldbegrenzerzeichen. Wenn zum Beispiel Sonderzeichen innerhalb der Daten verwendet werden, etwa das Komma bei Dezimalzahlen, dann wird der Inhalt des Feldes in Anführungszeichen gesetzt, die Beginn und Ende des Textes markieren.

oder CSV (Dateiformat) – Wikipedia

und wie man das File in Excel aufbekommt: zB So geht’s: CSV-Datei öffnen und bearbeiten - COMPUTER BILD

Grüße Uwe

Auf was für einem Rechner willst Du das Excel-File erstellen?

xlsx ist eigentlich nur eine geZIPte Sammlung von XML-Files. Kann also nicht so schwer sein.

Kennt jemand einen Zipper, der auf dem ATMega 328P läuft? :wink:

newpv:
Anschließen soll der Wert in Excel eingetragen werden. Die Datei ist soweit fertiggestellt zum berechnen. Wie muss ich vorgehen und was muss ich beachten?
Welches Excel format xlsx oder xls?

Habe ein Netzwerkshield mit SD Karten slot...wo die Datei drauf kommt...

Das ist konfus!
Du kannst mit einem Arduino vermutlich auch ein Dateiformat XLS oder XLSX erstellen.
Ich denke, DAS willst und machst Du nicht.

Also als erstes:
Zwinge Dich dazu, ein Austauschformat zu benutzen!

Das wäre z.B. csv; Gerne auch txt in reinem ascii
Bedenke: Niemals eine lange Datei für alles.
Teile! Nach Anzahl der Datensätze, Zeiten.

Und wenn Du nur und ausschliesslich auf die Sd schreibst: Unbedingt eine Kontrollmöglichkeit, ob die Eintragung auch wirklich funktioniert.
Es reicht ne LED, Wenn Du das Netzshield hast, gerne auch mit Website....

wno158:
Kennt jemand einen Zipper, der auf dem ATMega 328P läuft? :wink:

Aehhm.. ins blaue hinein:

http://www.zlib.net/ - ich kenn den Speicherbedarf nicht...

Aber: Zumindest gibbet was in c++ ...

:wink:

wno158:
Kennt jemand einen Zipper, der auf dem ATMega 328P läuft? :wink:

Zu was brauchst Du eine Komprimierer?
32GByte SD Karte bekommst Du auch bei 10 mal redundanter Abspeicherung der Daten und Messungen von 10 pro Sekunde nie voll.
Grüße Uwe

uwefed:
32GByte SD Karte bekommst Du auch bei 10 mal redundanter Abspeicherung der Daten und Messungen von 10 pro Sekunde nie voll.

Doch, nach ungefähr 10 Jahren - wenn es jeweils nur um ein einzelnes Zeichen geht.

Gruß

Gregor <:-)

uwefed:
Zu was brauchst Du eine Komprimierer?

Ich: Gar nicht :wink:
Um ein gültiges xlsx zu Erzeugen würde der TO einen brauchen.

Die zlib wird wohl zu fett sein, in zconf.h habe ich auf die Schnelle was von 128kB (DEFLATE, braucht man ja eigentlich nicht) und 32kB RAM beim INFLATE gelesen.

Wozu ein proprietäres Dataiformat mit viel Zusatzinfo und Formate produzieren, wenn es mittels Beistriche (oder Strichpunkt) zwischen den Werten und einem NL (Enter) am Ende der Zeile einfach geht ( csv-Format) ?
Grüße Uwe

Habe ein Netzwerkshield mit SD Karten slot...wo die Datei drauf kommt...

ich finde eine Sd-Karte am Arduino ist eine schlechte dauerhafte Datenablage. Wenns nur ums Daten sammeln geht und am PC weiterverarbeitet werden sollen, dann die Daten asap weitergeben. Mit dem Netzwerkshield sollte das ja gut möglich sein.

Wenn schon ein Netzwerkshield vorhanden ist, den Arduino die Daten auf eine Netzresource schreiben lassen und dann vom PC auf diese Netzresource zugreifen.

noiasca:
ich finde eine Sd-Karte am Arduino ist eine schlechte dauerhafte Datenablage. ...

Hm, die SD-Karten aus meiner 12 Jahre alten Knipse hebe ich so auf wie früher Negative. Und ab und zu (alle paar Monate) gucke ich mal auf die Eine und Andere, ob da alles okay ist. Bislang konnte ich keine Probleme ausmachen. Die älteste Karte hat gerade mal 1 GB ...
Mein erster USB-Stick mit gigantischen 128 MB hält auch noch alles, was ich drauftue - z.B. Backups privater GPG-Schlüssel oder gekaufte Schriften.

Ich habe zwar schon mehrfach von Problemen gelesen/gehört, aber nie von Leuten, die ich kenne. Sofern man nicht den billigsten Noname-Dreck kauft, muss man meiner Erfahrung nach keine Panik schieben.

Gruß

Gregor

Schau dir den Workflow an.
Daten auf SD Karte Speichern,
periodisch aus dem Shield rausgeben,
am PC einlesen, verarbeiten,
vermutlich das Excel wieder irgendwo abspeichern,
Daten von der SD-Karte löschen
die SD-Karte wieder in den Arduino stecken
(und so nebenbei für diese Zeit keine Daten haben).

Diesen Workflow finde ich suboptimal.
Warum nicht einfach Arduino schickt die Daten auf eine Netzresource
PC verarbeitet diese Daten.

Einfach das Gefummel mit SD-Karten weglassen und trotzdem immer auf die Daten zugreifen können. Das finde ich bequem.

Meiner Meinung ist, daß SD gut für Datenabspeichern, sozusagen offline.
Wenn man dann aber Daten im PC weiterverarbeiten will ist es naheliegend diese gleich zum PC zu schicken.
Da ist aber zu schauen ob der PC dauerhaft erreichbar ist bzw dauernd eingeschaltet sein wird.
Grüße Uwe

Hi noiasca und Uwe,

ja, gut, wenn die Kärtchen immer wieder gesteckt und beschrieben/gelöscht werden, hat man vielleicht wirklich irgendwann Probleme. Andererseits kosten die Dinger ja kaum noch, auch Markenkarten (was sich reimt ist gut! :-). Da ich das von der analogen Knipserei kannte (nur einmal belicht-/benutzbare Filme), verfahre ich immer noch so: Es wird nur geschrieben, nie gelöscht - dazumals kostete ein Film für 36 Aufnahmen in etwa so viel wie heute ein Kärtchen, auf das tausende Fotos passen.

Wie dem auch sei - gleich zum PC oder NAS schicken ist auf jeden Fall sinnvoller.

Gruß

Gregor

Das mit der Lebensdauer der SD-Karten sehe ich keine Probleme. Die halten schon mehr Zyklen aus als man praktisch machen kann.

Grüße Uwe

Hallo,
wenn Du csv Format nimmst dann solltest du den im Arduino verwendeten Dezimalpunkt noch gegen ein Komma austauschen dann ist das Einlesen in Excell / LibereOffice mit deutscher Einstellung leichter.

Als Trennzeichen verwende ich ein Semikolon. Eine Zeile sieht dann z.B so aus.

02.01.2021 09:57:45; 0,44; 84,83; 1017,48; 4,05

Heinz

Vielen Dank für die vielen Antworten!
Mein Problem ist jetzt, wenn ich die Datei als .csv speichere gehen die Berechnungen nicht mehr! Wie kann man das hinbekommen?

Habe die Excel Datei fertiggestellt, das ich dort die aktuelle Füllhöhe eintragen und alles berechnet wird. Kann man das so nutzen?

Hallo,

vermutlich weil Du eine Dezimalpunkt drin hast und der Zelleninhalt als Text angesehen wird. Schau mal nach was in den Zellen drin steht. Du kannst das nachträglich mit suchen / ersetzen ändern.

Heinz

Habe mal Screenshots gemacht von der Datei.

Meinst du die Kommawerte?

Hallo,

ne ich glaube wir reden aneinander vorbei. Du hast eine normale Excell Datei in der du die Berechnung in einer Tabelle machst. Dann gibt es eine zweite Datei das ist die CSV Datei. Sie enthält nur die Messwerte, sonst nichts. Mittels einfügen Datei als Tabelle fügst Du nun die Datei mit den Messwerten in Deine Excell Tabelle ein.

Dann hast Du also eine Excell Datei mit zwei Tabellen. (z.b Auswerten und Messwerte) Deine Berechnugen in der Tabelle Berechnung müssen dann auf die zweite Tabelle Messweerte zugreifen.

Heinz