资源简介
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个文件信息
相关资源
- RecycleView+CardView实现瀑布流2、加载网
- DTH11温湿度显示在IIC_OLED上,好用,自
- 哈夫曼树实现图片压缩与解压
- MSP432RTC实时时钟OLED显示
- 基于STM32F103的FM收音机 TEA5767
- MSP430G2553以4线SPI方式控制0.96寸OLED
- 图像处理常用到的图片
- 百度图片识别demo,即可运行
- 0.96寸OLED显示屏用户资料
- 批量快速将多张bmp图片合并转换为b
- raw转换工具 可转换多种图片格式 好用
- fpga-Verilog-图片-文字vga显示
- 百度图片搜索-爬虫批量高清大图
- 泰庆电子0.96OLED显示屏_STM32ZET系列_S
- 仿微信朋友圈背景封面更换封面相册
- opencv按像素切割图片并按照类别编号
- CKEditor实现图片上传(使用Struts2)
- BMP图片读写,24位输入转换成8位输出
- 虚拟打印机 将各类文档转换为图片输
- 二值图像的形状特征提取并显示在图
- AES加密BMP图片
- 经典坦克大战图片音乐资源
- 中景园电子0.96OLED显示屏_STM32_F103C8系
- 最好用的图片尺寸标注软件
- mui获取版本号更新APP以及点击图片查
- STM32F407_OLED显示
- 使用GIS ArcMap将图片格式的地图矢量化
- 仿百度图片鼠标移动效果jq插件
- 安卓拍照或从相册获取图片并显示
- 微博图片爬取工具
评论
共有 条评论