基于opencv视觉图像处理的巡线小车设计(stm32+树莓派+usb摄像头)

功能说明:
1.视觉巡线(usb摄像头+opencv)
2.遇到红灯停车(红灯出现在小车右前方时)
3.固定动作避障(光电对管)
4.按键启动/急停
4.按键调整运行速度
资料说明:
本小车图像处理部分在树莓派中实现,小车控制部分在stm32中实现,stm32与树莓派之间采用标准串口通信,通信协议见资料通信说明文件,资料中包含stm32端全部代码,整体设计原理图(ad工程+pdf),同时包含stm32开发环境(内含2032最新注册),以及视频讲解(32与树莓派代码讲解,小车运行讲解)
基于opencv视觉图像处理的巡线小车设计(stm32+树莓派+usb摄像头)_第1张图片
注意!!树莓派端图像处理代码当时忘记保存了,需要用户自行设计!!
小车采用两轮差速结构,电机驱动为l298n(两路pwm控制)
部分代码如下所示,

#include "headfile.h"
/***********************************************
*********树莓派与单片机通信--串口***************
USART2_Tx      -->PD5
USART2_Rx      -->PD6
*******************PWM**************************
TIM1_Channel_1       -->PE9		左后
TIM1_Channel_2       -->PE11    左前
TIM1_Channel_3       -->PE13	右后
TIM1_Channel_4       -->PE14	右前
*******************KEY*************************
KEY0  							 -->PE4
KEY1   							 -->PE3 
KEY2    						 -->PE2
WK_UP    						 -->PA0
*************避障光电对管**********************
avoid_1							 -->PD8
avoid_2							 -->PD9
***********************************************/
int main(void)
{ 
	delay_init(168);		  //延时初始化 
	LED_Init();		  		  //初始化与LED连接的硬件接口  
	KEY_Init();				  //按键初始化
	Avoid_Init();			  //避障光电对管初始化
	USART2_Init(115200);	  //串口2初始化
	TIM14_PWM_Init(1000-1,84-1);//重装载值1000,PWM频率为 1M/1000=1Khz.
	TIM1_PWM_Init(1000-1,84-1);
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
	while(1)
	{
		key_scan(); 		//按键扫描
		car_control();		//小车控制
	}
}

以上资料如有问题带资料下载截图联系qq:209518616

你可能感兴趣的:(单片机,stm32,嵌入式)