資料介紹
描述
使用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次下載 | 免費
評論
查看更多