Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • ProtoBot
    • Wavelit Display
    • Maker-Module
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Einloggen
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • ProtoBot
    • Wavelit Display
    • Maker-Module
    • 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!

© 2026 Microbots.

★ Reviews

Let customers speak for us

83 reviews
Write a review
87%
(72)
5%
(4)
2%
(2)
2%
(2)
4%
(3)
77
21
G
Experiment in Progress Mug
Gerald Kendrick

I am enjoying my Experiment in Progress coffee mug. It fits in well in the lab.

K
12-in-1 Screwdriver (Pen-Size)
Klaas

Very useful fun little screwdriver for the all tiny stuff

f
ProtoBot
frederic marty

I don't have much time right now to test the micro bot, but it looks good.

f
MotorCell
frederic marty

I don't have much time right now to test it but it looks good.

M
ProtoBot
Mehmed Muslija

ProtoBot has met all my expectations.
Watching one of the videos on YouTube, I thought it would be interesting and educational to make a small project for my 8 year old cousin. ProtoBot has provided a wide range of experiences and encouraged my cousin to take on new projects.

User picture
123