0.96OLED实现数字、汉字、字符串、图片及上下按键功能切换显示
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-20 10:31 BALANCE
目录 0 2019-04-20 10:31 BALANCECONTROL
文件 5608 2019-04-20 10:26 BALANCECONTROLcontrol.c
文件 649 2019-04-18 20:29 BALANCECONTROLcontrol.h
目录 0 2019-04-20 10:31 BALANCEMPU6050
目录 0 2019-04-20 10:31 BALANCEMPU6050eMPL
文件 19342 2012-12-14 11:16 BALANCEMPU6050eMPLdmpKey.h
文件 6765 2012-12-14 11:16 BALANCEMPU6050eMPLdmpmap.h
文件 89465 2019-04-19 18:45 BALANCEMPU6050eMPLinv_mpu.c
文件 4865 2015-04-19 10:38 BALANCEMPU6050eMPLinv_mpu.h
文件 58387 2014-05-09 12:20 BALANCEMPU6050eMPLinv_mpu_dmp_motion_driver.c
文件 3538 2012-12-14 11:16 BALANCEMPU6050eMPLinv_mpu_dmp_motion_driver.h
文件 6869 2019-04-18 22:59 BALANCEMPU6050mpu6050.c
文件 4979 2015-04-18 21:10 BALANCEMPU6050mpu6050.h
文件 3062 2018-11-25 19:11 BALANCEMPU6050mpuiic.c
文件 1477 2018-11-25 19:11 BALANCEMPU6050mpuiic.h
目录 0 2019-04-20 14:24 DEVICES
目录 0 2019-04-20 10:31 DEVICESDataScope_DP
文件 3255 2019-04-18 22:43 DEVICESDataScope_DPDataScope_DP.C
文件 399 2019-04-18 17:11 DEVICESDataScope_DPDataScope_DP.h
目录 0 2019-04-20 10:31 DEVICESENCODER
文件 0 2018-05-20 21:24 DEVICESENCODERdebug.log
文件 2734 2019-04-18 19:35 DEVICESENCODERencoder.c
文件 472 2019-04-17 21:44 DEVICESENCODERencoder.h
目录 0 2019-04-20 14:32 DEVICESEXTI
文件 4003 2019-04-20 14:32 DEVICESEXTIexti.c
文件 126 2019-04-20 14:28 DEVICESEXTIexti.h
目录 0 2019-04-20 10:31 DEVICESHONGWAI
文件 541 2019-04-20 09:43 DEVICESHONGWAIscan.c
文件 93 2019-04-19 19:40 DEVICESHONGWAIscan.h
目录 0 2019-04-20 10:31 DEVICESKEY
............此处省略189个文件信息
#include “control.h“
int walk_flag = ACCELERATEisturn = 0;
long Ctl_Tick = 0;
float Angle_Pre = 0;
int Encoder_Least;
int i = 0;
/**************************************************************************
函数功能:所有的控制代码都在这里面
5ms定时中断由MPU6050的INT引脚触发
严格保证采样和数据处理的时间同步
**************************************************************************/
int EXTI9_5_IRQHandler(void)
{
if(PBin(5)==0)
{
Ctl_Tick+=5; //中断时钟
Get_Angle(); //===更新姿态
switch(walk_flag)//
{
case LEFT: //左转
isturn = Roll_Left(Angle_Balance);Set_Pwm(Moto1Moto2); //isturn 判断转弯是否结束
if(isturn == -1) //转完弯
{
walk_flag = ACCELERATE; //加速
isturn = 0;
}
break;
case RIGHT:
isturn = Roll_Right(Angle_Balance);Set_Pwm(Moto1Moto2); //isturn 判断转弯是否结束
if(isturn == -1) //转完弯
{
walk_flag = ACCELERATE; //加速
isturn = 0;
}
break;
case STRAIGHT: //直走
// Encoder_Left += Read_Encoder(2);
// Encoder_Right += Read_Encoder(4);
//printf(“Encoder_Left %dEncoder_Right %d
“Encoder_LeftEncoder_Right);
if()
// if(Ctl_Tick < 5000)
velocity_angle(Angle_Balance);//调节走直
if(Angle_Balance>160||Angle_Balance<-160)
{
walk_flag = LOCK;
}
if(PBin(4))//左边探测到 探测到是1
{
PWM_LEFT = 500;
delay_diy(1000);
}
else if(PAin(7))//右边探测到 探测到是1
{
PWM_RIGHT = 500;
delay_diy(1000);
}
Set_Pwm(Moto1Moto2);
break;
case ACCELERATE://加速
// Encoder_Left += Read_Encoder(2);
// Encoder_Right += Read_Encoder(4);
//printf(“Encoder_Left %dEncoder_Right %d
“Encoder_LeftEncoder_Right);
velocity_angle(Angle_Balance);
if(i<100)
{
Moto1 *= i*0.01;
Moto2 *= i*0.01;
i++;
}
else
{
walk_flag = STRAIGHT;
i = 0;
}
Set_Pwm(Moto1Moto2);
break;
case LOCK: //抱死
Lock();break;
case SLOW: //减速
Encoder_Left += Read_Encoder(2);
Encoder_Right += Read_Encoder(4);
//printf(“Encoder_Left %dEncoder_Right %d
“Encoder_LeftEncoder_Right);
velocity_angle(Angle_Balance);
if(i<100)
{
Moto1 *= (100-i)*0.01;
Moto2 *= (100-i)*0.01;
i++;
}
else
{
walk_flag = LEFT;
i = 0;
}
break;
default:
break;
}
}
EXTI->PR=1<<5; //清除LINE5上的中断标志位
return 0;
}
/**************************************************************************
函数功能:速度PI控制 控制小车走直线
入口参数:左轮编码器、右轮编码器
返回 值:1表示速度调节成功
作 者:平衡小车之家
**************************************************************************/
int velocity(int encoder_leftint encoder_right)
{
static float Velocity;
static float Encoder_Integral;
float kp=20ki=0;
//=============速度PI控制器=======================//
Encoder_Least =(Encoder_Left-Encoder_Right); //===获
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-20 10:31 BALANCE
目录 0 2019-04-20 10:31 BALANCECONTROL
文件 5608 2019-04-20 10:26 BALANCECONTROLcontrol.c
文件 649 2019-04-18 20:29 BALANCECONTROLcontrol.h
目录 0 2019-04-20 10:31 BALANCEMPU6050
目录 0 2019-04-20 10:31 BALANCEMPU6050eMPL
文件 19342 2012-12-14 11:16 BALANCEMPU6050eMPLdmpKey.h
文件 6765 2012-12-14 11:16 BALANCEMPU6050eMPLdmpmap.h
文件 89465 2019-04-19 18:45 BALANCEMPU6050eMPLinv_mpu.c
文件 4865 2015-04-19 10:38 BALANCEMPU6050eMPLinv_mpu.h
文件 58387 2014-05-09 12:20 BALANCEMPU6050eMPLinv_mpu_dmp_motion_driver.c
文件 3538 2012-12-14 11:16 BALANCEMPU6050eMPLinv_mpu_dmp_motion_driver.h
文件 6869 2019-04-18 22:59 BALANCEMPU6050mpu6050.c
文件 4979 2015-04-18 21:10 BALANCEMPU6050mpu6050.h
文件 3062 2018-11-25 19:11 BALANCEMPU6050mpuiic.c
文件 1477 2018-11-25 19:11 BALANCEMPU6050mpuiic.h
目录 0 2019-04-20 14:24 DEVICES
目录 0 2019-04-20 10:31 DEVICESDataScope_DP
文件 3255 2019-04-18 22:43 DEVICESDataScope_DPDataScope_DP.C
文件 399 2019-04-18 17:11 DEVICESDataScope_DPDataScope_DP.h
目录 0 2019-04-20 10:31 DEVICESENCODER
文件 0 2018-05-20 21:24 DEVICESENCODERdebug.log
文件 2734 2019-04-18 19:35 DEVICESENCODERencoder.c
文件 472 2019-04-17 21:44 DEVICESENCODERencoder.h
目录 0 2019-04-20 14:32 DEVICESEXTI
文件 4003 2019-04-20 14:32 DEVICESEXTIexti.c
文件 126 2019-04-20 14:28 DEVICESEXTIexti.h
目录 0 2019-04-20 10:31 DEVICESHONGWAI
文件 541 2019-04-20 09:43 DEVICESHONGWAIscan.c
文件 93 2019-04-19 19:40 DEVICESHONGWAIscan.h
目录 0 2019-04-20 10:31 DEVICESKEY
............此处省略189个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)