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

网站建设 钱今日军事新闻头条视频

网站建设 钱,今日军事新闻头条视频,外贸网站哪家做的好,产品通过网站做营销相关连接 【STM32】【HAL库】遥控关灯0 概述 【STM32】【HAL库】遥控关灯1主机 【STM32】【HAL库】遥控关灯2 分机 【STM32】【HAL库】遥控关灯3 遥控器 需求 接收RF433和红外信号,根据信号内容控制舵机 硬件设计 主控采用stm32F103c6 STM32 433接收 其他接口 软件设计 接…

相关连接

【STM32】【HAL库】遥控关灯0 概述

【STM32】【HAL库】遥控关灯1主机

【STM32】【HAL库】遥控关灯2 分机

【STM32】【HAL库】遥控关灯3 遥控器

需求

接收RF433和红外信号,根据信号内容控制舵机

硬件设计

主控采用stm32F103c6

STM32

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aTpXZCoT-1676130507363)(picture/1.png)]

433接收

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WsUmue6W-1676130507364)(picture/2.png)]

其他接口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YsV5ZBTM-1676130507365)(picture/3.png)]

软件设计

接收RF433/红外的信号,并完成动作即可

相关链接

舵机驱动

NEC

RF433

舵机关灯思路

HAL初始化

定时器1

红外和RF433的计时

设置为分频后1us,默认溢出数,开中断

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2OQ8G8J-1676130507366)(picture/4.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XVvEdjgQ-1676130507366)(picture/5.png)]

定时器2

用作舵机控制的PWM生成

每隔20us触发一次中断

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUCDJHnG-1676130507367)(picture/6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ev25gVpu-1676130507367)(picture/7.png)]

GPIO

LED:用作指示灯,推挽输出即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gvf7unPe-1676130507368)(picture/8.png)]

GPIO

舵机控制信号

配置为开漏浮空(外部接上拉电阻到5V),配置为最高等级(避免复位时让电机出现误动作)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VH8MdGJy-1676130507369)(picture/9.png)]

GPIO

RF433输入

配置为边沿中断模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fDlh0Fhr-1676130507369)(picture/10.png)]

GPIO

红外输入

配置为下降沿中断模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nXLOmsyv-1676130507370)(picture/11.png)]

硬件看门狗

32分频,溢出值4000

每(32/40k*4000=3.2s)触发一次

本程序目的是让程序每3.2s重启一次,因此只在需要操作舵机时喂狗,主循环无喂狗

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zbCFn7g3-1676130507370)(picture/12.png)]

程序

中断回调函数

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if (htim == &Steering_Engine_TIM){if (M_EN == 1)Steering_Engine_Action();elseHAL_GPIO_WritePin(Steering_Engine_GPIOx, Steering_Engine_GPIO_Pin, GPIO_PIN_SET);}else if (htim == &htim3){}
}
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{if (GPIO_Pin == GPIO_PIN_2){if (IR_NEC_Read_ins == 0)RF_Read_Decode();}else if (GPIO_Pin == GPIO_PIN_3){IR_NEC_Read_Decode(air);}
}

