找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2290|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

stm32單片機利用mpu6050陀螺儀控制舵機程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1071040 發(fā)表于 2023-11-27 21:11 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式


#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"
#include "MPU6050.h"
#include "Servo.h"

uint8_t ID;                                //定義用于存放ID號的變量
int16_t AX, AY, AZ, GX, GY, GZ;            //定義用于存放各個數(shù)據(jù)的變量

float abs_value(int16_t num) {
        if(num>2000){
            num=2000;
        }
        if(num<-2000){
            num=-2000;
        }
    if (num < 0) {  
        return -num;  
    } else {  
        return num;  
    }  
}

int main(void)
{
    /*模塊初始化*/
    OLED_Init();        //OLED初始化
    MPU6050_Init();        //MPU6050初始化
    Servo_Init();        //舵機初始化
   
    /*顯示ID號*/
    OLED_ShowString(1, 1, "ID:");        //顯示靜態(tài)字符串
    ID = MPU6050_GetID();                //獲取MPU6050的ID號
    OLED_ShowHexNum(1, 4, ID, 2);        //OLED顯示ID號
   
    while (1)
    {
        MPU6050_GetData(&AX, &AY, &AZ, &GX, &GY, &GZ);        //獲取MPU6050的數(shù)據(jù)
        OLED_ShowSignedNum(2, 1, AX, 5);                    //OLED顯示數(shù)據(jù)
        OLED_ShowSignedNum(3, 1, AY, 5);
        OLED_ShowSignedNum(4, 1, AZ, 5);
        OLED_ShowSignedNum(2, 8, GX, 5);
        OLED_ShowSignedNum(3, 8, GY, 5);
        OLED_ShowSignedNum(4, 8, GZ, 5);
        AY = abs_value(AY*180/2000);
        Servo_SetAngle(AY);            //設(shè)置舵機的角度為角度變量
        OLED_ShowNum(1, 8, AY, 5);    //OLED顯示角度變量
        //Delay_ms(500);
    }
}


原理圖: 無
仿真: 無
代碼: stm32利用mpu6050陀螺儀控制舵機.7z (187.21 KB, 下載次數(shù): 69)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1114752 發(fā)表于 2024-4-6 20:08 | 只看該作者
抱歉,樓主,我想問問您的代碼是硬件讀取還是軟件讀取,我是新手
回復(fù)

使用道具 舉報

板凳
ID:1071040 發(fā)表于 2024-4-9 11:31 | 只看該作者
YSY521 發(fā)表于 2024-4-6 20:08
抱歉,樓主,我想問問您的代碼是硬件讀取還是軟件讀取,我是新手

我也忘記了,mpu6050的代碼來自于B站“江協(xié)科技”的STM32教程的第十節(jié)課,軟件和硬件讀取的方式都有
回復(fù)

使用道具 舉報

地板
ID:1115852 發(fā)表于 2024-4-9 16:38 | 只看該作者
利用mpu6050讀取數(shù)據(jù),顯示在OLDE顯示屏里面,通過返回值(軸的返回值數(shù)據(jù))來進行參數(shù)配置公式的套用
控制舵機轉(zhuǎn)動
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表