基础实验——2个485传感器并接

基础实验——2个485传感器并接

  • 485并接实验
    • MR开发板
    • 单片机TTL转RS485模块
    • 噪声传感器模块——485信号
    • RS485 工业型土壤水分传感器
  • 测试代码,通过地址获取噪音和土壤模块的数据

RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。
RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。

多个485并联。通过地址去获取对应数据。比如我想测2个花园的土壤湿度,这时候需要2个485传感器。物联网基础呀,看看怎么用吧。

485并接实验

本次实验我用了2个485传感器。一个噪音一个土壤。别问为啥,问就是我手里就这2个485传感器.

MR开发板

在这里插入图片描述

单片机TTL转RS485模块

在这里插入图片描述
接线说明

开发板TTL转RS485模块
A3TXD
A2RXD
5v5v+
GNDGND

噪声传感器模块——485信号

在这里插入图片描述
接线说明

TTL转RS485模块噪音模块开发板
A+TXD_A
B-RXD_B
5v5V
GNDGND

RS485 工业型土壤水分传感器

在这里插入图片描述

接线说明

TTL转RS485模块土壤水分传感器开发板
A+TXD_A 黄色线
B-RXD_B 蓝色线
5v5V 红色线
GNDGND 绿色线

接线效果图:别怀疑,2个传感器都接到转换模块这里
在这里插入图片描述

测试代码,通过地址获取噪音和土壤模块的数据

挺简单的,就是别忘了每个传感器的延时,要设置一下。

# main.py -- put your code here!
from pyb import UART,delayu2 = UART(2, baudrate=9600)
u3 = UART(2, baudrate=9600)
barray_turang = bytearray([0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B])  #问询帧  #土壤地址1询问
barray_zaoyin = bytearray([0x02,0x03,0x00,0x00,0x00, 0x01,0x84,0x39])  #问询帧  #噪音地址2询问# 注意2个485传感器需要延时不同。
while True:u2.write(barray_zaoyin)delay(1000)  if(u2.any()):u2by=u2.read()        # 返回的是答应帧的内容aa=u2byfenbei=int.from_bytes(aa[3:5],'big') #高位在前  转换fenbei=fenbei/10print("dB",fenbei)u3.write(barray_turang)delay(1500) if(u3.any()):u3by=u3.read()        # 返回的是答应帧的内容bb=u3byshuifen = int.from_bytes(bb[3:5],'big')   # 土壤湿度shuifen=shuifen/100wendu = int.from_bytes(bb[5:7],'big')     # 土壤温度wendu = wendu/100print(shuifen,"%")print(wendu,"度")

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部