0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino射频传感器解码器的制作

454398 来源:网络整理 作者:网络整理 2019-11-22 16:26 次阅读

步骤1:传感器模块

如上图所示,变送器包括开门传感器,运动检测器,布防遥控器以及用于对报警箱进行编程的无线键盘。事实证明,这些设备中没有两个使用相同的同步长度或位持续时间。除了消息长度以外,唯一的共同点是位的基本格式。每个位占用一个固定的时间段,零和一之间的差是高/低部分的占空比。

上面显示的漂亮波形并不是我第一次收到的。由于433 MHz频段中的流量很大,因此我必须确保在将示波器设置为执行一次触发之前就激活传感器。幸运的是,只要激活按键,传感器就会激活数据消息的多个副本,并且遥控器和小键盘会继续输出消息。通过使用示波器,我能够确定每个项目的同步长度和数据位持续时间。如前所述,同步时间不同,比特时间也不同,但是消息格式均具有低级同步,后跟24个数据位和一个停止位。这足以让我能够在软件中构建通用解码器,而不必对每个设备的所有不同细节进行硬编码。

步骤2:硬件

我最初使用PIC微控制器汇编语言构建了传感器解码器。我最近一直在玩Arduino变体,所以我想看看是否可以复制它。上面显示了简单的示意图,并且还有我的原型的图片。我所做的就是使用三根普通的跳线将Arduino Nano连接至RF接收器板。仅需电源和一条数据线即可。

如果您在“三合一时间和天气显示”上阅读了我的Instructable,您会发现我使用的是433MHz的通用RXB6接收器。您也许可以让真正便宜的接收器在该项目所需的短距离内工作,但是我仍然建议使用超级外差接收器。

步骤3:软件

软件将接收到的位转换为可显示的ASCII字符。它输出同步长度的值以及1位和0位的长度。因为我已经知道同步长度和位格式,所以我可以专门为它们编写软件。取而代之的是,我决定看看是否可以编写它来整理同步长度并自动找出数据位。万一我想尝试检测其他格式,那应该可以更轻松地进行修改。重要的是要注意,该软件不知道消息的第一位是1还是0。它假定它是1,但是,如果确定应该是零,它将求反。

通过使用INT0外部中断输入触发中断处理程序来确定同步脉冲和数据位的时间。 INT0可以在上升沿,下降沿,或在两个边沿或在稳定的低电平上触发。该软件在两个边沿都被中断,并测量脉冲保持低电平的时间。这简化了事情,因为消息开始/同步是一个低电平脉冲,并且可以根据它们的低电平时间来确定这些位。

中断处理程序首先确定捕获的计数是否足够长以至于不能被捕获。启动/同步脉冲。我使用的各种设备的同步脉冲分别为4、9、10和14毫秒。允许的最小/最大同步值的define语句位于软件的最前面,当前设置为3毫秒和16毫秒。传感器之间的位时间也有所不同,因此解码位的算法需要考虑到这一点。将第一位的位时间保存为与第一位有显着差异的后续位的时间。无法直接比较后续位时间,因此使用了“软键因子”定义(“变量”)。假设始终将第一个数据位记录为逻辑1,则开始进行位解码。将保存该值,然后将其用于测试后续位。如果后续数据位计数在已保存值的方差窗口内,则也将其记录为逻辑1。如果它在已保存值的方差窗口之外,则将其记录为逻辑0。如果逻辑0位时间比第一个位时间短,则设置一个标志来告诉软件在显示之前需要反转字节。该算法失败的唯一情况是消息中的位全为0。我们可以接受这种限制,因为这种消息是毫无意义的。

我感兴趣的所有传感器的消息长度均为24个数据位,但是软件不限于该长度。有一个最多七个字节的缓冲区(可以添加更多字节),并定义了最小和最大消息长度(以字节为单位)。该软件设置为收集位,将它们转换为字节,暂时存储它们,然后通过串行端口以ASCII格式输出。触发消息输出的事件是收到新的启动/同步脉冲。

步骤4:数据记录

该软件已设置为通过Arduino的串行(TX)输出以ASCII字符输出转换后的数据。制作PIC版本时,我需要连接PC上的终端程序以显示数据。 Arduino IDE的一个优点是它具有内置的串行监视器功能。我将串行端口速率设置为115.2k,然后将“串行监视器”窗口设置为相同的速率。这里的屏幕截图显示了一个典型的显示,其中包含我拥有的各种传感器的输出。如您所见,数据有时并不完美,但您可以轻松确定每个传感器的真实值。

步骤5:Sample Receiver Software

我提供了一个示例软件清单,该清单显示了如何使用收集的信息为您的应用程序接收一组特定的代码。设置此示例以模拟我的Etekcity远程插座之一。一个命令打开内置在Nano(D13)中的LED,另一个命令关闭LED。如果您的Arduino中没有内置LED,请添加电阻和LED,如图所示。在实际应用中,此功能将打开/关闭电源插座的电源(使用继电器或三端双向可控硅开关)。同步时间,位时间和预期的数据字节均已预先定义好,以便于修改。您可以使用其余的任何数据线来打开/关闭特定应用程序的功能,等等。只需添加适用的命令代码定义并在“回路”中替换LED开/关逻辑即可满足您的需求。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 射频传感器
    +关注

    关注

    0

    文章

    34

    浏览量

    8282
  • Arduino
    +关注

    关注

    187

    文章

    6456

    浏览量

    186491
