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: Lesen des Gyroskops

Die CodeCell verfügt über ein integriertes 3-Achsen-Gyroskop BNO085, das die Winkelgeschwindigkeit messen kann – also wie schnell sich die CodeCell um jede Achse dreht – und so die Erkennung von Richtungsänderungen erleichtert.

Was ist ein Gyroskop?

Im Gegensatz zu einem Beschleunigungsmesser, der Bewegungen entlang einer geraden Linie misst, erkennt ein Gyroskop Rotationsbewegungen . Es zeigt Ihnen in Grad pro Sekunde (°/s) an, wie schnell sich CodeCell dreht.

  • X-Achse → Drehung um die Links-Rechts-Achse (Neigung)
  • Y-Achse → Drehung um die Vorder-Hinterachse (Rollen)
  • Z-Achse → Drehung um die Ober-Unter-Achse (Gierwinkel)

Schritt 1: Gyroskopdaten aus CodeCell lesen

Bevor wir das Gyroskop verwenden können, müssen wir es initialisieren und mit dem Lesen der Daten beginnen.

Dieser Code liest die Winkelgeschwindigkeitswerte X, Y und Z und druckt sie alle 100 ms.

 #include <CodeCell.h>

 CodeCell myCodeCell;

 float x = 0.0; // Angular velocity around X-axis
 float y = 0.0; // Angular velocity around Y-axis
 float z = 0.0; // Angular velocity around Z-axis

 void setup() {
 Serial.begin(115200);
 myCodeCell.Init(MOTION_GYRO); // Initialize the gyroscope
 }

 void loop() {
 if (myCodeCell.Run(10)) { // Read at 10Hz (every 100ms)
 myCodeCell.Motion_GyroRead(x, y, z); // Get gyro readings

 Serial.print("Gyro X: "); Serial.print(x);
 Serial.print(" Y: "); Serial.print(y);
 Serial.print(" Z: "); Serial.println(z);
 }
 }

Was Sie bemerken werden:

  • Wenn CodeCell still ist , sollten alle Werte nahe 0 liegen.
  • Wenn Sie es nach vorne oder hinten neigen , ändern sich die Werte der X-Achse.
  • Wenn Sie ihn nach links oder rechts drehen , ändern sich die Werte der Y-Achse.
  • Wenn Sie es wie ein Lenkrad drehen , ändern sich die Z-Achsenwerte.

Je höher der Wert, desto schneller die Rotation.

Schritt 2: Rotation erkennen und LED-Farbe ändern

Lassen Sie uns nun erkennen, wann sich CodeCell nach links oder rechts dreht, und die RGB-LED-Farbe entsprechend ändern.

Dieses Programm:

  • Bei Drehung nach rechts (positives Z) leuchtet die LED grün .
  • Bei Drehung nach links (negatives Z) leuchtet die LED rot .
 #include <CodeCell.h>

 CodeCell myCodeCell;

 float x = 0.0, y = 0.0, z = 0.0;
 const float ROTATION_THRESHOLD = 3.0; // Rotation speed threshold (°/s)

 void setup() {
 Serial.begin(115200);
 myCodeCell.Init(MOTION_GYRO); // Initialize gyroscope
 }

 void loop() {
 if (myCodeCell.Run(10)) { // Read at 10Hz
 myCodeCell.Motion_GyroRead(x, y, z); // Get gyroscope values

 Serial.print("Gyro Z: ");
 Serial.println(z); // Print rotation speed
 
if (z > ROTATION_THRESHOLD) {
 myCodeCell.LED(0, 255, 0); // LED grün schalten (nach rechts drehen)
 }
 sonst wenn (z < -ROTATION_THRESHOLD) {
 myCodeCell.LED(255, 0, 0); // LED rot werden lassen (nach links drehen)
 }
 anders {
 myCodeCell.LED(0, 0, 0); // LED ausschalten, wenn sie nicht rotiert
 }
 }
 }

Das Gyroskop misst die Winkelgeschwindigkeit in Grad pro Sekunde (°/s). Überschreitet der Wert der Z-Rotation (Gierwinkel) den Schwellenwert, wird davon ausgegangen, dass CodeCell gedreht wird.

  • Z > 3 → Rechtsdrehung , LED leuchtet grün .
  • Z < -3 → Linksdrehung , LED leuchtet rot .

Versuchen Sie , ROTATION_THRESHOLD zu ändern, um die Empfindlichkeit zu erhöhen oder zu verringern .

  • Höherer Wert = Erkennt nur schnelle Rotationen
  • Niedrigerer Wert = Erkennt auch kleine Rotationen

Experimentieren Sie mit Ihren eigenen Ideen!

Nachdem Sie nun die Rotation verfolgen können, versuchen Sie Folgendes:

  • Verwenden unterschiedlicher LED-Farben für unterschiedliche Achsen
  • Erkennen schneller Bewegungen oder Gesten
  • Lernen und Verfolgen der Rotation im Laufe der Zeit

  • 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.