Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Sprache

  • 0 0

CodeCell: Lesebeschleunigung und Erschütterungserkennung

In Ihrer CodeCell befindet sich ein BNO085 3-Achsen-Beschleunigungssensor, ein winziger Sensor, der Bewegungen misst. Mit nur wenigen Codezeilen können Sie Erschütterungen erkennen und bei Bewegung sogar eine LED-Leuchte auslösen! Lassen Sie uns Schritt für Schritt vorgehen.

Was ist ein Beschleunigungsmesser?

Ein Beschleunigungsmesser misst die Beschleunigung – wie schnell etwas beschleunigt oder verlangsamt wird. Er erkennt:

  • Links und Rechts (X-Achse)
  • Vorwärts und Rückwärts (Y-Achse)
  • Auf und Ab (Z-Achse)

Es spürt sogar die Schwerkraft! Wenn CodeCell stillsteht, zeigt die Z-Achse einen Wert nahe 9,81 m/s² an, was der Schwerkraft der Erde entspricht.

Schritt 1: Bewegung aus CodeCell lesen

Beginnen wir zunächst mit dem Lesen der Echtzeit-Bewegungswerte vom integrierten Beschleunigungsmesser von CodeCell. Dieser Code zeigt, wie stark sich CodeCell in jede Richtung bewegt:

 #include <CodeCell.h>

 CodeCell myCodeCell;
 
float x = 0.0; // Beschleunigung der X-Achse
 float y = 0.0; // Beschleunigung der Y-Achse
 float z = 0.0; // Beschleunigung der Z-Achse

 void setup() {
 Serial.begin(115200);
 myCodeCell.Init(MOTION_ACCELEROMETER); // Initialisiere den Beschleunigungsmesser
 }

 void-Schleife() {
 if (myCodeCell.Run(10)) { // 10-mal pro Sekunde ausführen (10 Hz)
 myCodeCell.Motion_AccelerometerRead(x, y, z); // Bewegungswerte lesen
 Serial.print("X: "); Serial.print(x);
 Serial.print(" Y: "); Serial.print(y);
 Serial.print(" Z: "); Serial.println(z);
 }
 }

Was Sie bemerken werden:

  • Wenn CodeCell stillsteht und nach oben zeigt, sollten X und Y nahe 0 liegen und Z bei etwa 9,81 (Schwerkraft).
  • Wenn Sie CodeCell nach links oder rechts verschieben, ändert sich X.
  • Wenn Sie es nach vorne oder hinten bewegen, ändert sich Y.
  • Beim Schütteln springen alle Werte durcheinander!

Schritt 2: Erschütterungen erkennen

Lassen Sie uns nun erkennen, wann CodeCell geschüttelt wird, und die integrierte RGB-LED verwenden, um dies zu signalisieren.

Dieses Programm lässt die LED rot leuchten, wenn eine Erschütterung erkannt wird.

#include <CodeCell.h>
 #include <math.h> // Needed for square root calculations

 CodeCell myCodeCell;

 float x = 0.0, y = 0.0, z = 0.0;
 const float SHAKE_THRESHOLD = 15.0; // Adjust this value for sensitivity

 void setup() {
 Serial.begin(115200);
 myCodeCell.Init(MOTION_ACCELEROMETER); // Initialize accelerometer
 }

 void loop() {
 if (myCodeCell.Run(10)) { // Check every 100ms (10Hz)
 myCodeCell.Motion_AccelerometerRead(x, y, z); // Read accelerometer data

 // Calculate total movement strength (vector magnitude)
 float totalAcceleration = sqrt(x * x + y * y + z * z);

 Serial.print("Total Acceleration: ");
 Serial.println(totalAcceleration); // Show acceleration strength

 // If the acceleration is stronger than the threshold, it's a shake!
 if (totalAcceleration > SHAKE_THRESHOLD) {
 Serial.println("Shake detected!");
 myCodeCell.LED(255, 0, 0); // Turn LED red 
delay(500); // LED 0,5 Sekunden lang eingeschaltet lassen
 } anders {
 //Nicht zittern
 }
 }
 }

Anstatt X, Y und Z separat zu prüfen, kombinieren wir sie zu einem einzigen Wert:

Dies gibt an , wie stark sich CodeCell insgesamt bewegt , unabhängig von der Richtung. Wenn totalAcceleration über 15,0 steigt , gehen wir davon aus, dass CodeCell geschüttelt wird. Die integrierte Die RGB-LED leuchtet 0,5 Sekunden lang rot , um das Schütteln anzuzeigen.

Experimentieren Sie mit Ihren eigenen Ideen!

Jetzt, da Sie Bewegungen erkennen können, gibt es hier einige lustige Herausforderungen:

  • Ändern Sie die LED-Farben je nach Bewegung (z. B. Blau für Neigen, Rot für Schütteln).
  • Verwenden Sie den Beschleunigungsmesser, um Klopfen oder Stöße zu erkennen.
  • Erfahren Sie, wie sich CodeCell bewegt, wenn es an einem Roboter oder Fahrzeug befestigt ist!

Indem Sie die Bewegungserkennung verstehen, lernen Sie dieselbe Technologie kennen, die in Smartphones, Drohnen und Raketen verwendet wird ! 🚀


  • Teilen:

Sozial

Github

  • Um
  • Software
  • Ausbildung
  • Kontakt
  • FAQs
  • Bedingungen
  • Rückerstattung-Politik
  • Datenschutzrichtlinie

Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!

© 2025 Microbots.