基础实验——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模块 |
|---|---|
| A3 | TXD |
| A2 | RXD |
| 5v | 5v+ |
| GND | GND |
噪声传感器模块——485信号

接线说明
| TTL转RS485模块 | 噪音模块 | 开发板 |
|---|---|---|
| A+ | TXD_A | |
| B- | RXD_B | |
| 5v | 5V | |
| GND | GND |
RS485 工业型土壤水分传感器

接线说明
| TTL转RS485模块 | 土壤水分传感器 | 开发板 |
|---|---|---|
| A+ | TXD_A 黄色线 | |
| B- | RXD_B 蓝色线 | |
| 5v | 5V 红色线 | |
| GND | GND 绿色线 |
接线效果图:别怀疑,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,"度")

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