Tag und Nacht
Zeichne eine Pflanze 24 Stunden lang auf und finde in den Daten ihre innere Uhr — mit einer Fourier-Analyse, die aus einer zappeligen Kurve eine klare Frequenz macht.
Kurz gesagt
Was: Du lässt deinen Sensor eine Pflanze einen ganzen Tag lang aufzeichnen — über Nacht, unbeaufsichtigt. Am nächsten Tag suchst du in den Daten mit einer Fourier-Transformation (FFT) nach wiederkehrenden Rhythmen. Wenn ein 24-Stunden-Takt erscheint, siehst du die innere Uhr der Pflanze.
Du brauchst: den Sensor aus 11.1, ein SD-Kartenmodul oder einen dauerhaft angeschlossenen Laptop, eine Pflanze am Fenster (natürlicher Tag-Nacht-Wechsel) und für die Auswertung ein bisschen Python — läuft direkt im Browser, nichts zu installieren.
Worum es geht
Fast jedes Lebewesen trägt eine innere Uhr — den circadianen Rhythmus. Er taktet mit rund 24 Stunden und läuft auch dann weiter, wenn das Licht konstant bleibt. Pflanzen sind darin Meister: Sie öffnen und schliessen Blätter, verschieben ihren Stoffwechsel, bereiten sich auf den Sonnenaufgang vor, bevor er kommt. Ein Teil davon zeigt sich auch in der bioelektrischen Spannung, die du misst.
Das Problem: In der rohen Kurve über 24 Stunden siehst du vor allem Rauschen und Zufall. Der 24-Stunden-Takt steckt drin, ist aber überlagert. Genau dafür gibt es die Fourier-Transformation — ein mathematisches Prisma, das eine wirre Kurve in ihre einzelnen Schwingungen zerlegt. Wo im Ergebnis ein Balken bei „ein Zyklus pro Tag“ herausragt, da tickt die Uhr.
Bevor du startest
Eine 24-Stunden-Messung darf nicht unterbrochen werden. Sorge für sichere Stromversorgung (Laptop am Netz oder Powerbank), stelle den Sensor so, dass niemand daran stösst, und lass die Pflanze am Fenster, damit sie den echten Tag-Nacht-Wechsel erlebt. Klebe die Elektrode besonders sorgfältig — ein Kontakt, der nach zwei Stunden abfällt, ruiniert die ganze Nacht.
Ein bisschen Hintergrund
Was die FFT tut. Stell dir einen Akkord vor: mehrere Töne gleichzeitig. Dein Ohr hört Matsch, ein gutes Programm zerlegt ihn in die einzelnen Noten. Die FFT macht dasselbe mit deiner Messkurve. Sie fragt: „Aus welchen regelmässigen Schwingungen ist diese Kurve zusammengesetzt?“ und liefert für jede mögliche Periode (12 h, 24 h, 6 h …) eine Stärke. Ein hoher Wert bei 24 h heisst: Es steckt ein Tagesrhythmus drin.
Warum die Abtastrate zählt. Für Aktivität 11.1 hast du 50-mal pro Sekunde gemessen — für 24 Stunden wäre das ein gigantischer Datenberg und völlig unnötig. Für langsame Tagesrhythmen genügt ein Messwert alle paar Sekunden. Der Sketch unten mittelt viele schnelle Messungen zu einem ruhigen Wert alle 5 Sekunden — das glättet das Rauschen und hält die Datei klein.
Aufzeichnen
- Log-Sketch laden. Spiel den Sketch aus dem Anhang auf. Er misst weiter wie gewohnt, schreibt aber nur alle 5 Sekunden einen gemittelten Wert — mit Zeitstempel — auf die SD-Karte (oder in den Seriellen Monitor, wenn der Laptop die Nacht durchläuft).
- Kontakt sichern. Elektrode sorgfältig ankleben, Kabel mit Tesa fixieren, fünf Minuten prüfen, ob die Werte ruhig laufen. Erst dann über Nacht laufen lassen.
- Start notieren. Schreib die genaue Uhrzeit des Starts auf — du brauchst sie, um Tag und Nacht später in der Kurve wiederzufinden.
- Am nächsten Tag holen. Nach 24 Stunden Aufzeichnung stoppen. Die Datei
(z. B.
PFLANZE.CSV) auf den Laptop kopieren — zwei Spalten: Zeit in Sekunden und Messwert.
Auswerten mit Python
Die Analyse läuft direkt im Browser (Pyodide) — lade deine CSV, und der Code plottet erst die 24-Stunden-Kurve und dann das FFT-Spektrum. Wo ein Balken bei „1 Zyklus / 24 h“ herausragt, hast du den circadianen Rhythmus gefunden. Der vollständige Code liegt auch auf GitHub.
import numpy as np
import matplotlib.pyplot as plt
# ---- Daten laden: zwei Spalten (Sekunden, Messwert) ----
zeit, wert = np.loadtxt("PFLANZE.CSV", delimiter=",", unpack=True)
stunden = zeit / 3600.0
# ---- 1) die Rohkurve ueber 24 Stunden ----
plt.figure(); plt.plot(stunden, wert)
plt.xlabel("Stunden"); plt.ylabel("Signal"); plt.title("24-Stunden-Aufzeichnung")
# ---- 2) Trend abziehen, damit die FFT die Rhythmen sieht ----
wert = wert - np.polyval(np.polyfit(stunden, wert, 1), stunden)
# ---- 3) Fourier-Transformation ----
dt = np.median(np.diff(zeit)) # Sekunden zwischen zwei Messungen
freq = np.fft.rfftfreq(len(wert), d=dt) # in Zyklen pro Sekunde
staerke = np.abs(np.fft.rfft(wert))
periode_h = 1.0 / (freq * 3600.0 + 1e-12) # Periode in Stunden
# nur Rhythmen zwischen 2 und 48 Stunden anschauen
m = (periode_h > 2) & (periode_h < 48)
plt.figure(); plt.plot(periode_h[m], staerke[m])
plt.xlabel("Periode (Stunden)"); plt.ylabel("Staerke")
plt.title("Wo taktet die Pflanze?"); plt.axvline(24, ls="--")
print("Staerkster Rhythmus bei",
round(periode_h[m][np.argmax(staerke[m])], 1), "Stunden")
plt.show()
Was du sehen solltest
In der Rohkurve oft ein sanftes Auf und Ab über den Tag. Im Spektrum idealerweise eine deutliche Spitze nahe 24 Stunden — manchmal zusätzlich bei 12 Stunden (ein „halber“ Rhythmus). Findest du keine Spitze, ist das ebenfalls ein Ergebnis: Vielleicht war der Kontakt zu unruhig, oder diese Pflanze zeigt es nicht im elektrischen Signal.
Arbeitsblatt
Deine innere Uhr lesen
- Bei welcher Periode liegt die stärkste Spitze in deinem Spektrum? Wie nah an 24 Stunden ist sie?
- Warum ziehen wir vor der FFT den langsamen Trend ab (Zeile mit
polyfit)? Was würde passieren, wenn wir es nicht täten? - Findest du in der Rohkurve die Stelle wieder, an der es abends dunkel wurde? Beschreibe, woran.
- Eine Nachbargruppe misst dieselbe Pflanzenart, findet aber keine 24-Stunden-Spitze. Nenne zwei technische Gründe, bevor du auf „die Pflanze hat keine Uhr“ schliesst.
- Der circadiane Rhythmus läuft auch bei konstantem Licht weiter. Wie könntest du das mit deinem Aufbau (grob) testen?
Lösung anzeigen
1. Individuell. Ein Wert zwischen etwa 22 und 26 Stunden gilt als „circadian“ — eine biologische Uhr ist nie exakt 24,0 Stunden.
2. Über 24 Stunden driftet die Grundlinie oft langsam (Kontakt trocknet, Temperatur ändert sich). Dieser Trend ist selbst eine sehr langsame „Schwingung“ und würde das Spektrum bei grossen Perioden überstrahlen. Abziehen macht den echten 24-h-Takt sichtbar.
3. Meist ein Knick oder eine Verschiebung der Grundlinie zur bekannten Abendzeit — genau deshalb hast du die Startuhrzeit notiert. So verankerst du die Kurve in echter Zeit.
4. Zum Beispiel: Elektrodenkontakt über Nacht verloren, zu wenige/zu verrauschte Daten, die Pflanze stand nicht am Fenster (kein echter Lichtwechsel), oder der Trend wurde nicht sauber abgezogen. Erst wenn Technik und Kontrolle stimmen, ist die biologische Aussage erlaubt.
5. Man liesse die Pflanze eine zweite 24-h-Runde bei durchgehend gleichem Licht laufen (Vorhang zu, konstante Lampe). Bleibt der ~24-h-Takt trotzdem, ist er wirklich „innerlich“ und nicht nur eine direkte Antwort auf das Tageslicht.
Wenn's klemmt
| Problem | Wahrscheinliche Ursache & Lösung |
|---|---|
| Kurve bricht mitten in der Nacht ab / wird flach | Elektrodenkontakt verloren oder Strom weg. Gel-Pad besser andrücken, Kabel fixieren, Stromversorgung sichern und die Nacht wiederholen. |
| Spektrum zeigt nur eine Spitze ganz links (sehr lange Periode) | Der Trend wurde nicht abgezogen — die langsame Drift überstrahlt alles. Die polyfit-Zeile prüfen. |
| Viele Spitzen, keine klar bei 24 h | Zu viel Rauschen. Über mehr Messwerte mitteln, die Aufzeichnung über mehrere Tage verlängern (mehr Zyklen = klarere Spitze). |
| CSV lässt sich nicht laden | Trennzeichen prüfen (Komma vs. Semikolon), Kopfzeile entfernen, delimiter anpassen. |
Zum Nachdenken
- Die FFT ist ein schönes Beispiel dafür, dass Mathematik sehen hilft: Ein Rhythmus, den das Auge in der zappeligen Rohkurve nie erkennt, wird als klarer Balken sichtbar. Werkzeuge erweitern unsere Wahrnehmung — das ist der Kern von KI und Datenanalyse zugleich.
- Auch hier gilt die Kontroll-Frage: Eine Spitze bei 24 h könnte auch von etwas im Raum kommen, das im Tagestakt schwankt — Temperatur, Netzspannung, Erschütterung durch den Tagesablauf. Erst der Versuch bei konstantem Licht (Frage 5) trennt echte innere Uhr von blosser Umgebung.
- Dass Pflanzen eine innere Uhr haben, ist gut belegt — dieses Experiment gehört zu den verlässlichsten des ganzen Hefts. Es ist ein gutes Gegengewicht zu den offeneren Fragen aus 11.4: Nicht alles an Pflanzen ist Spekulation, manches ist solide messbar.
Erweiterung
- Mehrtagesmessung: Lass drei bis vier Tage aufzeichnen. Je mehr Zyklen, desto schärfer die 24-h-Spitze — und du siehst, ob der Takt stabil bleibt.
- Konstantes Licht: Führe die Kontrolle aus Frage 5 wirklich durch. Bleibt der Rhythmus ohne Tag-Nacht-Wechsel, hast du „freilaufende“ circadiane Rhythmen gemessen — das Herzstück der Chronobiologie.
- Zwei Pflanzen vergleichen: Zeichne gleichzeitig zwei Arten auf. Ticken sie im selben Takt? Ist eine „pünktlicher“ als die andere? So wird aus einer Messung ein kleines Forschungsprojekt.
Anhang: der Logging-Sketch
Mittelt schnelle Messungen zu einem ruhigen Wert alle 5 Sekunden und schreibt ihn mit Zeitstempel. Hier die Serielle-Monitor-Variante (Laptop läuft durch); die SD-Karten-Variante liegt auf GitHub.
/* 24-Stunden-Logger - Verborgene Signale, Aktivitaet 13.1
Mittelt ~250 Messungen zu einem Wert alle 5 Sekunden.
Ausgabe: "sekunden,wert" — im Seriellen Monitor mitschreiben lassen
oder (SD-Variante auf GitHub) direkt auf die Karte. */
const int SIGNAL_PIN = 34;
const unsigned long INTERVALL = 5000; // 5 Sekunden
void setup() {
Serial.begin(115200);
analogReadResolution(12);
Serial.println("sekunden,wert");
}
void loop() {
static unsigned long letzte = 0;
long summe = 0; int n = 0;
// die ganzen 5 Sekunden lang messen und mitteln
unsigned long start = millis();
while (millis() - start < INTERVALL) {
summe += analogRead(SIGNAL_PIN);
n++;
delay(20);
}
int mittel = summe / n;
unsigned long sek = millis() / 1000;
Serial.print(sek); Serial.print(","); Serial.println(mittel);
}