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

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

3天内不再提示

使用Arduino的无线传感器节点和远程数据接收器

要长高 来源:韬放科技 2023-10-15 15:20 次阅读

无线传感器节点是带有无线发射器的传感器节点。它具有一个或多个带有放大器信号调节电路或数字/智能传感器的传感元件、一个微控制器单元、调制器和带天线的发射器,以及一个电池。它由电池或太阳能供电,可感应温度、阳光、土壤湿度或震动等,并将信号传输到远程接收器

许多这样的传感器节点以固定距离放置在一个大的地理区域中以覆盖整个区域。它们都将数据发送到位于中央数据监控和存储系统中的接收器。所有传感器节点都定期传输数据(值)。接收器从所有这些节点接收数据并存储和显示它以用于监视和控制目的。

在农田中,自动灌溉系统有许多遍布整个农场的土壤湿度传感器节点。这些周期性地将土壤湿度水平传输到一个中央接收器,该接收器连接到监测和控制系统。如果某一特定区域的土壤湿度水平低于阈值水平,则该区域的水泵、电磁阀等将自动打开。因此,整个农场所需的土壤湿度水平得以维持。

在两国之间的边界处,可以将带有 PIR 接近传感器的传感器节点放置在固定距离处,以检测边界处的任何运动并向控制站发送警告/警报消息。

对于温室,需要保持适当的温度、湿度和阳光。因此,它配备了许多传感器节点,可以感知温室内不同位置的温度、湿度和阳光,并定期将数据发送到中央控制室。中央控制室根据收集的传感器数据增加/减少冷却、湿度或光照强度。

在该项目中,使用的多个传感器是数字湿度和温度传感器、感测环境光的光敏电阻器 (LDR) 和感测土壤水分含量的土壤湿度传感器。该项目还使用 Arduino Nano 作为微控制器 (MCU) 和 433MHz ASK RF 发射器模块。可以有很多这样的传感器节点,但这里只使用两个这样的节点。

接收器包括 433MHz ASK RF 接收器模块、实时时钟 (RTC) 模块和 Arduino Nano。两个传感器节点都传输温度、湿度、环境光和土壤含水量的感测值数据。接收器接收来自两个传感器的值(共八个值)并将它们提供给计算机,计算机显示这些值并存储以备将来使用。

如图 1 中项目的框图所示,有两个不同的部分——发射器(传感器节点)和远程数据接收器。传感器节点由不同的传感器、微控制器、射频发射器和电池组成。

图 1:项目框图

传感器

DHT11 是一种智能传感器,可感应周围的温度和湿度并将此数据发送到微控制器。LDR 感应环境光,土壤湿度传感器感应土壤水分含量。

微控制器

Arduino Nano 板用作微控制器,从所有三个传感器读取数据并使用 RF 发射器进行传输。

射频发射器

具有 433MHz 载波频率的基于 ASK 的射频发射器模块用于调制传感器数据并将其传输到接收器。

电池

6V 或 9V 电池用于为完整的传感器节点提供电源。

LED 闪烁表示传感器节点处于活动状态,并且正在传输数据。

远程数据接收器只有射频接收器模块和微控制器。

射频接收器

具有 433MHz 载波频率的基于 ASK 的 RF 接收器模块用于解调和接收由传感器节点的 RF 发射器模块传输的数据。

微控制器。Arduino Nano 板用作微控制器,从 RF 接收器模块获取数据并将其提供给计算机,计算机将其存储以备将来使用。

接收器中的 LED 闪烁表示接收器处于活动状态并且正在接收数据。

传感器节点(发射机)

图 2:无线传感器节点的电路图

如图2中传感器节点的电路图所示,发射器电路中只有五个主要组件:

1. 具有三个接口引脚的传感器 DHT11:Vcc、Gnd 和数据输出。Vcc 引脚由 Arduino 板提供 5V 电源,Gnd 引脚连接到公共地。数据输出引脚连接到 Arduino Nano 板的数字引脚 D10。它被上拉电阻R3拉高,如图2所示。

