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 von Roll-, Nick- und Gierungswinkel

In dieser Anleitung erfahren Sie, wie Sie mit der CodeCell die Rotation direkt messen, indem Sie den Roll-, Nick- und Gierwinkel ablesen. Das Verständnis dieser Winkel ist entscheidend für Anwendungen wie Robotik, Drohnen und Bewegungsverfolgung, bei denen präzise Orientierungsdaten benötigt werden.

Roll-, Nick- und Gieren verstehen

CodeCell ist mit einem Bewegungssensor BNO085 ausgestattet, der Daten von Beschleunigungsmesser, Gyroskop und Magnetometer zur Berechnung von Rotationsvektoren kombiniert. Diese Vektoren helfen dabei, die Ausrichtung des Geräts im Raum in Bezug auf Roll-, Nick- und Gierbewegungen zu bestimmen:

  • Rollen : Drehung um die X-Achse (Neigung nach links oder rechts)
  • Pitch : Drehung um die Y-Achse (Neigung nach vorne oder hinten)
  • Gieren : Drehung um die Z-Achse (nach links oder rechts drehen)

Durch die kontinuierliche Überwachung dieser Werte bietet CodeCell Orientierungsfeedback in Echtzeit und ist daher für eine Vielzahl bewegungsbasierter Anwendungen nützlich.

Lesen von Roll-, Nick- und Gierungsbewegungen mit CodeCell

Um die Drehwinkel zu lesen, folgen Sie diesem einfachen Beispiel. Dieser Code initialisiert den Bewegungssensor von CodeCell und gibt kontinuierlich die Roll-, Nick- und Gierwerte auf dem seriellen Monitor aus.

 #include <CodeCell.h>

 CodeCell myCodeCell;

 float Roll = 0.0;
 float Pitch = 0.0;
 float Yaw = 0.0;

 void setup() {
 Serial.begin(115200); // Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial.

 myCodeCell.Init(MOTION_ROTATION); // Initializes Rotation Sensing
 }

 void loop() {
 if (myCodeCell.Run(10)) { // Run every 10Hz
 myCodeCell.Motion_RotationRead(Roll, Pitch, Yaw);
 Serial.printf("Roll: %.2f°, Pitch: %.2f°, Yaw: %.2f°\n", Roll, Pitch, Yaw);
 }
 }

Erläuterung des Codes:

  1. Initialisieren Sie den CodeCell-Bewegungssensor, um Rotationswerte zu lesen.

  2. Lassen Sie den Sensor mit 10 Hz (alle 100 ms) laufen, um aktuelle Daten zu erhalten.

  3. Drucken Sie die Roll-, Nick- und Gierwinkel in Grad auf dem seriellen Monitor.

Dies bietet eine genaue Möglichkeit, die Ausrichtung von CodeCell in Echtzeit zu messen.

Verwenden von Rotationsdaten zur Servosteuerung

Eine praktische Anwendung des Auslesens von Roll-, Nick- und Gierwinkel ist die Steuerung eines Servomotors basierend auf der Ausrichtung von CodeCell. Das folgende Beispiel bildet den Nickwinkel auf die Position des Servos ab.

 #include <CodeCell.h>
 #include <ESP32Servo.h>

 CodeCell myCodeCell;
 Servo myservo;

 float Roll = 0.0;
 float Pitch = 0.0;
 float Yaw = 0.0;
 int servo_angle = 0;

 void setup() {
 Serial.begin(115200); // Set Serial baud rate to 115200
 myCodeCell.Init(MOTION_ROTATION); // Initializes rotation sensing
 myservo.attach(1); // Attaches the servo on pin 1 to the servo object
 }

 void loop() {
 if (myCodeCell.Run(10)) {
 // Read rotation angles from the BNO085 sensor
 myCodeCell.Motion_RotationRead(Roll, Pitch, Yaw);

 // Convert the pitch angle to a servo angle
 servo_angle = abs((int)Pitch);
 servo_angle = (180 - servo_angle); 

// Begrenzen Sie den Servowinkel auf den Bereich 0-60 Grad
 wenn (Servowinkel > 60) {
 Servowinkel = 60;
 } sonst wenn (Servowinkel < 0) {
 Servowinkel = 0;
 }

 Serial.println(servo_angle); // Drucke den Servowinkel zum Debuggen
 myservo.write(servo_angle); // Servoposition einstellen
 }
 }

Erläuterung:

  • Ordnet den Nickwinkel zu, um die Servoposition zu steuern.

  • Begrenzt den Servowinkel auf einen sicheren Bereich (0–60 Grad), um übermäßige Bewegungen zu vermeiden.

  • Verwendet 10-Hz-Updates, um eine gleichmäßige Reaktion zu gewährleisten.

Abschluss

Durch das direkte Auslesen von Roll-, Nick- und Gierbewegungen können Sie mit CodeCell erweiterte bewegungsbasierte Anwendungen freischalten. Passen Sie die Beispiele an und integrieren Sie sie in Ihre eigenen Projekte. Weitere Beispiele und technische Dokumentation finden Sie im CodeCell GitHub Repository !

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