資源簡介
0.96OLED實現(xiàn)數(shù)字、漢字、字符串、圖片及上下按鍵功能切換顯示

代碼片段和文件信息
#include?“control.h“
int?walk_flag?=?ACCELERATEisturn?=?0;
long?Ctl_Tick?=?0;
float?Angle_Pre?=?0;
int?Encoder_Least;
int?i?=?0;
/**************************************************************************
函數(shù)功能:所有的控制代碼都在這里面
?????????5ms定時中斷由MPU6050的INT引腳觸發(fā)
?????????嚴格保證采樣和數(shù)據(jù)處理的時間同步 ?
**************************************************************************/
int?EXTI9_5_IRQHandler(void)?
{????
?if(PBin(5)==0)
{???
Ctl_Tick+=5; //中斷時鐘
Get_Angle(); //===更新姿態(tài)
switch(walk_flag)//
{
case?LEFT:? //左轉(zhuǎn)
isturn?=?Roll_Left(Angle_Balance);Set_Pwm(Moto1Moto2);? //isturn?判斷轉(zhuǎn)彎是否結(jié)束
if(isturn?==?-1) //轉(zhuǎn)完彎
{
walk_flag?=?ACCELERATE; //加速
isturn?=?0;
}
break;
case?RIGHT:
isturn?=?Roll_Right(Angle_Balance);Set_Pwm(Moto1Moto2); //isturn?判斷轉(zhuǎn)彎是否結(jié)束
if(isturn?==?-1) //轉(zhuǎn)完彎
{
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);//調(diào)節(jié)走直
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; ??
}?
/**************************************************************************
函數(shù)功能:速度PI控制?控制小車走直線
入口參數(shù):左輪編碼器、右輪編碼器
返回??值:1表示速度調(diào)節(jié)成功
作????者:平衡小車之家
**************************************************************************/
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個文件信息
評論
共有 條評論