
院电赛指令智能小车
简介
指令智能小车设计
简介:指令智能小车设计开源协议
:GPL 3.0
描述
描述
队伍成员:姚冬阳 许路遥 王旌屹
指导教师:毛丽民
《校级电子设计竞赛》 设计总结报告
题目:指令智能小车设计
本次智能小车设计旨在打造一款具备多种实用功能的自动化移动设备,满足多样化的应用场景需求。其核心在于通过多模块协同运作,实现小车的控制与智能响应。
在设计思路上,以主控系统为核心,整合各功能模块。电源模块为小车提供稳定电力,通过电压转换为不同组件供电。传感器模块负责实时感知外界环境信息,如灰度传感器识别地面路径等,将采集到的数据传输给主控系统。主控系统依据预设程序与接收到的数据进行分析处理,输出控制指令到驱动模块。驱动模块根据指令精确控制电机转速与转向,从而实现小车的前进、后退、转向等动作。
总体方案中,智能小车主要由电源模块、主控模块、传感器模块、驱动模块和通信模块构成。电源模块采用可充电电池作为输入,经过 DC/DC 变换电路,输出不同电压为各个模块供电。主控模块选用高性能微控制器作为核心芯片,通过编写程序实现对小车整体运行逻辑的控制,接收传感器数据并处理,同时向驱动模块发送控制信号。驱动模块采用电机驱动芯片,与电机配合,根据主控模块指令精准调节电机运行状态,驱动小车行驶。
根据设计要求,通过主控模块实现对其他模块的调配与控制,手机端与蓝牙模块进行连接,给主控模块发送数据信号从而实现指令完成动作,灰度模块通过检测地面信号调整前进方向完成循迹
蓝牙流程
void lanya()
{
if(RxData==0x40)
{
//前进
// GPIO_SetBits(GPIOA, GPIO_Pin_8);
Motor1_SetSpeed(100); // 控制左电机1
Motor2_SetSpeed(92); // 控制右电机2
}
if(RxData==0x41)
{
//后退
Motor1_SetSpeed(-100); // 控制左电机1
Motor2_SetSpeed(-92); // 控制右电机2
}
if(RxData==0x42)
{
//停止
Motor1_SetSpeed(0); // 控制左电机1
Motor2_SetSpeed(0); // 控制右电机2
}
if(RxData==0x44)
{
//左转
Motor1_SetSpeed(100); // 控制左电机1
Motor2_SetSpeed(-91); // 控制右电机2
}
if(RxData==0x43)
{
//右转
Motor1_SetSpeed(-100); // 控制左电机1
Motor2_SetSpeed(92); // 控制右电机2
}
if(RxData==0x45)
{
//寻迹
xunji();
}
if(RxData==0x46)
{
GPIO_ResetBits(GPIOA, GPIO_Pin_12);
Delay_ms(10);
GPIO_SetBits(GPIOA, GPIO_Pin_12);
}
if(RxData==0x47)
{
}
程序软件流程图:
原理图
设计图

BOM


评论