[Diao Ye lernt Programmieren] Arduino praktisch (108) --- GY-521 dreiachsiges Sensormodul, dynamische Anzeige der sechsachsigen Kurve

Fügen Sie hier eine Bildbeschreibung ein

Der Hinweis auf 37 Sensoren und Aktoren ist im Internet weit verbreitet. Tatsächlich muss es mehr als 37 Sensormodule geben, die mit Arduino kompatibel sind. Angesichts der Tatsache, dass ich einige Sensor- und Aktuatormodule zur Hand habe, werde ich gemäß dem Konzept der Ausübung wahren Wissens (das durchgeführt werden muss) zum Zwecke des Lernens und der Kommunikation eine Reihe von Experimenten nacheinander ausprobieren Eins, unabhängig vom Erfolg (das Programm läuft durch) oder nicht, Sie werden aufgezeichnet – kleine Fortschritte oder unlösbare Probleme, in der Hoffnung, andere zu inspirieren.

[Arduino] 168 Experimente mit Sensormodulserien (Datencode + Simulationsprogrammierung + Grafikprogrammierung)

Experiment 108: Elektronisches Gyroskop mit dreiachsigem Beschleunigungsmodul MPU-6050 6DOF GY-521-Sensor (dreiachsiges Gyroskop + dreiachsige Beschleunigung)

Fügen Sie hier eine Bildbeschreibung ein
Elektrischer Schaltplan des Moduls

Fügen Sie hier eine Bildbeschreibung ein

Experimenteller Schaltplan

Fügen Sie hier eine Bildbeschreibung ein
[Arduino] 168 Experimente mit Sensormodulserien (Datencode + Simulationsprogrammierung + Grafikprogrammierung)

Experiment 108: Elektronisches Gyroskop mit dreiachsigem Beschleunigungsmodul MPU-6050 6DOF GY-521-Sensor (dreiachsiges Gyroskop + dreiachsige Beschleunigung)

Projekt 2: Zeigen Sie die sechsachsige Kurve an

Experimentelle Verkabelung:

Arduino------MPU 6050

5V-------------VCC

GND-----------GND

A4-----------SDA IIC Datenkabel

A5-----------SCL IIC Taktleitung

D2-----------INT Interrupt-Pin

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百零八:MPU-6050模块 三轴加速度 电子陀螺仪6DOF GY-521传感器(三轴陀螺仪 + 三轴加速度)

项目之二:显示六轴曲线

实验接线:

Arduino------MPU 6050

5V-------------VCC

GND-----------GND

A4-----------SDA IIC 数据线

A5-----------SCL  IIC 时钟线

D2-----------INT 中断脚

*/



#include "I2Cdev.h"

#include "MPU6050.h"

#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE

  #include "Wire.h"

#endif

MPU6050 accelgyro;

int16_t ax, ay, az;

int16_t gx, gy, gz;

#define OUTPUT_READABLE_ACCELGYRO

#define LED_PIN 13

bool blinkState = false;

void setup() {
    
    

   

  #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE

    Wire.begin();

  #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE

    Fastwire::setup(400, true);

  #endif

  Serial.begin(38400);

  Serial.println("Initializing I2C devices...");

  accelgyro.initialize();

  Serial.println("Testing device connections...");

  Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");

   

  pinMode(LED_PIN, OUTPUT);

}

void loop() {
    
    

  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

  #ifdef OUTPUT_READABLE_ACCELGYRO

    Serial.print("a/g:\t");

    Serial.print(ax); Serial.print("\t");

    Serial.print(ay); Serial.print("\t");

    Serial.print(az); Serial.print("\t");

    Serial.print(gx); Serial.print("\t");

    Serial.print(gy); Serial.print("\t");

    Serial.println(gz);

  #endif

  #ifdef OUTPUT_BINARY_ACCELGYRO

    Serial.write((uint8_t)(ax >> 8)); Serial.write((uint8_t)(ax & 0xFF));

    Serial.write((uint8_t)(ay >> 8)); Serial.write((uint8_t)(ay & 0xFF));

    Serial.write((uint8_t)(az >> 8)); Serial.write((uint8_t)(az & 0xFF));

    Serial.write((uint8_t)(gx >> 8)); Serial.write((uint8_t)(gx & 0xFF));

    Serial.write((uint8_t)(gy >> 8)); Serial.write((uint8_t)(gy & 0xFF));

    Serial.write((uint8_t)(gz >> 8)); Serial.write((uint8_t)(gz & 0xFF));

  #endif

  blinkState = !blinkState;

  digitalWrite(LED_PIN, blinkState);

  delay(50);

}

Experimentelle Rückkehr zur seriellen Schnittstelle

Fügen Sie hier eine Bildbeschreibung ein
Öffnen Sie die Arduino IDE – Tools – Serial Port Plotter und sehen Sie sich die experimentelle Wellenform an.
Der Rückgabestatus des experimentellen Serial Port Plotters

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Experimentelles Szenendiagramm

Fügen Sie hier eine Bildbeschreibung ein
Experimentelle Open-Source-Grafikprogrammierung (Mind+, Programmieren während des Lernens)

Fügen Sie hier eine Bildbeschreibung ein
Experimentelle Rückkehr zur seriellen Schnittstelle

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/weixin_41659040/article/details/132487525
Empfohlen
Rangfolge