色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>使用您的Raspberry Pi控制多達65280個繼電器

使用您的Raspberry Pi控制多達65280個繼電器

2022-11-09 | zip | 2.77 MB | 次下載 | 2積分

資料介紹

描述

使用IO 擴展器繼電器擴展器可控制多達 65,280 個繼電器。

需要在您的項目中添加大量繼電器嗎?然后您需要帶有繼電器擴展器的 IO 擴展器。每個 IO 擴展器最多可以控制 16 個菊花鏈繼電器擴展器,總共 256 個繼電器。然后將 255 個 IO 擴展器連接在一起,您可以選擇性地控制多達 65,280 個繼電器。

帶有單個 IO 擴展器的控制繼電器。

pYYBAGNofrSAZc_2AA7Ayl1mZyk451.jpg
控制 64 個繼電器

功能列表

  • 使用價格低于 15 美元的 Arduino 16 繼電器板。
  • 易于使用的繼電器控制命令。
  • 一次控制一個單獨的繼電器或一個組。
  • 無需驅動程序。節省代碼空間。
  • 沒有數據空間來維持中繼狀態。
  • 不需要額外的電源。

構建中繼庫所需的零件

接線圖

poYBAGNofrmAS21UAAfoIAQM4mQ152.jpg
64 個繼電器的接線
?

注意:在上面的接線圖中,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 網絡線。

pYYBAGNofsGAClabABCEEAqTGOU082.jpg
使用 IO 擴展器的 64 個繼電器

接線圖

poYBAGNofsaAJ3FpAAizYDHMAJM599.jpg
使用多個 IO 擴展器為繼電器接線
?

注意:在上面的接線圖中,所有的 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 寄存器中。

pYYBAGNofsqAY8x9AAAqEGSfo5U017.png
樹莓派奇偶校驗表
?

默認情況下,頭針 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 擴展器并構建您的系統!


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 国产日韩欧美高清免费视频| 最近中文字幕高清中文| 日本伦理电影聚| 女人麻豆国产香蕉久久精品| 久久精品视频91| 精品久久久久中文字幕| 国产曰韩无码亚洲视频| 国产小视频免费看| 国产精品亚洲视频在线观看| 丰满艳妇亲伦| 动漫美女被h动态图| 国产AV亚洲精品久久久久软件| 第一次破女初国产美女| 成人精品亚洲| 俄罗斯孩交精品| 国产36d在线观看| 国产成人欧美日韩在线电影| 沟沟人体一区二区| 国产精品一区二区三区免费| 国产精品一国产精品免费| 国产私拍福利精品视频| 国内自拍 在线 亚洲 欧美| 娇妻玩4P被三个男人伺候电影 | 试看做受120秒免费午夜剧场| 日韩人妻精品久久日| 天天看高清影视在线18| 亚州综合网| 一区二区不卡在线视频| 91国偷自产一区二区三区| 阿离被扒开双腿疯狂输出| 国产AV99激情久久无码天堂| 国产精选视频在线观看| 灰原哀被啪漫画禁漫| 久久夜色撩人精品国产| 嫩交18xxxx| 色综合久久天天影视网| 亚洲精品久久无码AV片银杏| 中国农村真实bbwbbwbbw| 99精品99| 国产精品无码久久av| 久久AV亚洲精品一区无码网|