Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
| phtg:bp:ch3 [2024-05-13 18:47] – hof | phtg:bp:ch3 [2024-05-28 19:23] (aktuell) – hof | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| # Data Processing | # Data Processing | ||
| - | ## Data Collection | + | Um unsere Batterie auszumessen müssen wir zweierlei tun: |
| - | Keine Batterie hält ewig - nun möchten wir wissen, wie lange unsere Batterie Strom liefert, und wieviel Energie wir praktisch nutzen konnten, bis sie leer ist. Aus der Physik wissen wir, dass $Spannung\cdot{}Strom$ die Leistung unserer Batterie (bzw. die Leistungsaufnahme der Leuchte) ergibt. Wenn wir die Leistung über die ganze Lebensdauer unseres Systems aufzeichnen, | + | * Die Spannung |
| + | * Die Messdaten auswerten und darstellen: [[phtg: | ||
| - | TODO je nach verwendeter Sensortechnik unterscheidet sich dieser Block. | + | ## Lernjob-Produkte |
| - | + | ||
| - | TODO: wollen wir wirklich Spannung & Strom messen, oder nur $U$, da $R$ bekannt ist? | + | |
| - | + | ||
| - | ### Ziel | + | |
| - | Schreibe Python-Code wie folgt. Falls die nötigen Python-Kenntnisse noch nicht vorhanden sind, folgst du den untenstehenden Tutorials. | + | |
| - | + | ||
| - | * Datei `batterie.csv` im Schreibmodus öffnen. | + | |
| - | * Eine Schleife ausführen, die alle zehn Sekunden die Strom- und Spannungswerte ausliest. | + | |
| - | * Für jede Lesung wird eine Zeile (en. record) in die Datei geschrieben im folgenden Format: | + | |
| - | + | ||
| - | `< | + | |
| - | + | ||
| - | * also zum Beispiel (für eine Messung von $U = 1.37V$ und $I = 300mA$): | + | |
| - | + | ||
| - | `2024-06-13 14: | + | |
| - | + | ||
| - | ### Tutorials | + | |
| - | + | ||
| - | #### Python: Datei Ein- und Ausgabe | + | |
| - | + | ||
| - | Wie lesen wir Daten in einer Text-Datei? | + | |
| - | + | ||
| - | <code python> | + | |
| - | # Opens a file for writing (and closes it again after the ' | + | |
| - | with open(' | + | |
| - | for i in range(10): | + | |
| - | line = 'Zeile ' + str(i) + ' | + | |
| - | outfile.write(line) | + | |
| - | </ | + | |
| - | + | ||
| - | Beachte: | + | |
| - | * Wenn Dateien gelesen oder geschrieben werden, müssen sie beim Betriebssystem reserviert werden. Mit `with` wird sichergestellt, | + | |
| - | * Die Datei (hier ' | + | |
| - | * `' | + | |
| - | * `str()` verwandelt die Zahl in einen Text. | + | |
| - | * `' | + | |
| - | + | ||
| - | ##### Aufgabe | + | |
| - | Beschreibe eine Datei mit einigen Zeilen. Es ist ungünstig, mehr als einige zehntausend Zeilen zu schreiben... | + | |
| - | #### Python: Zeitstempel formatieren | + | |
| - | + | ||
| - | Zeitstempel können aus der `datetime` Bibliothek geholt werden: | + | |
| - | + | ||
| - | <code python> | + | |
| - | from datetime import datetime | + | |
| - | + | ||
| - | print(datetime.now()) | + | |
| - | </ | + | |
| - | + | ||
| - | Mit Python f-Strings können mehrere Argumente praktisch in einen String gepackt werden: | + | |
| - | + | ||
| - | <code python> | + | |
| - | from datetime import datetime | + | |
| - | timestamp = datetime.now() | + | |
| - | planet = ' | + | |
| - | magnitude = ' | + | |
| - | print(f' | + | |
| - | </ | + | |
| - | + | ||
| - | (Du weisst nicht, was mit _Alderaan_ hier gemeint ist? -> [[wpde> | + | |
| - | + | ||
| - | #### CSV-Format | + | |
| - | Unsere Log-Datei ist im [[wpde> | + | |
| - | + | ||
| - | Oft werden in der ersten Zeile die Namen der abgespeicherten Werte festgelegt: | + | |
| - | + | ||
| - | <code csv> | + | |
| - | Zeitstempel, | + | |
| - | 2024-06-13 14: | + | |
| - | 2024-06-13 14: | + | |
| - | ... | + | |
| - | </ | + | |
| + | * Teile deine Tabelle (mit den Diagrammen) mit der Lehrperson. | ||
| + | ## Challenge-Produkt | ||
| + | * Füge die Diagramme in das Batterie-Poster ein. | ||