资料介绍
描述
使用IO 扩展器和继电器扩展器可控制多达 65,280 个继电器。
需要在您的项目中添加大量继电器吗?然后您需要带有继电器扩展器的 IO 扩展器。每个 IO 扩展器最多可以控制 16 个菊花链继电器扩展器,总共 256 个继电器。然后将 255 个 IO 扩展器连接在一起,您可以选择性地控制多达 65,280 个继电器。
带有单个 IO 扩展器的控制继电器。
功能列表
- 使用价格低于 15 美元的 Arduino 16 继电器板。
- 易于使用的继电器控制命令。
- 一次控制一个单独的继电器或一个组。
- 无需驱动程序。节省代码空间。
- 没有数据空间来维持中继状态。
- 不需要额外的电源。
构建中继库所需的零件
接线图
注意:在上面的接线图中,IO 扩展器由第一个继电器板供电。所有继电器扩展器都由它们连接的继电器板供电。
#!/usr/bin/env python
import ioexpander
import time
ioexpander.ser.flushInput()
ioexpander.SerialCmdDone(b'eb4')
relay = 1
while 1:
cmd = b'e' + bytes(str(relay),'raw_unicode_escape') + b'f'
ioexpander.SerialCmdDone(cmd)
relay += 1
if relay > 64:
relay = 1
cmd = b'e' + bytes(str(relay),'raw_unicode_escape') + b'o'
ioexpander.SerialCmdDone(cmd)
time.sleep(0.1)
多个 IO 扩展器控制继电器
另一种控制继电器的方法是使用多个 IO 扩展器。这使我们能够将传感器和继电器分配到中央网络或星形网络,但仍将所有 IO 扩展器互连到单个串行总线上。如果您必须将 IO 扩展器分离到 4000 英尺,则使用如下所示的IO 扩展器和标准蓝色 Cat5 网络线。
接线图
注意:在上面的接线图中,所有的 IO 扩展器都由第一个继电器板通过串行总线供电。所有继电器扩展器都由它们连接的继电器板供电。
#!/usr/bin/env python
import ioexpander9bit
import time
MAX_BOARDS = 4
ioexpander9bit.ser.flushInput()
# set IO Expander to 9-bit
ioexpander9bit.ser.write(b'\0')
# switch to simulated 9-bit mode using SPACE and MARK parity
ioexpander9bit.SerialSPACEParity()
for board in range(1, MAX_BOARDS+1):
ioexpander9bit.SerialCmdDone(board, b'eb1')
board = 1
relay = 1
while 1:
cmd = b'e' + bytes(str(relay),'raw_unicode_escape') + b'f'
ioexpander9bit.SerialCmdDone(board, cmd)
relay += 1
if relay > 16:
relay = 1
board += 1
if board > MAX_BOARDS:
board = 1
cmd = b'e' + bytes(str(relay),'raw_unicode_escape') + b'o'
ioexpander9bit.SerialCmdDone(board, cmd)
time.sleep(0.1)
树莓派 9 位
Raspberry Pi 不支持 9 位,因此我们必须使用 8 位标记和空间奇偶校验。唯一的问题是 Raspbian 操作系统也不支持标记和空间奇偶校验,因此对于使用BCM2711 (pg.186)的 Pi4,我们将不得不使用一些未记录的代码并使用由位 7 选择的所谓的棒奇偶校验(SPS) 在 LCRH 寄存器中。
默认情况下,头针 14 和 15 上的主串行端口使用不支持任何奇偶校验位的 UART1 (MiniUART/ttyS0)。我们将不得不切换引脚以使用不同的 UART0 (ttyAMA0) 作为主串行端口。
为此,将以下行添加到 /boot/config.txt 文件中。
enable_uart=1
dtoverlay=disable-bt
同样在控制台上运行以下命令,以断开蓝牙与 UART0 的连接。
pi@raspberrypi:~ $ sudo systemctl disable hciuart
用于设置 MARK 或 SPACE 奇偶校验的 Python 代码。
import serial
import termios
ser = serial.Serial(
port='/dev/serial0',
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=5
)
# extra termios flags
CMSPAR = 0x40000000 # Use "stick" (mark/space) parity
# select SPACE parity to clear the address bit
def SerialSPACEParity():
iflag,oflag,cflag,lflag,ispeed,ospeed,cc = termios.tcgetattr(ser)
cflag |= termios.PARENB | CMSPAR
cflag &= ~termios.PARODD
termios.tcsetattr(ser, termios.TCSANOW, [iflag, oflag, cflag, lflag, ispeed, ospeed, cc])
# select MARK parity to set the address bit
def SerialMARKParity():
iflag,oflag,cflag,lflag,ispeed,ospeed,cc = termios.tcgetattr(ser)
cflag |= termios.PARENB | CMSPAR | termios.PARODD
termios.tcsetattr(ser, termios.TCSANOW, [iflag,oflag,cflag,lflag,ispeed,ospeed,cc])
# select the IO Expander board by setting the 9th or address bit
def SerialWriteBoard(board):
if board is not None and board > 0:
SerialMARKParity()
ser.write(bytes(chr(board),'raw_unicode_escape'))
SerialSPACEParity()
那么为什么我需要控制这么多继电器呢?
一种这样的应用是在 Aquaponics 或 Hydroponics 中。许多传感器和设备需要自动化到每个种植床或单个植物。这需要极端的 IO,而 IO 扩展器可以提供。
因此,立即获取您的 IO 扩展器并构建您的系统!
- 基于诺基亚5110的Raspberry Pi帽子 0次下载
- 将Raspberry Pi用于您自己的库存管理系统
- 在Raspberry Pi上通过网络控制LED
- 从Alexa控制Raspberry Pi(Linux设备)
- 在您的Raspberry Pi设备上使用BOLT云服务
- 树莓派 Raspberry Pi 设计的微控制器 RP2040迷你开发板Raspberry Pi Pico
- 直流继电器与交流继电器的原理与区别
- 可视频直播的Raspberry Pi网络控制机器人 14次下载
- 树莓派Raspberry Pi 4 Model B的电路原理图免费下载 409次下载
- 《爱上Raspberry Pi》中译版-电子书籍.pdf 0次下载
- 采用Raspberry Pi 3和扩展板对工业控制设计(附代码) 51次下载
- Instant Raspberry Pi Gaming 6次下载
- Raspberry_Pi详解 15次下载
- raspberry_pi各版本差别 0次下载
- Getting Started with Raspberry Pi 0次下载
- 固态继电器和电磁继电器的区别 634次阅读
- 浅谈PLC和继电器的控制方式 723次阅读
- 控制继电器的结构 699次阅读
- 使用Raspberry Pi Pico W和MicroPython开发物联网应用 1671次阅读
- 用于测试项目的4个最佳树莓派Raspberry Pi模拟器 5985次阅读
- 如何制作一个继电器操作定时通风机 1716次阅读
- 如何制作一个继电器操作的GPS定时风扇 1851次阅读
- 基于树莓派产品 Raspberry Pi微控制器板的优缺点 2710次阅读
- 继电器作业原理_继电器的接线图 2.6w次阅读
- 微雪电子Raspberry Pi 3 Model主板简介 2873次阅读
- PLC和继电器控制系统的对比 3164次阅读
- 控制继电器的作用是什么 8484次阅读
- 液位控制继电器怎么接_液位控制继电器接线图 3.8w次阅读
- 控制继电器详解_控制继电器的工作原理_控制继电器的作用是什么 1.2w次阅读
- 视觉享受!用Raspberry Pi实现圣诞树灯光秀 8127次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多