资源简介
基于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中文详细辅导
相关资源
- 基于STM32F1全向轮小车控制代码
- 基于STM32F4控制步进电机代码
- 河南大学计算机网络综合实验源码加
- ios应用源码之第一个iphone小程序实现
- ios应用源码之天气预报 2018127
- 《城市公交站点设置的优化分析》项
- 基于stm32f4zgt6超声波模块测距.rar
- 基于STM32F4、VGUS的电子称制作
- MLX90614(GY906)___STM32F407ZGT6
- 基于stm32f103的正弦波峰峰值.zip
- STM32F103OLED显示菜单实验
- 基于STM32F103C8T6超声波测距源码及接线
- STM32F103+W5500做的web服务
- STM32F1xx中文参考手册/STM32F103ZET6中文
- X站源码,带采集,带教程,有数据
- 一键救援源码
- 嵌入式系统课程设计报告--多功能电子
- 嵌入式系统课程设计--多功能电子钟设
- Delphi封包发送截取源码类似WPE
- 数据结构课程设计报告(最小生成树
- 仿返利网淘客返利app源码
- 基于STM32F103的温湿度SI7021程序
- 基于STM32F103的ADS7828驱动程序
- APEX辅助源码
- 基于pid控制的只能循迹小车
- 蓝桥杯嵌入式省赛所有赛题代码.7z
- STM32F103ZET6控制二维码模块GM65
- 基于stm32f103的lcd按键可修改时间闹钟
- 云盘项目开发全部内容包括源码解析
- 基于STM32F103单片机的RFID程序
评论
共有 条评论