LT2_E1 – Journal: Lernthema 2 - Fachschicht implementieren - Lösungsvorschlag
✍️ LT2_E1 – Journal: Lernthema 2 – Fachschicht implementieren
📝 Journal-Eintrag zu Arbeitsauftrag 1 – Sensoren und ihre Bedeutung
Tabelle: Sensoren in mobilen Endgeräten
| Sensor | Beschreibung | Typische Anwendung |
|---|---|---|
| Beschleunigungssensor | Misst die Bewegung und Beschleunigung des Geräts entlang der X-, Y- und Z-Achse | Schrittzähler, Bewegungserkennung |
| Gyroskop | Erfasst Drehbewegungen des Geräts (Rotation um die Achsen) | Bildschirmrotation, Spielesteuerung |
| Magnetometer | Misst Magnetfelder in der Umgebung | Kompassfunktion |
| Helligkeitssensor | Misst die Umgebungshelligkeit | Automatische Display-Helligkeit |
| Näherungssensor | Erkennt Objekte in der Nähe des Geräts | Displayabschaltung beim Telefonieren |
Reflexion: Sensorik
- Welcher Sensor war mir vorher schon bekannt?
Der Beschleunigungssensor – ich wusste, dass er bei Schrittzählern verwendet wird. - Welcher Sensor hat mich überrascht?
Das Magnetometer – ich wusste nicht, dass es in jedem Handy steckt und als Kompass funktioniert. - Welche Anwendungsideen fallen mir spontan ein?
- Eine App, die erkennt, ob ein Gerät stark bewegt wurde (z. B. Diebstahlschutz)
- Ein Spiel, das durch Kippen des Geräts gesteuert wird
- Automatische Display-Anpassung an Umgebungslicht oder Geräuschkulisse
📝 Journal-Eintrag zu Arbeitsauftrag 2 – Erste Tests mit Sensoren
🔍 Was genau wird gemessen?
Die App nutzt die DeviceMotion API, um die Beschleunigung des Geräts entlang der X-, Y- und Z-Achse zu messen. Diese Werte zeigen, wie stark sich das Gerät in eine bestimmte Richtung bewegt.
📈 Wie verändern sich die Werte bei Bewegung?
Wenn ich das Gerät bewege, verändern sich die Werte spürbar:
- Bei einer Bewegung nach vorne steigt z. B. der X-Wert deutlich an.
- Wenn ich das Gerät nach oben oder unten bewege, verändert sich vor allem der Y-Wert.
- Auch der Z-Wert verändert sich, z. B. wenn ich das Gerät kippe oder drehe.
Je schneller oder stärker ich das Gerät bewege, desto größer sind die gemessenen Werte.
💡 Welche praktischen Anwendungsbeispiele fallen mir ein?
- Ein Schrittzähler, der Bewegungen des Körpers erkennt.
- Eine App, die erkennt, ob ein Gerät geschüttelt wurde (z. B. als Diebstahlschutz).
- Ein Spiel, bei dem man durch Kippen des Geräts eine Figur steuert.
💬 Erkenntnisse aus dem Austausch
Mein Lernpartner hat mir gezeigt, wie man mit useState eine Statusmeldung einblenden kann. Wir haben überlegt, ob man auch eine optische Rückmeldung (z. B. durch Farbwechsel) einbauen könnte, wenn Bewegung erkannt wird.
Außerdem ist uns aufgefallen, dass die Werte sehr schnell aktualisiert werden – das könnte man in einer späteren App z. B. nutzen, um Bewegungen in Echtzeit zu analysieren.
📝 Journal-Eintrag zu Arbeitsauftrag 2b – DeviceMotion-Werte verstehen
📌 Vertiefung DeviceMotion-Werte
- Welche Werte liefert acceleration?
Die acceleration-Werte geben an, wie stark sich das Gerät entlang der X-, Y- und Z-Achse bewegt – ohne Gravitation. Es geht also um reine Beschleunigung durch Bewegung. - Was ist der Unterschied zu accelerationIncludingGravity?
accelerationIncludingGravity enthält zusätzlich die Gravitationskraft. Das bedeutet, auch wenn das Gerät still liegt, zeigt der Sensor Werte, da die Schwerkraft einbezogen wird. - Was sagt rotation bzw. rotationRate aus?
Diese Werte zeigen an, wie stark sich das Gerät um die X-, Y- oder Z-Achse dreht. Man kann damit erkennen, ob das Gerät gekippt oder rotiert wird. - Was bedeutet der interval-Wert?
Der interval gibt an, in welchem Zeitabstand neue Sensorwerte geliefert werden – also wie schnell die Daten aktualisiert werden. - Wie könnten diese Werte im Alltag genutzt werden?
- RotationRate – zur Steuerung in einem Spiel durch Kippen oder Drehen.
- Acceleration – zur Bewegungserkennung, z. B. in Fitness- oder Sicherheits-Apps.
- AccelerationIncludingGravity – zur Orientierungserkennung (liegt das Handy flach oder steht es?).
- Interval – zur Optimierung der Akkuleistung durch Anpassung der Messfrequenz.
📋 Check your Code – Reflexion
- Ja, alle Werte werden korrekt angezeigt.
- Ich kann die Veränderungen der Werte bei Bewegung gut erklären.
- Der Unterschied zwischen acceleration und accelerationIncludingGravity ist mir jetzt klar.
Lernschritt 2.3: Sensoren implementieren
Arbeitsauftrag 1 – Sensoren implementieren
Sensorbewegung verstehen
1. Welche Sensorwerte werden im Code verwendet?
-
x- undy-Werte ausAccelerometer -
z-Wert wird nicht verwendet
2. Wie wirken sich Änderungen der x- und y-Werte auf die Bewegung des Balls aus?
-
x: bewegt Ball horizontal (links/rechts) -
y: bewegt Ball vertikal (oben/unten), da mit-30multipliziert -
Werteänderung erfolgt durch Kippen des Geräts
3. Wie wird die Bewegung begrenzt?
-
Begrenzung durch
Math.maxundMath.min -
verhindert, dass der Ball aus dem Bildschirm verschwindet
-
Bereich:
xzwischen0undwidth - 50,yzwischen0undheight - 50
4. Was wäre anders, wenn Sie den Sensorwert z verwenden würden?
-
zmisst Bewegung senkrecht zur Bildschirmfläche (nach oben/unten) -
könnte für Zoomen, Sprünge oder Erkennung von Erschütterung genutzt werden
-
wäre in dieser App nicht sinnvoll für 2D-Steuerung