赞
踩
系统运行后,LCD1602显示MPU6050检测的欧拉角数值,P表示俯仰角,R表示横滚角,Y表示航向角,T表示温度值。调节MPU6050横滚角可控制舵机旋转0-180度。
项目所需要的硬件资源如下:
1、51单片机开发板1个
2、SG90舵机模块1个
3、LCD1602液晶模块1个
4、USB线1条(用于供电和程序下载)
5、杜邦线若干
6、MPU6050模块1个
MPU6050模块-->单片机IO VCC-->5V GND-->GND SCL-->P21 SDA-->P20 SG90舵机模块-->单片机IO VCC-->5V GND-->GND 数据-->P22 LCD1602液晶-->单片机IO RS->P26 RW->P25 E->P27 DB0-DB7-->P00-P07
#include "app_demo.h" #include "time.h" #include "lcd1602.h" #include "stdio.h" #include "uart.h" #include "mpu6050.h" #include "mahony.h" #include "pwm.h" //控制管脚定义 sbit LED1=P2^3; //定义全局结构体变量 _sys_str sys_str; //舵机角度控制 //angle:0-180 void servo_set_angle(float angle) { pwm_set_duty_cycle(angle / 180 * 20 + 5); } xdata short gtemp=0;//温度 //陀螺仪数据处理显示 void mpu_data_pros_show(void) { xdata u8 buf[8]; //俯仰角 if(Pitch<0) { Pitch=-Pitch; lcd1602_show_num(2,0,'-',0); } else lcd1602_show_num(2,0,' ',0); lcd1602_show_nums(3,0,Pitch,3,0); if(Roll<0) { Roll=-Roll; lcd1602_show_num(12,0,'-',0); } else lcd1602_show_num(12,0,' ',0); lcd1602_show_nums(13,0,Roll,3,0); if(Yaw<0) { Yaw=-Yaw; lcd1602_show_num(2,1,'-',0); } else lcd1602_show_num(2,1,' ',0); lcd1602_show_nums(3,1,Yaw,3,0); lcd1602_show_nums(13,1,gtemp/100,2,0); } //应用控制系统 void app_sys_control(void) { xdata short aacx,aacy,aacz; //加速度传感器原始数据 xdata short gyrox,gyroy,gyroz; //陀螺仪原始数据 u8 i=0; u8 duty_value=0; lcd1602_init();//LCD1602初始化 UART_Init(); MPU6050_Init(); MPU6050_Mahony_Init(85); pwm_init(0XFF,0XA3,200,duty_value);//定时时间为0.1ms,PWM周期是200*0.1ms=20ms,初始占空比为0ms lcd1602_show_string(0,0,"P:-180 R:-180"); lcd1602_show_string(0,1,"Y:-180 T: 25C"); while(1) { gtemp=MPU6050_Get_Temperature(); //得到温度值 MPU6050_Get_Accelerometer(&aacx,&aacy,&aacz); //得到加速度传感器数据 MPU6050_Get_Gyroscope(&gyrox,&gyroy,&gyroz); //得到陀螺仪数据 Imu_Update(gyrox, gyroy, gyroz, aacx, aacy, aacz); // printf("俯仰角=%f, 横滚角=%f, 航向角=%f\r\n",Pitch,Roll,Yaw); servo_set_angle(Roll); mpu_data_pros_show(); } }
B站演示视频:https://space.bilibili.com/444388619
作者B站链接:https://space.bilibili.com/444388619
可提供手把手教学服务,资料获取请联系作者QQ:3443792007
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。