
RPI-MCP23S17
此Python模块将GPIO扩展器MCP23S17摘要用于Raspberry Pi。
4
Github Watches
11
Github Forks
13
Github Stars
RPiMCP23S17
This is a Python module that abstracts the GPIO expander MCP23S17. It is intended for the use on a Raspberry Pi.
Provided Functions
As a quick overview, the module provides the following functions. Refer to the module documentation for details:
- open
- close
- setPullupMode
- setDirection
- digitalRead
- digitalWrite
- writeGPIO
- readGPIO
Installation
If not already done, you need to install PIP via::
sudo apt-get install python-dev python-pip
Install from PyPI <https://pypi.python.org/pypi/RPiMCP23S17>
_::
pip install RPiMCP23S17
Example
The following demo peridically toggles all pins of two MCP23S17 components::
from RPiMCP23S17.MCP23S17 import MCP23S17
import time
mcp1 = MCP23S17(bus=0x00, pin_cs=0x00, device_id=0x00)
mcp2 = MCP23S17(bus=0x00, pin_cs=0x00, device_id=0x01)
mcp1.open()
mcp2.open()
for x in range(0, 16):
mcp1.setDirection(x, mcp1.DIR_OUTPUT)
mcp2.setDirection(x, mcp1.DIR_OUTPUT)
print "Starting blinky on all pins (CTRL+C to quit)"
while (True):
for x in range(0, 16):
mcp1.digitalWrite(x, MCP23S17.LEVEL_HIGH)
mcp2.digitalWrite(x, MCP23S17.LEVEL_HIGH)
time.sleep(1)
for x in range(0, 16):
mcp1.digitalWrite(x, MCP23S17.LEVEL_LOW)
mcp2.digitalWrite(x, MCP23S17.LEVEL_LOW)
time.sleep(1)
# the lines below essentially have the same effect as the lines above
mcp1.writeGPIO(0xFFF)
mcp2.writeGPIO(0xFFF)
time.sleep(1)
mcp1.writeGPIO(0x0)
mcp2.writeGPIO(0x0)
time.sleep(1)
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Take an adjectivised noun, and create images making it progressively more adjective!
Siri Shortcut Finder – your go-to place for discovering amazing Siri Shortcuts with ease
Reviews

user_meQswraE
As a loyal user of the RPi-MCP23S17 by petrockblog, I am incredibly impressed with its performance and ease of use. This GPIO expander has greatly extended the functionality of my Raspberry Pi projects, making it simple to manage additional inputs and outputs. The detailed documentation and active community on GitHub have been invaluable resources. Highly recommend it!