我们都知道有线门铃系统需要电线和合适的插座才能令人满意地工作。由于有线门铃系统需要复杂的布线,需要有经验的人才能完成工作,无论是工作还是外观都不好。它的另一个问题是,如果您想为现有房屋安装有线门铃系统,则安装需要更多的精力和时间。由于温度和湿度以及其他环境因素,电线会损坏并导致短路。这就是无线门铃系统发挥作用的地方。尽管无线门铃系统的成本更高,但与有线门铃系统相比,无线门铃系统的定期维护比有线门铃系统低,这需要有经验的人进行维护。在安装方面,无线门铃系统的安装非常简单,无需经验人员即可安装。除此之外,无线门铃系统还具有摄像头、录像机等附加功能,外观时尚,完全无线,可以轻松安装在房子的任何地方。
在这个项目中,我们将使用Arduino构建一个无线门铃。我们将有一个按钮,按下该按钮将无线播放我们选择的旋律,以指示有人在门口。对于无线 MHz射频模块。一般来说,RF模块必须始终伴随着解码器和编码器模块,但我们也可以使用本教程中使用的 Arduino 等微控制器来代替解码器和编码器模块。
对于我们基于 Arduino 的无线 MHz无线射频模块。RF模块,即射频模块,由两个模块组成,一个接收数据的模块称为接收器,一个传输数据的模块称为发射器。
发射器由一个调谐到 433MHz 频率的 SAW谐振器、一个开关电路和一些无源元件组成。
当数据引脚的输入为高电平时,开关将起到短路作用,振荡器运行,在一段时间内产生固定幅度的载波和固定频率。当数据引脚的输入为低电平时,开关作为开路,输出为零。这也称为幅移键控 (ASK)。我们将在本文后面讨论更多
RF调谐器用于将电路调谐到特定频率,该频率需要满足发射频率。放大器电路用于从所有其他信号放大特定频率并增加特定频率的灵敏度。
锁相环电路 (PLL) 是一种用于我们希望从低频参考信号中获得高度稳定频率的设备类型的电路。PLL 是一个负反馈系统,由一个压控振荡器和一个相位比较器组成,其连接方式使振荡器频率始终与输入信号匹配,如下所示。
在 PLL 电路中,两个信号,即来自参考信号和来自压控振荡器 (VCO) 的信号,作为相位检测器的输入,相位检测器的输出是两个输入之间的差异,这个输出是两个信号的相位差。该输出包含频率分量,它们是信号的和和差。所以,这个输出作为低通滤波器的输入,它只允许低频,不允许高频信号通过。低通滤波器的输出被馈送到压控振荡器 (VCO),这个输入充当 VOC 的一个值,必须改变它以减小两个信号之间的相位差。VCO 发生变化,直到相位差最小,或者相位检测器的输出具有恒定的误差输出。这会导致循环锁定情况。
通过所有这些组件,接收器接收来自天线的信号,然后通过射频调谐电路进行调谐,并使用 OP-Amp 放大这个微弱的信号,并将这个放大的信号进一步用作 PLL 的输入,从而使解码器锁定到输入的数字位上,这会产生噪声较小的输出。
调制是将数据转换为电信号的过程,这些调制后的信号用于传输。我们调制信号,以便我们可以将必要的信号与其他信号分开。如果没有调制,所有具有相同频率的信号将混合在一起,这将导致错误。调制方式有很多种,流行的有模拟调制、数字调制、脉冲调制和扩频。
其中,无线传输中最常用的一种是数字调制。流行的数字调制技术是幅移键控、频移键控、相移键控、正交幅度调制。
在幅移键调制中,九游娱乐正弦载波会不断产生连续的高频载波,被调制的信号是二进制序列,这些信号使输入到开关电路的信号为高电平或低电平。
如上图所示,当输入为低电平时,开关将作为开路,输出为零。当开关的输入为高电平时,输出将是载波信号。
我们的无线门铃项目需要一个发射器和接收器电路,每个电路都有自己的 Arduino 板。门铃发射器的电路图如下所示
Arduino管脚5接门铃开关的一端,开关的另一端接电源电压。一个10kohm的下拉电阻连接到引脚5,如图所示。引脚 11 连接到发射器模块的数据引脚。Vcc 连接到电源电压,发射器模块的接地引脚接地。
同样,在接收器端,我们需要使用另一个带有射频接收器模块的 Arduino 板。然后Arduino门铃接收器 电路也有一个蜂鸣器,当按钮被按下时播放一些旋律。
在这里,我们将Arduino的引脚7连接到蜂鸣器正极,负极接地。VCC 的电源电压提供给接收模块,模块的 GND 引脚接地。接收模块的输出引脚连接到 Arduino 的第 12引脚。
接收模块由 4 个引脚组成,其中一个引脚接地,另一个引脚用于提供 VCC 电源,其余两个引脚用于数据传输。在上图中,一个蜂鸣器连接到 Arduino 的数字 7 引脚,而 Arduino 的第 12 引脚连接到接收模块输出引脚。
这些是使用 RF 模块发送或接收数据所需的头文件。这些库使 Arduino 和模块之间的连接变得简单。如果没有这些,您必须手动编写将 RF 模块与 Arduino 连接的代码。创建一个对象“驱动程序”以访问用于发送和接收数据的命令。您可以从 Github下载适用于 Arduino 的 Radio Head Library。
Serial.begin() 用于查找 RF 发射器模块是否工作,我已将PIN 5(数字引脚 5)初始化为输入引脚,它充当门铃开关。
无效设置() { 序列号.开始(9600);//仅调试 pinMode(5,输入);
此代码用于在程序启动时 RF TX 模块未初始化并且仅运行那些时打印消息“init failed”。
if函数检查引脚是逻辑高电平还是低电平,即门铃开关是打开状态还是关闭状态。指针 msg 包含我们要通过发送器发送的消息。需要注意的是,我们必须知道需要发送的字符数。这将有助于编写接收器代码。
Receiver 程序也在本页末尾的 Transmitter 代码下方给出,或者可以从这里下载。您可以直接将它与您的硬件一起使用;代码解释如下。
这些是使用 RF 模块发送或接收数据所需的头文件。这些库使 Arduino 和 RF 模块之间的连接变得简单。如果没有这些,您必须手动编写将 RF 模块与 Arduino 连接的代码。
这些是为代码创建的头文件,用于将频率值等同于特定音符并获取音符值以获取音调。如果您想了解更多有关 pitches.h 或如何使用 Arduino 和蜂鸣器演奏旋律的信息,您可以参考这个Melody using Tone() FuncTIon教程。
命令uint8_t buf[1]将buf初始化为长度为 8 位的无符号整数,buf变量的大小为 1,正如我之前告诉你的,我们应该发送多少位并获取buf变量的长度以二进制形式。
此代码检查我们是否接收到正确的数据,如果接收到的信号正确,它会播放歌曲。
发射器模块和 Arduino 一起连接在门附近,接收器模块和 Arduino 一起可以安装在房间的任何地方。当有人按下开关时,它会向Arduino的第5个引脚发送高脉冲,该引脚与发射器模块一起连接在门附近。在我们的接收器代码中,我们编写了一个命令——digitalRead(5),这个命令使 Arduino 继续读取这个引脚。当该引脚变为高电平时,Arduino 通过发送器发送数据,这些信号被接收器接收。连接蜂鸣器的 Arduino 读取这些信号,当接收到所需数据时,满足 if 函数,代码将启动函数Play_Pirates()并开始播放音乐。
日前,Arduino 正式宣布与亚马逊网络服务 (AWS) 合作,为边缘硬件和云服务提供新方向。 新的合作伙伴关系将为 Arduino 和 Arduino Cloud 客户提供更多选择,将 AWS 集成到物联网项目中。 为所有人提供云计算 Arduino Cloud 从三年前开始就在 AWS 基础设施上运行,自发布以来,Arduino 增加了对该产品的投资,扩大了团队,添加了新功能,并创建了商业和教育版本。 事实证明,这是一个正确的决定。 Arduino Cloud目前已经每月处理40 亿条设备消息,成为 AWS 上部署的最重要的 IoT SaaS 平台之一。 同时,企业级业务也是大力投资且增长最快的领域之一,包括
前言 时代在进步,极客们手上的单片机也从古老的51、PIC变成了AVR、STM32,也出现了各种便捷的开发工具,例如盛极一时的Arduino;不过Atmega328所属的AVR单片机,终究还是老点了,算起来差不多是20年前的主流了,现在流行的是ARM,今天我们就来玩下Arduino与STM32的结合。 经过半天的努力,终于可以让Arduino IDE支持我的32小板子了,STM32的芯片性价比普遍高于arduino里avr的单片机,所以好处就不用多说了。在这分享下这个有趣的玩法,将会使得STM32的编程更加简单,而不会像KEIL里那么的麻烦(不需了解底层的运作),使得新手更加容易上手,话不多说,走起。。。 板子+USB转T
IDE里编程 /
1.引言 随着嵌入式系统和无线网络的发展,两者已能紧密结合在一起。而且随着无线应用领域的扩大,工作在ISM(工业、科学和医学)标准的2.4GHz自由免费频段,已成为研究的焦点。例如Wi-Fi、BlueTooth、Zigbee等无线GHz频段上,并以其数据率高、节点分布广等特点广泛的应用于科研、家庭、军事等各个领域。本文研究的系统以NORDICnRF24E1无线芯片为基础,它是一款带增强型8051内核的无线收发模块,适用于各种无线设备互联的应用场合,工作于ISM频段,有125个频点,能够实现点对点、点对多点的无线通信,同时可采用改频和跳频来避免干扰。该系统已应用于无线环境参数(包括温度、湿度、红外信
近年来随着射频IC卡技术在各领域的应用日趋成熟和广泛, 采用射频卡为钥匙的射频感应电锁,因独具操作方便、安全性能高等特点,已在新 型电控锁具中占有了举足轻重的地位。 射频感应电锁通常由载有密码的射频IC卡(射频钥匙)来代替传统的金属制作的钥匙。在读出密码后,通过一个电子控制器产生开门电信号,继而接通电源,驱动电控锁具开关门。这样做的好处首 先是杜绝了非法复制钥匙,其次是为人员进出实现信息化管理创立了条件。但是,锁的结构变得复杂 起来,不可靠的因素随之增加,成本也大幅度上升;又由于增加了某些操作,与机械锁相比使用难 度也提高了。可见,射频感应电锁在安全性能改善的同时,也带来了可靠性、成本、可操作性等一系 列新问题。如果在设
感应电锁控制器的设计 /
2016年6月30日,致力于为创客提供更多创造空间,横跨多重电子应用领域、全球领先的半导体供应商意法半导体 (STMicroelectronics,简称ST)和教育、创客和物联网市场最大的开源生态系统Arduino公司,宣布了一项合作协议,让业界领先的STM32系列微控制器(MCU)以及意法半导体的传感器、功率器件和通信连接技术走近Arduino创客社区。STAR (ST和Arduino的前两个字母组合)开发项目的首款产品基于STM32F469的STAR Otto基板于近日向公众展出。现在,物联网开发人员和创客可以在他们的智能硬件内创建高性能图形功能,使用容易上手的软硬件开发好用的触屏和声控以及媒体流功能,改进他们的应用设计。
联手扩宽创客社区使用STM32微控制器和传感器的途径 /
第一步:硬件准备 1.ATMEGA8L-8PU avr单片机(图1) 图asp(用于烧写bootloader的工具)(图2上) 3.USB转TTL串口线芯片的,稳定性比较好,用于在arduino下装载程序)(图二下) 图2 4. 16M晶振,面包板,发光二极管等,及若干杜邦线 这里可能有疑问:ATMEGA8L-8PU为什么配了16M晶振? 原因是这样的:原则上ATMEGA8L-8PU最高用的是8M晶振,但Arduino 中的所用M8平台的bootloader是基于ATMEGA8编译的,并且使用的是16M晶振;而我手头没有ATMEGA8的芯片(注意我用的芯片后面带个“
,并闪亮一个LED /
用Arduino编程具有简单易学的特点,但要配合Arduino控制板使用,使得成本比较高,体积也大,而且除单片机电路以外的大部分电路只在编程时有用,在电子制作上使用后就是多余的了,造成了浪费。能不能不用Arduino控制板,直接想办法用Arduino给单片机编程呢?答案是肯定的,只要做一个Arduino最小系统板,配合ISP下载线USBtinyISP或USBasp 就可以给AVR单片机下载程序了,Arduino最小系统板有一个锁紧座,方便单片机插上和取下,下载好程序的单片机就可以取下装到目标板上去使用了。 Arduino最小系统板电路见下图,适用于对ATmega8、ATmega168、ATmega328等型号的单片机编程。
系统板进行单片机编程 /
开源硬件是一个很火的项目,前有树莓派和Arduino,后有TI的BB-Black。这些开源硬件的ARM板在创客圈得到了极大的追捧。越来越多的芯片产商开始针对自家的CPU设计这样的软硬件开源板,意图在开源市场上跑马圈地。在这样的环境下,Atmel与Emebest合作推出了基于SAMA5D3处理器的官方评估板,即SAMA5D3 Xplained。 SAMA5D3 Xplained集成的是Atmel目前主推的一款处理器,采用ARM Cortex-A5架构,主频高达536MHz。也许大家看习惯了TI处理器动则1GHz的主频,觉得536MHz太小儿科,但如果对比Atmel以前的产品,比如之前卖的比较好的9G45,以及更早的9263系列分
源码 target=_blank
EEworld原创:大线- TI SimpleLink 平台新一代无线产品解决方案
有奖活动 来 Pl BridgeSwitch 技术中心探秘半桥电机驱动器新技术
Littelfuse 新品赋能电子产品安全可靠并高效, 10+挑战等你探索!
汽车计算机的设计者明白,驾驶员只能看仪表板显示屏几秒钟。由于汽车计算机的操作员也可能正在开车,因此汽车计算机给计算世界带来了新 ...
压缩机是汽车空调的一部分,它通过将制冷剂压缩成高温高压的气体,再流经冷凝器,节流阀和蒸发器换热,实现车内外的冷热交换。传统燃油车以 ...
艾瑞泽5的网关接口数据交换通常涉及车辆内部电子设备之间的信息传输,包括车身系统、娱乐系统、远程控制、车辆状态监控、CAN数据采集分析、 ...
摘要随着汽车行业转变为数据驱动的业务,软件在车辆的开发和维护中发挥了核心作用。随着软件数量的增加,相应的网络安全风险、责任和监管也 ...
前言本文介绍了汽车线束及其成本构成与现状。详细介绍了平台化和标准化设计、架构优化和控制器集成、线束布置优化、线束技术革新、物料一对 ...
FPGA/DSP总线与接口数据处理消费电子工业电子汽车电子其他技术存储技术综合资讯论坛电子百科词云: