Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
Komponenten und Zubehör
| Bauteil | Menge |
|---|---|
| Arduino UNO | 1 |
| USB-A auf B Kabel | 1 |
| 560 Ohm Widerstand | 4 |
| 100 Ohm Widerstand | 2 |
| Piezoelektrischer Sensor | 4 |
| IR-Sender (generisch) | 1 |
| IR-Empfänger (generisch) | 1 |
| Drehpotentiometer (generisch) | 1 |
| Operationsverstärker UA741C | 1 |
| Steckbrett (Breadboard) | 1 |
| 1,2 m lange Drähte | 3 |
| Universelle Lochrasterplatine (5×5 cm) | 1 |
| Klebeband | 1 |
| Kartonplatte | 1 |
Apps und Online-Dienste
- Arduino IDE
Projektbeschreibung
Einführung
Eines Tages wog ich mich auf einer Waage und fragte mich: „Wie groß ist eigentlich die Masse der Erde?“ Noch wichtiger: „Wie kann man sie überhaupt messen?“ Es gibt keine Waage, auf die man die Erde stellen könnte. Es muss einen indirekten Weg geben. Hier präsentiere ich die Umsetzung einer solchen Methode zur Bestimmung der Erdmasse.
Schritt 1: Das indirekte Verfahren
Im frühen 19. Jahrhundert nutzten Wissenschaftler Newtons zweites Gesetz (F = m·a) und das Gravitationsgesetz (F = G·m·M / r²), wobei m die Masse des Fallkörpers, a die Beschleunigung, G die Gravitationskonstante, M die Erdmasse und r der Erdradius ist. Setzt man die Fallbeschleunigung g für a ein und verbindet beide Gleichungen, erhält man:
m·g = G·m·M / r²
Daraus folgt für die Erdmasse:
M = (g·r²) / G
Die Werte für G und r sind bekannt. Wir bestimmen g experimentell mit Arduino und Sensoren und setzen alles zusammen.
Schritt 2: Experiment-Übersicht
(Etwas Mathematik vorab – Arduino kommt gleich zum Einsatz.)
Um g zu ermitteln, nutzen wir den freien Fall. Dessen Kennwerte sind:
- Anfangsgeschwindigkeit – Geschwindigkeit zu Beginn des Falls (hier 0 m/s).
- Endgeschwindigkeit – Geschwindigkeit am Ende.
- Zurückgelegte Strecke – Fallhöhe (wir wählen 1 m).
- Flugzeit – Zeit für den Fall.
- Beschleunigung – Änderungsrate der Geschwindigkeit; im freien Fall gleich
g.
Die Newtonsche Weg-Zeit-Gleichung lautet:
s = v₀·t + ½·a·t²
Mit s = 1 m, v₀ = 0 und a = g vereinfacht sich dies zu:
1 = ½·g·t² → g = 2 / t²
Arduino misst die Flugzeit t präzise über zwei Zeitstempel: Start und Ende des Falls. Die Schaltungen dafür folgen in den Schritten 4 und 5.
Schritt 3: Benötigte Materialien
Siehe Tabelle oben. Zusätzlich werden ein Karton für die Aufhängung, Klebeband und die 1,2 m Drähte für die Verkabelung zwischen Arduino (am Boden) und der IR-Lichtschranke (in 1,1 m Höhe) benötigt.
Schritt 4: Schaltung 1 – IR-Lichtschranke (Start-Zeitstempel)
Diese Schaltung erkennt den Moment, in dem der Fallkörper die Lichtschranke verlässt.
- IR-LED in Vorwärtsrichtung (beleuchtet die Fotodiode).
- Fotodiode in Sperrrichtung.
- Ausgang am Kathoden-Widerstand-Knoten geht an einen Opamp-Eingang.
- Anderer Opamp-Eingang am Potentiometer (Schwellwert).
- Opamp-Ausgang an Arduino Pin 4.
Der Opamp dient als Komparator: Wird der Strahl unterbrochen, liegt LOW an; beim Freigeben wechselt er auf HIGH – der Startzeitpunkt.
Schritt 5: Schaltung 2 – Piezoelektrische Landezone (Ende-Zeitstempel)
Vier Piezo-Sensoren (parallel, jeweils mit 560 Ω gegen Spannungsspitzen gedämpft) detektieren den Aufprall. Ihre positiven Anschlüsse gehen an analoge Eingänge (A0–A3), Masse an GND. Der erste Sensor, der den Schwellenwert überschreitet, liefert den Endzeitstempel.
Schritt 6: Mechanischer Aufbau
- Karton als „Dach“ an der Wand in ca. 1,1 m Höhe befestigen.
- IR-Modul nach unten gerichtet am Karton anbringen.
- Opamp-Ausgang über 1,2 m Draht an Arduino Pin 4; VCC/GND ebenso.
- Piezo-Panel direkt unter der IR-Lichtschranke am Boden fixieren (Klebeband).
- Alle Kabel sicher verlegen (Stolpergefahr vermeiden).
Schritt 7: Versuchsablauf
- Kleinen dünnen Stift oben auf den Fallkörper kleben (unterbricht Lichtschranke in Ruhestellung).
- Körper an der 1-m-Marke halten, sodass der Stift den IR-Strahl unterbricht.
- Körper loslassen (kein Anfangsimpuls).
- Beim Fallen wird der Strahl frei → Arduino registriert Startzeit.
- Aufprall auf Piezo-Panel → Spannungsspike → Arduino registriert Endzeit.
- Differenz = Flugzeit
t→ Berechnung vongundM.
Schritt 8: Arduino-Code
Der Code misst die Zeit zwischen HIGH-Flanke am Digitalpin 4 (IR) und erstem Überschreiten des Schwellenwerts (threshold = 110) an einem der vier analogen Pins. Ergebnis wird über Serial (115200 Baud) in Millisekunden ausgegeben. Eine LED an Pin 13 signalisiert Status.
const int sensorPin1 = A0;
const int sensorPin2 = A1;
const int sensorPin3 = A2;
const int sensorPin4 = A3;
const int photoPin = 4;
const int ledPin = 13;
const int threshold = 110;
char stringToPrint[100];
int startTime, endTime;
int val1, val2, val3, val4;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
pinMode(sensorPin1, INPUT);
pinMode(sensorPin2, INPUT);
pinMode(sensorPin3, INPUT);
pinMode(sensorPin4, INPUT);
pinMode(photoPin, INPUT);
}
void loop() {
int start = digitalRead(photoPin);
startTime = millis();
if (start == HIGH) digitalWrite(ledPin, HIGH);
while (start == LOW) {
digitalWrite(ledPin, LOW);
val1 = analogRead(sensorPin1);
val2 = analogRead(sensorPin2);
val3 = analogRead(sensorPin3);
val4 = analogRead(sensorPin4);
if ((val1 >= threshold) || (val2 >= threshold) || (val3 >= threshold) || (val4 >= threshold)) {
endTime = millis();
sprintf(stringToPrint, "%d ms", endTime - startTime);
Serial.println(stringToPrint);
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
start = HIGH;
}
}
}
Schritt 9: Durchführung & Messwerte
Wichtig: Piezo-Schwellenwert im Code anpassen, Panel genau unter IR-Modul platzieren, Körper aus 1 m Höhe ohne Anstoßen fallen lassen.
Drei Messungen ergaben Flugzeiten: 443 ms, 443 ms, 464 ms. Mittelwert: 450 ms.
Daraus: g = 2 / (0,45)² ≈ 9,8755 m/s².
Eingesetzt in M = g·r²/G (mit r = 6,371·10⁶ m, G = 6,674·10⁻¹¹ N·m²/kg²) ergibt sich:
M ≈ 6,0066 × 10²⁴ kg
Referenzwert (Google): 5,972 × 10²⁴ kg. Die Abweichung beträgt < 1 % – ein hervorragendes Ergebnis für ein Heim-Experiment.
Fazit
Mit einfachen Mitteln (Arduino, IR-Lichtschranke, Piezo-Sensoren) lässt sich die Erdmasse überraschend genau bestimmen. Das Projekt eignet sich hervorragend für Physik-Unterricht oder Maker-Workshops.
Herstellungsprozess
- Luftqualität messen mit OpenSensors: Arduino & Python Anleitung
- LED-Helligkeit per PWM und Taster am Arduino Mega steuern
- Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
- Frequenz & Tastverhältnis präzise messen mit Arduino UNO
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
- Intelligenter Parkplatzzähler: Echtzeit-Fahrzeugverfolgung mit Arduino, Processing & PHP
- MAX30100 Puls-Sensor mit Arduino integrieren: Schritt-für-Schritt-Anleitung
- Schritt-für-Schritt: YL-39/YL-69 Bodenfeuchtesensor an Arduino UNO anschließen
- Digitalen Reifegrad Ihres Unternehmens bewerten: Ein bewährter Rahmen