• 大小: 8.69MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-10
  • 语言: 其他
  • 标签: OLED  图片  功能选项  

资源简介

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\r\n“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\r\n“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\r\n“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  BALANCE\CONTROL\
     文件        5608  2019-04-20 10:26  BALANCE\CONTROL\control.c
     文件         649  2019-04-18 20:29  BALANCE\CONTROL\control.h
     目录           0  2019-04-20 10:31  BALANCE\MPU6050\
     目录           0  2019-04-20 10:31  BALANCE\MPU6050\eMPL\
     文件       19342  2012-12-14 11:16  BALANCE\MPU6050\eMPL\dmpKey.h
     文件        6765  2012-12-14 11:16  BALANCE\MPU6050\eMPL\dmpmap.h
     文件       89465  2019-04-19 18:45  BALANCE\MPU6050\eMPL\inv_mpu.c
     文件        4865  2015-04-19 10:38  BALANCE\MPU6050\eMPL\inv_mpu.h
     文件       58387  2014-05-09 12:20  BALANCE\MPU6050\eMPL\inv_mpu_dmp_motion_driver.c
     文件        3538  2012-12-14 11:16  BALANCE\MPU6050\eMPL\inv_mpu_dmp_motion_driver.h
     文件        6869  2019-04-18 22:59  BALANCE\MPU6050\mpu6050.c
     文件        4979  2015-04-18 21:10  BALANCE\MPU6050\mpu6050.h
     文件        3062  2018-11-25 19:11  BALANCE\MPU6050\mpuiic.c
     文件        1477  2018-11-25 19:11  BALANCE\MPU6050\mpuiic.h
     目录           0  2019-04-20 14:24  DEVICES\
     目录           0  2019-04-20 10:31  DEVICES\DataScope_DP\
     文件        3255  2019-04-18 22:43  DEVICES\DataScope_DP\DataScope_DP.C
     文件         399  2019-04-18 17:11  DEVICES\DataScope_DP\DataScope_DP.h
     目录           0  2019-04-20 10:31  DEVICES\ENCODER\
     文件           0  2018-05-20 21:24  DEVICES\ENCODER\debug.log
     文件        2734  2019-04-18 19:35  DEVICES\ENCODER\encoder.c
     文件         472  2019-04-17 21:44  DEVICES\ENCODER\encoder.h
     目录           0  2019-04-20 14:32  DEVICES\EXTI\
     文件        4003  2019-04-20 14:32  DEVICES\EXTI\exti.c
     文件         126  2019-04-20 14:28  DEVICES\EXTI\exti.h
     目录           0  2019-04-20 10:31  DEVICES\HONGWAI\
     文件         541  2019-04-20 09:43  DEVICES\HONGWAI\scan.c
     文件          93  2019-04-19 19:40  DEVICES\HONGWAI\scan.h
     目录           0  2019-04-20 10:31  DEVICES\KEY\
............此处省略189个文件信息

评论

共有 条评论