当前位置: 首页 > news >正文

商务网站建设的基本流程图数据库课程设计报告网站开发

商务网站建设的基本流程图,数据库课程设计报告网站开发,带会员中心 wordpress 主题,爱采购卖家版app下载一、准备工作 有关OPENMV最大色块追踪及与STM32通信内容,详情见【STM32HAL】与OpenMV通信 有关七针OLED屏显示内容,详情见【STM32HAL】七针OLED(SSD1306)配置(SPI版) 二、所用工具 1、芯片:STM32F407ZGT6 2、CUBEMX配置软件 3、KEIL5 4…

一、准备工作

有关OPENMV最大色块追踪及与STM32通信内容,详情见【STM32+HAL】与OpenMV通信

有关七针OLED屏显示内容,详情见【STM32+HAL】七针OLED(SSD1306)配置(SPI版)

二、所用工具

1、芯片:STM32F407ZGT6

2、CUBEMX配置软件

3、KEIL5

4、OPENMV

三、实现功能

二维云台追踪最大色块,并显示中心x,y坐标至OLED

四、HAL配置步骤

1、生成两路PWM波控制舵机

周期为20ms

2、中断配置

五、KEIL填写代码

1、ptz.c
#include "ptz.h"
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
#include "main.h"
#include "tim.h"
#include "usart.h"#define RXBUFFERSIZE	256
#define CCR_UD 			TIM2->CCR2   	//up and down....		RANGE:420-2000		
#define CCR_LR 			TIM2->CCR3   	//Left and Right....	RANGE:420-2500  	
#define Cen_x  			160		//x轴中心坐标值
#define Cen_y  			120		//y轴中心坐标值#define sp1				7       //x轴速度
#define sp2				6       //y轴速度
#define range			40      //识别范围char RxBuffer[RXBUFFERSIZE],rx_buf[RXBUFFERSIZE];
uint8_t aRxBuffer;
uint8_t Uart1_Rx_Cnt = 0;int cnt_rx=0,cnt_dt=0;
int cx=0,cy=0;void Tilt(void)
{if(cx < (Cen_x-range)) CCR_LR = (CCR_LR>2450)?2450:CCR_LR+sp1;else if (cx > (Cen_x+range))	CCR_LR = (CCR_LR<450)?450:CCR_LR -sp1;else CCR_LR= CCR_LR;if(cy < (Cen_y-range)) CCR_UD = (CCR_UD<420)?420:CCR_UD -sp2;else if (cy > (Cen_y+range))	CCR_UD = (CCR_UD>1800)?1800:CCR_UD+sp2;else CCR_UD= CCR_UD;
}void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{UNUSED(huart);if(huart==&huart2){RxBuffer[Uart1_Rx_Cnt] = aRxBuffer;Uart1_Rx_Cnt++;if((RxBuffer[Uart1_Rx_Cnt-1] == 0xb3)&&(RxBuffer[Uart1_Rx_Cnt-2] == 0xb3)) cnt_rx=1;		//帧头判定else if((RxBuffer[Uart1_Rx_Cnt-2] == 0x0d)&&(RxBuffer[Uart1_Rx_Cnt-1] == 0x0a)) cnt_rx=2;	//帧尾判定else cnt_rx=0;switch (cnt_rx){case 1:Uart1_Rx_Cnt = 0;memset(RxBuffer,0x00,sizeof(RxBuffer));break;case 2:RxBuffer[Uart1_Rx_Cnt-1] = '\0';RxBuffer[Uart1_Rx_Cnt-2] = '\0';strcpy(rx_buf,RxBuffer);int st=0;						//有效数值开始位置cnt_dt=0;						//空格数for(int i=0;rx_buf[i];i++){if(cnt_dt==4) break;if(rx_buf[i]==' ') {cnt_dt++;int temp=0;for(int j=st;j<i;j++)temp=temp*10+(rx_buf[j]-'0');switch (cnt_dt){case 1:cx=temp;break;case 2:cy=temp;break;}st=i+1;}}while(HAL_UART_GetState(&huart2) == HAL_UART_STATE_BUSY_TX);Uart1_Rx_Cnt = 0;memset(RxBuffer,0x00,sizeof(RxBuffer));break;default:break;}HAL_UART_Receive_IT(&huart2, (uint8_t *)&aRxBuffer, 1);}
}

2、main.c
  /* USER CODE BEGIN 2 */OLED_Init();HAL_UART_Receive_IT(&huart2, (uint8_t *)&aRxBuffer, 1);TIM2->CCR2 = 420-1;TIM2->CCR3 = 1400-1;HAL_TIM_PWM_Start (&htim2, TIM_CHANNEL_2);HAL_TIM_PWM_Start (&htim2, TIM_CHANNEL_3);/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){OLED_ShowNum(30,20,cx,3,16);OLED_ShowNum(30,40,cy,3,16);OLED_Refresh();/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(flag) Tilt();}/* USER CODE END 3 */
}

3、按键控制暂停
/* USER CODE BEGIN 4 */void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)  
{if(GPIO_Pin == KEY0_Pin){HAL_Delay(20); //延时消抖if(GPIO_Pin == KEY0_Pin){flag=0;}}
}
/* USER CODE END 4 */

六、巨人之肩

【毕业设计】基于STM32及OpenMV的云台追踪装置

电赛:二维云台控制

【毕业设计】基于STM32F103C8T6最小系统板与OpenMV的二维云台PID控制追踪系统

后续优化方案:PID调控

位置式PID与增量式PID区别浅析

七、源码提供

【STM32+OPENMV】二维云台颜色识别及追踪【无PID版】

http://www.yayakq.cn/news/32295/

相关文章:

  • 备案时注意网站名称规范中国建设监理协会网站投稿
  • 十里河网站建设公司做新的网站seo
  • 网站推广计划表如何查看网站服务器系统
  • 网站开发所需资料wordpress非代码方式添加备案号
  • 域名备案关闭网站开发网站 要网站icp经营许可证吗
  • 企业如何进行网站备案北京php网站制作
  • 内蒙网站建设微信怎样创建公众号
  • 网站设计制作的服务怎么样百度广州分公司销售岗位怎么样
  • 长沙网站优化培训做网站甘特图 内容
  • 公司网站还有用吗零基础jsp网站开发
  • 镇江网站搜索排名昆明网站开发兼职群
  • 网站建设品牌推荐福田欧曼货车
  • 电子商务网站建设的流程长宁专业做网站
  • 南昌网站建设渠道免费网站安全软件大全免费下载
  • cms 导航网站seo优化工程师
  • 免费建各种网站搜索引擎优化常用方法
  • 用php做的博客网站澧县网站建设
  • 网站建设培训西安中小企业网站制作407
  • 通过服务推广网站的案例旅游小网站怎样做精不做全
  • 怎么优化网站程序网站建设网页设计培训班
  • dw做的网站如何上传图片网络设计公司经营范围
  • 重庆大渝网优化网站的意思
  • 微信支付网站开发建设手机银行官网
  • vps做电影网站wordpress用户投稿
  • 黑龙江省机场建设集团官网网站民政局两学一做专题网站
  • 如何管理网站单位做网站资料需要什么
  • 做网站用框架么男女直接做的视频网站免费观看
  • 北京网站建设费用网站开发技术可以做什么工作
  • 西安地产网站建设哪里建设企业网站
  • 网站请人做的 域名自己注册的 知道网站后台 怎么挂自己的服务器代刷网站推广免费