加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

物联网毕设:ESP32-CAN加摄像头传输图像,STM32驱动小车自动避障图像采集

04/29 09:03
5808
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
相关方案
  • 方案介绍
    • 一、视频效果演示
    • 二、底层硬件端
    • 三、APP端
    • 四、资源下载
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

前言

小车分为两种模式,自动模式以及手动模式,有小车下位机通过按键可以进行模式的切换,自动模式有三个超声波避障,手动模式可以通过APP连接到小车WIFI进行手动控制,并且会有一个ESP32的图像采集回传给小车。

一、视频效果演示

 

二、底层硬件端

2.1 使用硬件清单

STM32F103RCT6开发板(可以替换为STM32其他系列)

三个超声波测距模块(使用time时钟进行距离的计算)

两个电机驱动板(L2980)---- 使用PWM控制小车的速度

ESP32-CAN模块               ---- 使用串口与STM32经行连接

 2.2原理图


 2.3 主函数代码

main.h

#include "stm32f10x.h"
#include "bsp_usart.h"
#include "bsp_SysTick.h"
#include "stm32f10x_it.h"
#include "hc_sr04.h"
#include "./dwt_delay/core_delay.h"
#include "./pwm/user_timer_pwm.h"
#include "L298N.h"
#include "car.h"
#include "timer.h"
#include "usart_openmv.h"
#include "timer.h"
#include "HC_SR04.h"
#include "car.h"
#include "key.h"
//全局变量
//flage=0 状态手动
//flage=1 状态自动
extern int flag;
局部变量
//float  Distance1 = 0;  //距离
//float  Distance2 = 0;  //距离
//float  Distance3 = 0;  //距离
//定义函数
void Car_run ( void );
void Hc_rs04 ( void );
/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
extern int flage;
//小车初始状态
u8 dir=1;
u16 led0pwmval=0;

int main ( void )
{
	
	/* 初始化 */
	/* 配置SysTick 为1us中断一次 */
	SysTick_Init();

  CPU_TS_TmrInit();                                                     //初始化DWT计数器,用于延时函数
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
	USART_Config ();                                                      //初始化串口1
	OpenMV_USART_Config();
	EXTI_Key_Config(); 
	MTR_GPIOInit();
	
	TIM3_PWM_Init(899,0);	 //不分频,PWM频率=72000000/900=80Khz
	//超声波定时器
	HC_SR04_IO1_Init();  //超声波模块GPIO初始化
	TIM2_Init(7199,0);    //以10KHz计数,定时100us
	HC_SR04_IO2_Init();  //超声波模块GPIO初始化
	TIM4_Init(7199,0);    //以10KHz计数,定时100us
	HC_SR04_IO3_Init();  //超声波模块GPIO初始化
	TIM5_Init(7199,0);    //以10KHz计数,定时100us
	Delay_ms(500);   /* 延时500个tick */
	printf("初始化成功n");
  while ( 1 )
  {
		
	 //Car_run ();

		if(flag==1){
			Avoid_Car();	
		}else MTR_CarBrakeAll();
			
  }
	
}


/**
  * @brief  小车测试
  * @param  无
  * @retval 无
  */
/** 小车状态码:
	*		1 小车处于正常行驶
  *   2 小车处于减速一(距离200)
  *   3 小车处于减速二(距离100)
  *   4 小车处于低速状态(距离50)
  *
  *   1 小车处于避障状态
  *   1 小车处于避障状态
  */
void Car_run ( void )                     
{
		car_speed(1);
		MTR_CarForward();
}

/**
  * @brief  小车超声波测试
  * @param  无
  * @retval 无
  */
/** 小车状态码:

  */
void Hc_rs04 ( void )                     
{

//	Distance1 = (Get_SR04_Distance1() * 331) * 1.0/1000;
//	Delay_ms(5);
//	Distance2 = (Get_SR04_Distance2() * 331) * 1.0/1000;
//	Delay_ms(5);
//	Distance3 = (Get_SR04_Distance3() * 331) * 1.0/1000;
//	Delay_ms(5);	//Get_SR04_Distance()返回单程声波传输时间 us,转换为秒=时间*10^(-6);331m/s等于331000mm/s,
//	 //最终换算为Distance =Get_SR04_Distance()*10^(-6)*331000=(Get_SR04_Distance() * 331) * 1.0/1000;
//	//if(Distance1<1000&&Distance2<1000&&Distance3<1000)
//	printf("%.1f %.1f %.1fn",Distance1,Distance2,Distance3);
}
/*********************************************END OF FILE**********************/

三、APP端

编译平台

APP使用Android studio平台编译


四、资源下载

全部资源

APP+STM32程序+ESP32CAN程序icon-default.png?t=M5H6https://download.csdn.net/download/herui_2/85840555

STM32程序+ESP32CAN程序

STM32程序+ESP32CAN程序icon-default.png?t=M5H6https://download.csdn.net/download/herui_2/85840511

APP程序

APP程序icon-default.png?t=M5H6https://download.csdn.net/download/herui_2/85840603

联系方式 微信号:13648103287

  • 联系方式.docx

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
LTV-817S-TA1 1 Lite-On Semiconductor Corporation Transistor Output Optocoupler, 1-Element, 5000V Isolation, SURFACE MOUNT, ROHS COMPLIANT, DIP-4

ECAD模型

下载ECAD模型
$0.2 查看
ECS-.327-12.5-12-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下载ECAD模型
$0.7 查看
HFBR-2521ETZ 1 Avago Technologies FIBER OPTIC RECEIVER, 5Mbps, THROUGH HOLE MOUNT, ROHS COMPLIANT, 6 PIN

ECAD模型

下载ECAD模型
$14.5 查看

相关推荐

电子产业图谱

方案定制,程序设计方案、单片机程序设计与讲解、APP定制开发。本公众号致力于向读者传递关于程序设计和开发的相关知识,并分享一些关于软件开发的最佳实践。如果您有什么问题或建议,请随时联系我们。我们将竭诚为您服务