2. 土壤湿度传感器 SS1,具有三个接口引脚:Vcc、Gnd 和 A0。Vcc 引脚由 Arduino Nano 板提供 5V 电源,Gnd 引脚连接到公共地。SIG/A0 引脚是传感器的模拟输出,连接到 Arduino Nano 板的模拟输入引脚 A1。

3. LDR1,它与一个 10 千欧电阻器 (R2) 以下拉配置连接。它的输出连接到 Arduino Nano 板的模拟输入引脚 A0。

4. 433MHz 射频发射器模块 (TX1),具有四个接口引脚:Vcc、Gnd、Data 和 Antenna。Vcc 引脚连接到 Arduino 板的 5V 输出,Gnd 连接到公共地。数据引脚连接到 Arduino 板的数字引脚 D11。天线 (ANT.1) 由直径 1mm、长 35cm 的铜线(单芯)绕制而成,该铜线连接到天线引脚。

5. LED(LED1),通过限流电阻R1连接到数字引脚D12。

使用 9V 电池或稳压电源为 Arduino 板供电。Arduino 板的 Vin 引脚连接到电池,因此板载 7805 稳压芯片产生 5V 电源,提供给 DHT11 和 433MHz 射频发射器模块(TX1)。

传感器节点定期检测温度、湿度、土壤湿度和环境光并传输这些值。但是,如框图所示,可能有任意数量的传感器节点。他们都会传递他们的价值观。可能会发生多个节点同时传输数据的情况。另外,接收方如何知道接收到的数据来自哪个节点?

为了克服这些问题,所有传感器节点都在时间上同步,这样两个节点就不会同时传输。但如果发生这种情况,接收器将接受任何一个传感器数据。此外,所有节点都被分配了编号(例如,从 1 到 N)。在他们传输数据之前,他们传输他们的节点号。因此,接收器知道数据来自哪个传感器节点。

DHT11 传感器可提供准确且经过校准的温度和湿度测量值。它为两种测量提供直接的数字值。Arduino 微控制器读取这些值并将它们转换为字符形式 (ASCII)。

随着落在 LDR1 上的环境光增加,其电阻降低,模拟电压输出增加。因此,LDR1 的模拟输出电压与环境光成正比。Arduino 将此模拟电压转换为数字值(0 到 1023 之间)并将其映射到 0 到 99% 之间。最后,它将此百分比值转换为 ASCII 字符。

土壤水分传感器 (SS1) 产生与土壤水分含量成反比的模拟电压输出。这意味着它的输出电压随着土壤水分含量的增加而降低。Arduino 将此模拟电压转换为数字值(0 到 1023 之间)并将其映射到 0 到 99% 之间。最后,它将此百分比值转换为 ASCII 字符。

然后这些数据通过Arduino的引脚D11发送到RF发射器模块(TX1)。

TX1 得到这 10 个字符的字符串(我们可以称它为数据包),使用 433MHz 载波调制它并通过天线 ANT1 传输它。每次发送数据包时,微控制器都会使 LED1 闪烁以指示正在发送数据。此循环在每个设定的时间段(例如 10 秒)后不断重复。

远程数据接收器

图 3:远程数据接收器电路图

如图3远程数据接收器电路图所示,该接收器电路只有三个主要元件:

1. 433 MHz RF 接收器模块 RX1,具有四个接口引脚:Vcc、Gnd、数据输出和天线。Vcc 引脚连接到 Arduino 板的 5V 输出,Gnd 连接到公共地。数据引脚连接到 Arduino 板的数字引脚 D12。天线(ANT.2)与发射端相同,连接到天线引脚。

2、这里使用的RTC模块是DS1307 RTC芯片,有四个接口引脚:Vcc、Gnd、SDA和SCL。Vcc 引脚连接到 Arduino 板的 5V 输出,Gnd 连接到公共地。SDA 和 SCL 引脚用于面向 TWI (IIC) 字节的数据传输。它们分别连接到 Arduino Nano 板的 A4 (SDA) 和 A5 (SCL) 引脚。

