IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 物联网毕设 -- ESP32-CAN加摄像头传输图像,STM32驱动小车自动避障图像采集并显示到Android端 -> 正文阅读

[嵌入式]物联网毕设 -- ESP32-CAN加摄像头传输图像,STM32驱动小车自动避障图像采集并显示到Android端

前言

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

一、视频效果演示

物联网毕设 -- ESP32-CAN+STM32


资源包

?


?

二、底层硬件端

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 %.1f\n",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

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:01:01  更:2022-07-03 11:01:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:41:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码