收藏 人收藏

    评论

    相关推荐

    无线网解码器怎么连接

    无线网解码器的连接方式可能因设备型号、品牌以及应用场景的不同而有所差异。以下提供的是一种较为通用的连接步骤,但请注意,在实际操作中应参考具体设备的说明书或官方指导进行操作。 一、设备准备 无线网
    的头像 发表于 10-15 16:31 178次阅读

    无线解码器的质量标准是什么

    无线解码器,作为现代通信系统中的关键组件,其质量标准对于确保数据传输的可靠性、安全性和效率至关重要。 1. 性能指标 1.1 灵敏度 灵敏度是无线解码器能够接收到的最小信号强度。高灵敏度意味着解码器
    的头像 发表于 10-15 16:21 147次阅读

    解码器和控制区别是什么

    解码器和控制在数字电子电路中扮演着不同的角色,它们之间的主要区别体现在功能和应用场景上。 一、功能区别 解码器 : 主要功能 :解码器通常用于将编码后的数据或信号转换成相应的输出信号
    的头像 发表于 09-30 14:27 259次阅读

    控制解码器的使用方法

    控制解码器是一种用于解析和执行控制信号的设备,广泛应用于工业自动化、机器人技术、航空航天等领域。它通常与传感器、执行等设备配合使用,以实现对机械或系统的精确控制。 1. 理解控制
    的头像 发表于 09-30 14:24 283次阅读

    遥控解码器怎么使用

    遥控解码器是一种用于解码和复制遥控信号的设备,它可以帮助用户在遥控丢失或损坏的情况下,重新获得对设备的控制。 遥控
    的头像 发表于 09-30 14:23 408次阅读

    全景声解码器

    全景声解码器是一款将音频技术推向极致的产品。它不仅提供高质量的音频解码,还让用户体验到一种前所未有的声音空间。无论您是想要享受音乐、观看电影,还是沉浸于游戏世界,全景声解码器都能为您打开一个新的音频维度,让每一次聆听都成为一次精
    的头像 发表于 09-24 10:40 248次阅读
    全景声<b class='flag-5'>解码器</b>

    为什么好的播放还要配解码器

    好的播放之所以需要配备解码器,是因为音频和视频文件的编码和解码是一个复杂的过程,涉及到多种技术和标准。解码器的作用是将压缩的音频和视频数据还原成可以被播放设备识别和播放的格式。 播放
    的头像 发表于 09-23 18:02 608次阅读

    9740解码器配什么光栅

    关于9740解码器配什么光栅的问题,由于直接针对特定型号(如9740解码器)与光栅配套信息的资料可能较为有限,且这种信息可能因厂商、产品系列及具体应用场景的不同而有所差异,因此无法给出一个绝对确定
    的头像 发表于 09-23 18:01 254次阅读

    光栅解码器四根信号线怎么接

    光栅解码器是一种用于读取光栅编码信号的设备,通常用于工业自动化和机器人技术中。光栅编码是一种增量式或绝对式传感器,它可以提供位置、速度和方向信息。光栅
    的头像 发表于 09-23 17:58 409次阅读

    光栅解码器损坏的表现有哪些

    光栅解码器是一种用于将光信号转换为电信号的设备,广泛应用于光学存储、光学测量、光学通信等领域。当光栅解码器损坏时,可能会出现多种异常表现。以下是一些可能的表现,以及相应的分析: 信号失真 : 原因
    的头像 发表于 09-23 17:57 298次阅读

    数字播放解码器

    数字播放解码器的组合能够提供更优质的音频体验。数字播放负责处理和传输音频数据,而解码器则负责将这些数据转换为高质量的模拟信号。它们的配合可以确保你听到的音频既清晰又真实。
    的头像 发表于 09-06 17:35 720次阅读
    数字播放<b class='flag-5'>器</b>和<b class='flag-5'>解码器</b>

    飞腾云XMOS XU316解码器

    飞腾云XMOS XU316解码器由于其高性能的音频处理能力、低延迟的音频传输技术以及灵活的I/O接口,适合用于需要高保真和多通道音频处理的各种音乐设备和音频产品。
    的头像 发表于 07-17 15:39 1353次阅读
    飞腾云XMOS XU316<b class='flag-5'>解码器</b>

    USB多路音频解码器模组

    USB多路音频解码器模组能够高效地处理和输出高质量的音频信号,适用于各种多媒体应用场景。
    的头像 发表于 05-30 15:45 722次阅读
    USB多路音频<b class='flag-5'>解码器</b>模组

    超低功耗立体声编解码器Arduino评估板ARD-AUDIO-DA7212数据手册

    电子发烧友网站提供《超低功耗立体声编解码器Arduino评估板ARD-AUDIO-DA7212数据手册.rar》资料免费下载
    发表于 05-15 17:17 0次下载
    超低功耗立体声编<b class='flag-5'>解码器</b><b class='flag-5'>Arduino</b>评估板ARD-AUDIO-DA7212数据手册

    视频编解码器-晶振应用选型方案简介

    随着科技的日新月异,视频编解码技术也将迎来新的发展机遇,5G网络的普及将进一步提升视频传输速度和质量,为视频编解码器的发展提供更广阔的空间。
    的头像 发表于 12-09 10:55 902次阅读
    视频编<b class='flag-5'>解码器</b>-晶振应用选型方案简介