3. LED(LED2),通过限流电阻R4连接到Arduino的数字引脚D10。

Arduino Nano 板和 RF RX1 模块通过 USB 电缆从中央存储系统计算机获得电源。Arduino Nano 板还使用相同的 USB 电缆记录数据并与计算机通信

远程数据接收器的工作和操作可以通过以下步骤来理解:

接收器首先检查 RTC 是否正在运行并给出正确的日期和时间。如果 RTC 正在运行,Arduino 会在串行监视器上显示当前时间。

RF RX1 模块从每个节点接收数据包。它解调这些数据包并将其提供给 Arduino 微控制器。

微控制器获取数据包并从每个数据包中提取所有四个值:环境光、土壤水分含量、温度和湿度以及节点编号。

它作为节点 x 通过 USB 串行发送以下数据到计算机:

土壤水分:XX %

光:XX%

湿度:XX%

温度:XX°C

微控制器使 LED2 闪烁以指示正在接收数据。

此外,每次 Arduino 从任何传感器节点获取数据时,它都会从 RTC 模块读取时间和日期并将其串行发送到计算机。因此,传感器节点数据值与时间和日期一起打印。

带有时间和日期的所有四个传感器数据值按顺序显示在串行监视器上。

任何时候从任何节点接收到的每个数据包都会重复此过程。由于所有节点在时间上同步,它们一个接一个地依次传输数据。

接收器从所有节点一一获取数据,并在设定的时间段后更新任何节点的读数。

首次打开 RTC 时,必须使用 rtc.adjust ( ) 函数(在程序中给出的注释)设置其当前日期和时间。一旦为 RTC 设置了日期和时间,我们必须再次从程序中注释掉 rtc.adjust ( ) 函数并再次上传程序。因此,接收器程序将在 Arduino Nano 板中上传两次。

有两个源代码:用于传感器节点的 Labtesttxnode.ino 代码和用于接收器的 LabtestRx.ino 代码。Board1 中的 Labtesttxnode.ino 代码用于从传感器收集数据并处理数据。Board2 中的 LabtestRx.ino 代码用于在串口监视器上显示节点传输的时间、日期和状态。在上传源代码之前,您需要包含相关库 DHT.zip、RTClib.zip 和 VirtualWire.zip。

构建和测试

变送器(传感器节点)的实际尺寸 PCB 布局如图 4 所示,其元件布局如图 5 所示。在 PCB 上组装电路后,将 9V DC 连接到 CON1。

图 4:传感器节点的 PCB 布局

图 5:图 4 中 PCB 的元件布局

接收器的实际尺寸 PCB 布局如图 6 所示,其元件布局如图 7 所示。 在 PCB 上组装电路后,将电路板连接到笔记本电脑或台式计算机,以串行方式监控从各个节点发送的数据在 Arduino IDE 中监控。

图 6:接收器的 PCB 布局

