Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • ProtoBot
    • 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
    • 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

67 reviews
Write a review
85%
(57)
6%
(4)
1%
(1)
3%
(2)
4%
(3)
62
21
C
CodeCell C3
Cloke74

Great piece of kit, had just what i needed to complete the project i had in mind. Shame shipping to the UK is so expensive, but appreciate this isn’t necessarily in the hands of MicroBots

A
CodeCell C6
Anonymous

I had an issue, got a red light, I used too much flux. Support said clean it, then the one sensor worked fine. I got the help and answer same day I provided a foto.

A
CodeCell C6 Drive
Anonymous

I think this is the best of the ESP offered, most versatile.

User picture
P
CodeCell C6
Prudhvi tej Chinimilli

Been testing the Microbots CodeCell C6 and honestly impressed with how much functionality they packed into such a tiny module. Great form factor for rapid prototyping wearable/embedded sensing applications. ESP32-C6 + IMU integration makes development much easier compared to building everything from scratch.

Still exploring battery optimization and compact LiPo options for our use case, but overall the platform is promising for low-cost real-time sensing systems. Excited to keep building with it.

F
CodeCell C6
Francisco Estivallet

Amazing hardware, my go to for compact projects.

User picture
123