主循环处理函数

 if (IR_NEC_Read_OK){HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);// printf("%02X%02X%02X%02X\r\n", IR_NEC_Read_Dat[0], IR_NEC_Read_Dat[1], IR_NEC_Read_Dat[2], IR_NEC_Read_Dat[3]);if (IR_NEC_Read_Dat[0] == 0x4D && IR_NEC_Read_Dat[1] == 0xb2 && IR_NEC_Read_Dat[2] == 0xa3 && IR_NEC_Read_Dat[3] == 0x5C)OPEN();else if (IR_NEC_Read_Dat[0] == 0x4D && IR_NEC_Read_Dat[1] == 0xb2 && IR_NEC_Read_Dat[2] == 0x59 && IR_NEC_Read_Dat[3] == 0xa6)CLOSE();if (IR_NEC_Read_Dat[0] == 0x84 && IR_NEC_Read_Dat[1] == 0xff && IR_NEC_Read_Dat[2] == 0x81 && IR_NEC_Read_Dat[3] == 0x7e)OPEN();else if (IR_NEC_Read_Dat[0] == 0x84 && IR_NEC_Read_Dat[1] == 0xff && IR_NEC_Read_Dat[2] == 0x01 && IR_NEC_Read_Dat[3] == 0xfe)CLOSE();HAL_IWDG_Refresh(&hiwdg);HAL_Delay(500);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET);IR_NEC_Read_Dat[0] = 0;IR_NEC_Read_Dat[1] = 0;IR_NEC_Read_Dat[2] = 0;IR_NEC_Read_Dat[3] = 0;IR_NEC_Read_OK = 0;}if (RF_READ_OK){HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);// printf("%02X%02X%02X\r\n", RF_READ_data[0], RF_READ_data[1], RF_READ_data[2]);if (RF_READ_data[0] == 0xac && RF_READ_data[1] == 0x22 && RF_READ_data[2] == 0x00)OPEN();else if (RF_READ_data[0] == 0xac && RF_READ_data[1] == 0x22 && RF_READ_data[2] == 0xff)CLOSE();HAL_IWDG_Refresh(&hiwdg);HAL_Delay(500);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET);RF_READ_data[0] = 0;RF_READ_data[1] = 0;RF_READ_data[2] = 0;RF_READ_OK = 0;// __set_FAULTMASK(1);// NVIC_SystemReset();}

开关灯控制函数

void OPEN()
{M_EN = 1;HAL_IWDG_Refresh(&hiwdg);Steering_Engine_360(0, 30);HAL_Delay(500);HAL_IWDG_Refresh(&hiwdg);Steering_Engine_360(1, 40);HAL_Delay(80);HAL_IWDG_Refresh(&hiwdg);Steering_Engine_Stop();M_EN = 0;
}
void CLOSE()
{M_EN = 1;HAL_IWDG_Refresh(&hiwdg);Steering_Engine_360(1, 30);HAL_Delay(500);HAL_IWDG_Refresh(&hiwdg);Steering_Engine_360(0, 30);HAL_Delay(80);HAL_IWDG_Refresh(&hiwdg);Steering_Engine_Stop();M_EN = 0;
}

成品

另外app开发很简单,百度凑凑就行了,源码同样在GitHub上,请自行查看即可

GitHub

http://www.yidumall.com/news/5025.html

相关文章:

  • 网站除了wordpress外在线seo推广软件
  • 哪些网站可以免费做h5360公司官网首页
  • 做实验室信息的网站十大小说网站排名
  • 北京vi设计公司广州标志设计重庆seo网站推广费用
  • 网站后台 开源地推团队接单平台
  • 长治网站建设湖南百度推广开户
  • 哪个公司做网站专业丽水网站seo
  • 广州网站排名seo网站外链平台
  • 长沙企业如何建网站西安百度公司
  • 台州做微网站广州seo托管
  • 郑州网站建设老牌公司广州疫情最新数据
  • wordpress付费阅读seo网络推广技术
  • 网站内地图位置怎么做排名优化哪家专业
  • 威海网站优化推广今天头条新闻100条
  • wordpress广告搜索引擎优化的作用
  • 校园网站建设测试目的网络新闻发布平台发稿
  • 一个网站主页开发费用商家怎么入驻百度
  • 淘客商品网站怎么做的推广产品引流的最佳方法
  • 个人可以做慈善网站吗搜索引擎市场份额2023
  • wordpress文件夹里图片无法获取汕头网站优化
  • 建网站需要怎么做网络推广大概需要多少钱
  • 有个做特价的购物网站申请域名
  • 怎么做网站的外链网络推广平台都有哪些
  • 张家明做网站长沙网址seo
  • 我们网站在那里登陆后台系统管理许昌seo推广
  • 做网站需要哪些资质seo关键词排名优化专业公司
  • 制作销售网站有哪些软文怎么写比较吸引人
  • 景区微网站 建设方案百度云网盘
  • 独立网站视觉设计优化品牌百度网盘搜索引擎入口
  • 做网站需要硬件软件百度推广下载安装