图 7:图 6 中 PCB 的元件布局

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

    关注

    14

    文章

    2214

    浏览量

    70668
  • 节点
    +关注

    关注

    0

    文章

    208

    浏览量

    24078
  • 无线传感器
    +关注

    关注

    15

    文章

    767

    浏览量

    98048
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184834
收藏 人收藏

    评论

    相关推荐

    无线鼠标和接收器是一对一的关系吗?无线鼠标键盘的接收器丢了怎么办?

    无线鼠标和接收器是一对一的关系吗?无线鼠标键盘的接收器丢了怎么办? 关于无线鼠标和接收器的一对一
    的头像 发表于 10-30 10:56 2149次阅读

    Silicon Labs无线接收器Si4355可以同时支持传输速率为2.4/9.6Kbps的数据吗?

    Silicon Labs无线接收器Si4355可以同时支持传输速率为2.4/9.6Kbps的数据吗?
    发表于 10-28 08:25

    无线传感器网络远程监测节点的功能扩展电路

    电子发烧友网站提供《无线传感器网络远程监测节点的功能扩展电路.pdf》资料免费下载
    发表于 10-23 10:15 0次下载
    <b class='flag-5'>无线</b><b class='flag-5'>传感器</b>网络<b class='flag-5'>远程</b>监测<b class='flag-5'>节点</b>的功能扩展电路

    如何采用各类技术实现无线传感器网络节点的设计?

    无线传感器网络节点无线传感器网络的重要组成部分,它由传感器
    的头像 发表于 10-10 09:36 435次阅读
    如何采用各类技术实现<b class='flag-5'>无线</b><b class='flag-5'>传感器</b>网络<b class='flag-5'>节点</b>的设计?

    一种ZigBee无线传感器网络节点的设计

    电子发烧友网站提供《一种ZigBee无线传感器网络节点的设计.pdf》资料免费下载
    发表于 10-09 09:16 1次下载
    一种ZigBee<b class='flag-5'>无线</b><b class='flag-5'>传感器</b>网络<b class='flag-5'>节点</b>的设计

    无线传感器网络数据融合路由算法分析

    由于无线传感器网络中节点的能量十分有限,因此在设计各种网络协议时必须考虑节能。采用网内数据处理技术是降低能耗的重要手段,而数据融合与
    发表于 09-21 08:29

    无线传感器网络数据融合技术研究与仿真

    无线传感器网络(wircless sensor network, wSN)是一种无基础设施的无线网络,最初来源于美国DARPA的研究项目,它综合了传感器技术.嵌入式计算技术、分布式信息
    发表于 09-21 08:18

    无线传感器网络中几种无线通信技术比较分析

    无线传感器(Wireless Sensor Network,wSN)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的
    发表于 09-20 08:22

    BCM4775X带集成传感器的GNSS接收器枢纽

    电子发烧友网站提供《BCM4775X带集成传感器的GNSS接收器枢纽.pdf》资料免费下载
    发表于 07-24 18:21 2次下载
    BCM4775X带集成<b class='flag-5'>传感器</b>的GNSS<b class='flag-5'>接收器</b>枢纽

    如何制作基于Arduino的IR接收器

    在这里,将展示如何制作基于Arduino的IR接收器,以解码来自TV/DVD遥控器的IR信号。根据与遥控器上特定按钮对应的解码值,我们将对Arduino进行编程以控制多个继电器开关。
    的头像 发表于 07-10 14:20 775次阅读
    如何制作基于<b class='flag-5'>Arduino</b>的IR<b class='flag-5'>接收器</b>?

    如何通过wifi传输传感器数据到mac?

    如何进行?是否可以对 huzzah 进行编程以完成所有工作?即做范围传感器并传输数据,或者我是否必须让 arduino 做范围的东西并将其传输到 huzzah,然后将其传输到计算机? 我猜我要使用一些 udp 传输?我在哪里可以
    发表于 06-12 06:55

    求分享实现一个i2c演示示例来接收来自传感器数据

    我正在实现一个 i2c 演示示例来接收来自传感器数据, s32k144 将充当主机,传感器充当从机, 我尝试使用示例代码,但我发现的只是主发送代码, 是否有可用的简单主
    发表于 06-02 06:25

    如何用传感器、显示等装备ESP,并使用Arduino IDE或MicroPython对它们进行编程?

    我有 4-5 个带有小型 OLED 和传感器读取数据的 ESP8266。在未来,带有传感器/屏幕的 ESP 的数量可能会增长到 12-15 个。 我想从单个集线器(Raspberry Pi 或
    发表于 06-01 08:07

    可以使用哪些传感器来传输无线电波信号?

    我想知道我可以使用哪些传感器来传输无线电波信号,例如定位传输的 90Hz 和 150Hz 无线电波信号,以引导飞机通过跑道中心线。哪些传感器
    发表于 05-22 09:08

    如何使用ESP8266和ESP NOW的无线传感器网络?

    个控制联网! 在大约 1 秒内,控制读取传感器,从前面的控制接收数据并将
    发表于 05-19 08:20