精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用您的Raspberry Pi控制多達(dá)65280個繼電器

使用您的Raspberry Pi控制多達(dá)65280個繼電器

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

資料介紹

描述

使用IO 擴(kuò)展器繼電器擴(kuò)展器可控制多達(dá) 65,280 個繼電器。

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

帶有單個 IO 擴(kuò)展器的控制繼電器。

pYYBAGNofrSAZc_2AA7Ayl1mZyk451.jpg
控制 64 個繼電器

功能列表

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

構(gòu)建中繼庫所需的零件

接線圖

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

注意:在上面的接線圖中,IO 擴(kuò)展器由第一個繼電器板供電所有繼電器擴(kuò)展器都由它們連接的繼電器板供電。

#!/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 擴(kuò)展器控制繼電器

另一種控制繼電器的方法是使用多個 IO 擴(kuò)展器。這使我們能夠?qū)?a target='_blank' class='arckwlink_none'>傳感器和繼電器分配到中央網(wǎng)絡(luò)或星形網(wǎng)絡(luò),但仍將所有 IO 擴(kuò)展器互連到單個串行總線上。如果您必須將 IO 擴(kuò)展器分離到 4000 英尺,則使用如下所示的IO 擴(kuò)展器和標(biāo)準(zhǔn)藍(lán)色 Cat5 網(wǎng)絡(luò)線。

pYYBAGNofsGAClabABCEEAqTGOU082.jpg
使用 IO 擴(kuò)展器的 64 個繼電器

接線圖

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

注意:在上面的接線圖中,所有的 IO 擴(kuò)展器都由第一個繼電器板通過串行總線供電。所有繼電器擴(kuò)展器都由它們連接的繼電器板供電。

#!/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 位標(biāo)記和空間奇偶校驗。唯一的問題是 Raspbian 操作系統(tǒng)也不支持標(biāo)記和空間奇偶校驗,因此對于使用BCM2711 (pg.186)的 Pi4,我們將不得不使用一些未記錄的代碼并使用由位 7 選擇的所謂的棒奇偶校驗(SPS) 在 LCRH 寄存器中。

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

默認(rèn)情況下,頭針 14 和 15 上的主串行端口使用不支持任何奇偶校驗位的 UART1 (MiniUART/ttyS0)。我們將不得不切換引腳以使用不同的 UART0 (ttyAMA0) 作為主串行端口。

為此,將以下行添加到 /boot/config.txt 文件中。

enable_uart=1
dtoverlay=disable-bt

同樣在控制臺上運(yùn)行以下命令,以斷開藍(lán)牙與 UART0 的連接。

pi@raspberrypi:~ $ sudo systemctl disable hciuart

用于設(shè)置 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()

那么為什么我需要控制這么多繼電器呢?

一種這樣的應(yīng)用是在 Aquaponics 或 Hydroponics 中。許多傳感器和設(shè)備需要自動化到每個種植床或單個植物。這需要極端的 IO,而 IO 擴(kuò)展器可以提供。

因此,立即獲取您的 IO 擴(kuò)展器并構(gòu)建您的系統(tǒng)!


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)