完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
37种传感器(三十一)红外接收模块+Stduino Nano&UNO
说明: 红外遥控是一种无线,非接触控制技术,具有抗干扰能力强,信息传输可靠,可以降低,成本低,易于实现等显着优点,被众多电子设备采用。 红外接收头的工作原理为:接收内置管将红外发射管发射出来的光信号转换为微弱的电 信号,此信号经由 IC内部放大器进行放大,然后通过自动增益控制,带通滤波,解调,波形整形后还原为遥控器发射出的原始编码,通过接收头的信号输出脚输出到电器上的编码识别电路。 HS0038 是经常常用到的红外接收电子元件,几乎可以接收市面所有红外遥控器的信号,因此我们采用它作为本实验的接收装置。 红外接收发射需要数据遵守一定的规则,常见的有 NEC 协议,飞利浦RC5 协议,索尼SIRC 协议,ITT ,JVC等。以NEC 协议为例,我们可以大致了解无线通信协议的规则。 首先, NEC 协议规定,逻辑1 和逻辑0 有严格的时间与电平对应关系,如下图:逻辑1 :560 μs高电平,1690 μs低电平;逻辑0 :560 μs高电平,560 μs小号低电平。 实际上,一次传输的内容包括起始位(引导码), 8 位地址和8 位命令,其中为了保证数据的有效性,有效数据是这样构成的:地址+ 地址反码+ 命令+ 命令反码。反码即把0 置为1 ,把1 置为0 ,从而两次检验保证了数据的可靠性。因此,一次传输内容的构成如下: 其中起始位为 9ms高电平和4.5ms 低电平。 最后,当按键长按时,这样是发送一个 110ms 的重复码: 通过编写对应的程序,还可以利用红外发射可以模拟红外遥控器实现遥控功能,该部分见下分段内容。 实验目的: 在本例中,我们将利用红外接收模块,接收遥控器发出的信号,并利用窗口显示出来。 器材: Stduino UNO / Nano;、杜邦线、红外接收(HS0038 )模块 电路连接: 代码展示: #define IRMP_INPUT_PIN 11 //定义红外接收I/O引脚 #define IRMP_PROTOCOL_NAMES 1 #include 《irmpSelectMain15Protocols.h》//使用15个主要的IR协议 #include 《irmp.c.h》 IRMP_DATA irmp_data[1];//数据储存 void setup() { Serial.begin(115200); irmp_init();//初始化红外通信 irmp_irsnd_LEDFeedback(true); //开始接收红外通信 irmp_print_active_protocols(&Serial);//打印支持的IR协议 } void loop() { if (irmp_get_data(&irmp_data[0])) { irmp_result_print(&irmp_data[0]); //输出接收到的信息 } delay(100); } 实验效果: 如串口监视器所示,其中 P 表示采用的RC6 协议,C 表示指令为0x05 ,R 为长按重复。 Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。 IDE当前支持的功能有: GDB调试 封装库下载安装 代码自动补全提示 中英文模式 UTF-8GBK编码格式 代码快速格式化 SWD串口程序下载&调试(已验证) DFU程序下载方式(待验证) USB HID程序下载方式(待验证) maple DFU程序下载方式(待验证) maple DFU2程序下载方式(待验证) MassStorage程序下载方式(待验证) 更多功能细节请前往www.stduino.com进行了解 已经支持的芯片&板型列表: Stduino UNO&Nano Nucleo 144 boards Nucleo 64 boards Nucleo 32 boards Discovery boards Eval boards STM32MP1 series coprocessor boards Generic STM32F0 boards Generic STM32F1 boards Generic STM32F3 boards Generic STM32F4 boards Generic STM32H7 boards Generic STM32L0 boards 3D printer boards LoRa boards Electronic Speed Controller boards Generic flight controllers Garatronics boards Midatronics boards 更多功能集成正在进行中~ |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1627 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1550 浏览 1 评论
984 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1601 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 22:21 , Processed in 0.776926 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号