0.96OLED实现数字、汉字、字符串、图片及上下按键功能切换显示


0.96OLED实现数字、汉字、字符串、图片及上下按键功能切换显示
资源截图
代码片段和文件信息
#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个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)