标题:
STM32平衡小车程序与安卓APP源码
[打印本页]
作者:
晚安Man
时间:
2019-1-9 13:19
标题:
STM32平衡小车程序与安卓APP源码
内含Android控制APP,近期编写的现在分享给大家
0.png
(9.24 KB, 下载次数: 49)
下载附件
2019-1-9 17:03 上传
安卓app源码
0.png
(6.96 KB, 下载次数: 40)
下载附件
2019-1-9 17:03 上传
单片机源程序如下:
#include "stm32f10x.h"
#include "inv_mpu_dmp_motion_driver.h"
#include "math.h"
#include "inv_mpu.h"
#include "oled.h"
#include "delay.h"
#include "adc.h"
#include "motor.h"
#include "mpuiic.h"
#include "mpu6050.h"
#include "timer.h"
#include "usart1.h"
extern int Moto1,Moto2; //电机PWM变量 应是Motor的 向Moto致敬
extern u8 data[2]; //WIFI数据
short aacx=0,aacy=0,aacz=0; //加速度值
float pitch,roll,yaw=0; //欧拉角
short y_angle=0; //Y轴角度
int TIM_2=0,TIM_4=0; //编码器脉冲数
int Battery=0; //电池电压
int Balance_PWM=0; //角度环输出脉冲
int Velocity_PWM=0; //速度环输出脉冲
int Turn_PWM=0; //转向变量
int main(void)
{
delay_init(); //延时函数初始化
OLED_Init(); //OLED初始化
MiniBalance_PWM_Init(7199,0);
Encoder_Init_TIM2(); //初始化编码器左
Encoder_Init_TIM4(); //初始化编码器右
USART1_Init(115200); //初始化串口1
ESP8266_Init(); //初始化ESP8266参数
Adc_Init(); //ADC初始化
MPU_Init(); //MPU6050参数初始化
mpu_dmp_init(); //MPU6050_DMP初始化
TIM1_Int_Init(4999,71); //5ms的定时器中断
OLED_Fill(0x00); //清屏
OLED_Str_8x16(0,0,"Battery:");
OLED_Str_8x16(80,0,".");
OLED_Str_8x16(96,0,"V");
while(1)
{
Battery=(Get_Adc_Average(8,10)*0.004028)*10;//计算电池电压
OLED_Number_8x16(64,0,Battery/100);
OLED_Number_8x16(72,0,Battery%100/10);
OLED_Number_8x16(88,0,Battery%10);
}
}
/*============================= TIM3定时5ms================================*/
void TIM1_UP_IRQHandler(void)
{
if (TIM_GetITStatus(TIM1, TIM_IT_Update) != RESET)//判断是否更新中断
{
TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除中断标志位
TIM_2=-Read_Encoder(2);//获取右轮脉冲值
TIM_4=Read_Encoder(4);//获取左轮脉冲值
if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0&&MPU_Get_Gyroscope(&aacx,&aacy,&aacz)==0)//获取欧拉角和加速度值
{
Balance_PWM=balance(roll,aacx);//直立环
Velocity_PWM=velocity(TIM_2,TIM_4);//速度环
Moto1=Balance_PWM-Velocity_PWM+Turn_PWM;//计算右轮PWM值
Moto2=Balance_PWM-Velocity_PWM-Turn_PWM;//计算左轮PWM值
Xianfu_Pwm();//PWM限幅
Set_Pwm(Moto1,Moto2);//赋值给PWM寄存器
Motor_Off(roll); //实时监测角度 大于或小于50度时 强制停止电机
}
}
}
复制代码
所有资料51hei提供下载:
平衡小车APP.7z
(5.07 MB, 下载次数: 33)
2019-1-9 17:04 上传
点击文件名下载附件
下载积分: 黑币 -5
平衡小车STM32程序.7z
(252.55 KB, 下载次数: 43)
2019-1-9 17:04 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
MCUV++
时间:
2019-5-11 23:35
老哥,下了你的程序不能用,能联系一下吗,
作者:
MCUV++
时间:
2019-5-11 23:36
老哥,下了你的资料不能回复,能联系交流一下吗,非常感谢
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1