【嵌入式】智能小车—手机控制小车行进
文章目录【嵌入式】智能小车—手机控制小车行进一、实验内容:二、实验过程介绍1.硬件准备:2.系统的总电路图:3.分模块功能:(1)小车灯模块:(2)电机模块:(3)舵机模块:(4)通信模块:(5)蜂鸣器模块:(6)超声波模块:4.整体设计:(1)手机APP界面:(2)整体实现的功能、思路及步骤:(3)实验主要代码:5.实验中遇到的问题及解决方法:【嵌入式】智能小车—手机控制小车行进一、实验内容:1.完成智能小车的组装;2.为组装好的小车进行系统录入,并确认板子焊接完好,无断线;3.通过小车的电路图,并利用keiluVision5和STM32CubeMX等软件对小车的各个模块进行编写程序;4.应用微控制器的端口、外部中断、定时器等基本模块对小车实现基本控制;5.通过控制按键来实现小车上灯光的闪烁控制;6.结合电源板、电机驱动板来控制电机的转动,实现小车的行进;7.加上红外线传感器,来实现小车的测距,加上蜂鸣器实现小车的报警;8.加上摄像头和舵机,来实现摄像头的360度旋转;9.实现小车与PC机的串口通信;10.对小车加上WiFi模块可以连接手机APP,通过控制手机APP来实现小车的基本功能:前进、后退、转弯、红外线测距。二、实验过程介绍1.硬件准备:将小车组装好,检查各模块焊接无误:电源模块、单片机模块、红外线传感器模块、电机模块。
2.系统的总电路图:(1)芯片模块:(2)电源模块:(3)电机模块:(4)蜂鸣器模块:(5)超声波模块:
3.分模块功能:(1)小车灯模块:1>通过按键来控制小车的灯的颜色变换。 ·相关实验步骤截图:2>通过按键来控制小车的灯的闪烁及亮度(即添加中断)。 ·原理图: ·相关实验步骤截图:3>通过按键来控制小车的灯实现呼吸灯效果。 ·原理图: ·相关实验步骤截图:
·实验代码思路: 1)启动定时器:HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3); 2)设置CMP的值: for(i=0;i __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,i); HAL_Delay(1000); } for(i=25;i>=5;i–) { __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,i); HAL_Delay(1000); }
(4)通信模块:实现的功能:pc发送消息给STM32,STM32返回数据·实验原理图: ·相关实验步骤截图:·实验代码思路:1)uint8_trx_data[6];2)使能接收:HAL_UART_Receive_IT(&huart1,rx_data,6); //表示每收6个字节才产生中断3)串口中断函数: voidHAL_UART_RxCpltCallback(UART_HandleTypeDefhuart) //产生中断后,使数据保存4)发送函数: HAL_UART_Transmit_IT(&huart1,(uint8_t)“Ilovemetoo!”,strlen(“Ilovemetoo!”));5)重新接收使用: HAL_UART_Receive_IT(&huart1,rx_data,6);
(5)蜂鸣器模块:实现的功能:利用红外线传感器实现当出现“悬崖”时实现蜂鸣器响。·相关实验步骤截图:·实验代码思路: 1)先启动定时器HAL_TIM_Base_Start_IT(&htim2); 2)写中断函数
(6)超声波模块:实现的功能:连接超声波传感器并且在PC上接收数据。·实验原理图: ·相关实验步骤截图:
·实验代码思路: 1)拉低PC3,并关灯 HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_RESET); HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET); 2)拉高PC3,并启动定时器 HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_SET); HAL_TIM_Base_Start_IT(&htim2); 3)实现定时器中断 voidHAL_TIM_PeroidElapsedCallback(TIM_HandleTypeDef*htim2) { } 4)在中断中进行判断: 5)设置标志位
4.整体设计:(1)手机APP界面:(2)整体实现的功能、思路及步骤:·功能: 通过手机APP控制小车,实现小车的前进、后退、左转、右转。并且利用超声波检测到障碍物时小车自动停止。
·思路:·步骤:
(3)实验主要代码:5.实验中遇到的问题及解决方法:实验中小车APP控制时按键不太灵验,而且经常出现按键抖动,而且连接线有时候经常出现问题,影响实验的进度。在控制小车时,手机上的控制位刚开始不太准确,经过调整后确定为第三位为控制位而进行实验成功。