资源简介
基于STM32F1循迹小车源码,包括移动与检测两部分,试用与普遍比赛所使用的循迹小车使用代码

代码片段和文件信息
#include “sys.h“
#include “filter.h“
#include “control.h“
#define L4 PFin(0) //pf0输入
#define L3 PFin(1)
#define L2 PFin(2)
#define L1 PFin(3)
#define R1 PFin(4)
#define R2 PFin(5)
#define R3 PFin(6)
#define R4 PFin(7)
/**************************************************************************
作者:平衡小车之家
我的淘宝小店:http://shop114407458.taobao.com/
**************************************************************************/
int Balance_PwmVelocity_PwmTurn_Pwm;
u8 Flag_Target;
int Voltage_TempVoltage_CountVoltage_All;
void send_data(void)
{
usart1_send(0xff);
usart1_send(0xfe); //起始校验位
usart1_send(Angle_Balance);
usart1_send(Distance);
usart1_send(Eight_tracks());
usart1_send(0);
usart1_send(0);
usart1_send(0);
usart1_send(0);
usart1_send(0);
}
/**************************************************************************
函数功能:八路循迹模块
入口参数:int
返回 值:unsigned int
0 亮 黑
1 暗 白
**************************************************************************/
int Eight_tracks(void)
{
int tempflag;
if(flag==1)
{
if(L4==1&&L3==1&&L2==1&&L1==1&&R1==1&&R2==1&&R3==1&&R4==1)
{
flag=1;
temp=0;
}
if(L4==0&&L3==0&&L2==0&&L1==1&&R1==1&&R2==0&&R3==0&&R4==0)
{
temp=8;
flag=1;
}
if(L4==0&&L3==0&&L2==1&&L1==1&&R1==0&&R2==0&&R3==0&&R4==0)
{
temp=4;
flag=1;
}
if(L4==0&&L3==0&&L2==0&&L1==0&&R1==1&&R2==1&&R3==0&&R4==0)
{
temp=6;
flag=1;
}
if(L4==0&&L3==0&&L2==0&&L1==0&&R1==0&&R2==0&&R3==0&&R4==0)
{
temp=5;
flag=1;
}
if(L4==0&&L3==0&&L2==0&&L1==0&&R1==0&&R2==0&&R3==0&&R4==0)
{
temp=4;
flag=1;
}
}
else
{
flag=0;
temp=9;
}
return temp; //返回temp的值
}
/**************************************************************************
函数功能:获取角度 三种算法经过我们的调校,都非常理想
入口参数:获取角度的算法 1:DMP 2:卡尔曼 3:互补滤波
返回 值:无
**************************************************************************/
void Get_Angle(u8 way)
{
float Accel_YAccel_XAccel_ZGyro_YGyro_Z;
Temperature=Read_Temperature(); //===读取MPU6050内置温度传感器数据,近似表示主板温度。
if(way==1) //===DMP的读取在数据采集中断提醒的时候,严格遵循时序要求
{
Read_DMP(); //===读取加速度、角速度、倾角
Angle_Balance=Pitch; //===更新平衡倾角
Gyro_Balance=gyro[1]; //===更新平衡角速度
Gyro_Turn=gyro[2]; //===更新转向角速度
Acceleration_Z=accel[2]; //===更新Z轴加速度计
Angle_Balance=myabs(Angle_Balance);
}
else
{
Gyro_Y=(I2C_ReadOneByte(devAddrMPU6050_RA_GYRO_YOUT_H)<<8)+I2C_ReadOneByte(devAddrMPU6050_RA_GYRO_YOUT_L); //读取Y轴陀螺仪
Gyro_Z=(I2C_ReadOneByte(devAddrMPU605
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 399 2011-05-09 18:17 循迹小车\检测\keilkill.bat
文件 5225 2018-12-27 21:22 循迹小车\检测\MiniBalance\CONTROL\control.c
文件 4875 2018-12-16 21:48 循迹小车\检测\MiniBalance\CONTROL\control.c.orig
文件 510 2018-12-14 21:41 循迹小车\检测\MiniBalance\CONTROL\control.h
文件 2891 2015-07-09 14:05 循迹小车\检测\MiniBalance\DataScope_DP\DataScope_DP.C
文件 586 2015-07-09 14:05 循迹小车\检测\MiniBalance\DataScope_DP\DataScope_DP.h
文件 19342 2012-12-14 11:16 循迹小车\检测\MiniBalance\DMP\dmpKey.h
文件 6765 2012-12-14 11:16 循迹小车\检测\MiniBalance\DMP\dmpmap.h
文件 84104 2015-07-09 14:05 循迹小车\检测\MiniBalance\DMP\inv_mpu.c
文件 4335 2015-07-09 14:05 循迹小车\检测\MiniBalance\DMP\inv_mpu.h
文件 57839 2015-07-09 14:05 循迹小车\检测\MiniBalance\DMP\inv_mpu_dmp_motion_driver.c
文件 3386 2015-07-09 14:05 循迹小车\检测\MiniBalance\DMP\inv_mpu_dmp_motion_driver.h
文件 2105 2015-12-07 15:52 循迹小车\检测\MiniBalance\filter\filter.c
文件 399 2016-04-06 14:10 循迹小车\检测\MiniBalance\filter\filter.h
文件 11323 2016-04-07 08:53 循迹小车\检测\MiniBalance\MPU6050\MPU6050.c
文件 15009 2016-04-07 08:53 循迹小车\检测\MiniBalance\MPU6050\mpu6050.h
文件 4893 2017-02-21 11:12 循迹小车\检测\MiniBalance\show\show.c
文件 331 2018-12-12 18:16 循迹小车\检测\MiniBalance\show\show.h
文件 17273 2010-06-07 10:25 循迹小车\检测\MiniBalance_COER\core_cm3.c
文件 85714 2011-02-09 14:59 循迹小车\检测\MiniBalance_COER\core_cm3.h
文件 12765 2011-03-10 10:52 循迹小车\检测\MiniBalance_COER\startup_stm32f10x_md.s
文件 2968 2017-02-21 09:40 循迹小车\检测\MiniBalance_HARDWARE\ADC\adc.c
文件 413 2016-04-07 08:53 循迹小车\检测\MiniBalance_HARDWARE\ADC\adc.h
文件 2887 2015-06-07 00:48 循迹小车\检测\MiniBalance_HARDWARE\DataScope_DP\DataScope_DP.C
文件 581 2015-05-04 12:37 循迹小车\检测\MiniBalance_HARDWARE\DataScope_DP\DataScope_DP.h
文件 19342 2012-12-14 11:16 循迹小车\检测\MiniBalance_HARDWARE\DMP\dmpKey.h
文件 6765 2012-12-14 11:16 循迹小车\检测\MiniBalance_HARDWARE\DMP\dmpmap.h
文件 84104 2015-07-09 14:05 循迹小车\检测\MiniBalance_HARDWARE\DMP\inv_mpu.c
文件 4335 2015-07-09 14:05 循迹小车\检测\MiniBalance_HARDWARE\DMP\inv_mpu.h
文件 57839 2015-07-09 14:05 循迹小车\检测\MiniBalance_HARDWARE\DMP\inv_mpu_dmp_motion_driver.c
............此处省略505个文件信息
- 上一篇:基于STM32F1全向轮小车控制代码
- 下一篇:CISA中文详细辅导
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- Scratch源码
- 基于stm32f103ve的程序——跑马灯实验
- E4A无障碍跨程序操作类库(带源码、
- 设备管理系统源码
- 安卓wifi直连app源码
- stm32f407上的两个can发送和接收例程
- 我的世界源码(易语言版)
- labview编程软件滤波器以及编写程序设
- 我的界面(visual foxpro)源码
- 易语言:一键cf基址源码
- The Secret Path 3D 3D魔方迷宫[源码][scra
- scratch垃圾分类源码(最终版本).sb
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- 安卓QQ6.71协议源码易语言,qq协议源码
- 编译原理实验工具及参考源码(lex&
- E盾偷后台工具源码
- stm32f030 IAP Demo(原创)
- UNIX/LINUX编程实践教程的源码
- 十以内加减法练习 powerbuilder源码
- 农场开发项目
- OCR源码
- PLC上位机编程软件
- 用foobar2000听google音乐[更新一下]
- 学生信息管理系统源码
- 用VC 编写的仿QQ聊天室程序源代码
- 毕业论文之温度传感器DS18B20(源码
- 可自定义导航网站源码
- 栅栏填充算法源码(VC)
评论
共有 条评论