Waveshare MCP23017 IO Expansion Board

Waveshare MCP23017 IO Expansion Board Instruction Manual

Model: MCP23017 IO Expansion Board

1. 서론

The Waveshare MCP23017 IO Expansion Board is an I2C-controlled module designed to expand the input/output capabilities of various microcontrollers. It converts two signal pins into 16 additional I/O pins, making it suitable for projects requiring more digital I/O. This board supports both 3.3V and 5V logic levels, ensuring broad compatibility. Up to eight of these boards can be stacked, providing a total of 128 I/O pins for complex applications.

This manual provides essential information for setting up, operating, and maintaining your MCP23017 IO Expansion Board.

Waveshare MCP23017 IO Expansion Board, top view

그림 1: 상단 view of the MCP23017 IO Expansion Board.

2. 특징

  • I2C Controlled: Expands 2 signal pins to 16 I/O pins.
  • 권tage 호환성: 온보드 볼륨tage translator supports both 3.3V and 5V logic levels.
  • 주소 구성: I2C address configurable by shorting A0/A1/A2 jumpers, allowing up to 8 boards to be stacked.
  • 커넥터 옵션: Provides both PH2.0 terminal and solder pad options for flexible integration.
  • Interrupt Pins: Includes INTA and INTB interrupt pins for event-driven applications.
  • 컴팩트한 디자인: Dimensions of 38mm × 23mm with 2.0mm mounting holes.

3. 설정

3.1 물리적 연결

Connect the MCP23017 IO Expansion Board to your microcontroller using the I2C interface. The essential connections are:

  • VCC: Power supply (3.3V or 5V, matching your microcontroller's logic level).
  • GND : 접지 연결.
  • SDA: I2C 데이터 라인.
  • SCL: I2C 클록 라인.

Ensure that the VCC supplied to the board matches the logic level of your microcontroller to prevent damage.

맨 위 view of MCP23017 board showing VCC, GND, SDA, SCL pins and I/O ports

Figure 2: Pinout for VCC, GND, SDA, SCL, and I/O ports.

3.2 I2C Address Configuration

The MCP23017 chip allows for address configuration using three jumpers: A0, A1, and A2. By default, these jumpers are open, setting the I2C address to 0x20. Shorting these jumpers to GND changes the address. Each jumper corresponds to a bit in the I2C address, allowing up to 8 unique addresses (0x20 to 0x27) for stacking multiple boards.

  • A0: Controls the least significant bit of the address.
  • A1: Controls the middle bit of the address.
  • A2: Controls the most significant bit of the address.

Refer to the MCP23017 datasheet for a detailed address table based on jumper configurations.

Close-up of MCP23017 board showing A0, A1, A2 address jumpers

Figure 3: Location of A0, A1, A2 address configuration jumpers.

3.3 Stacking Multiple Boards

To use multiple MCP23017 boards, each board must have a unique I2C address. Configure the A0, A1, and A2 jumpers on each board to assign a distinct address. Connect the VCC, GND, SDA, and SCL lines of all boards in parallel to your microcontroller. The PH2.0 terminal and solder pads facilitate easy stacking and connection.

4. 사용 설명서

Once physically connected and addressed, the MCP23017 board can be controlled via I2C commands from your microcontroller. The 16 I/O pins are divided into two 8-bit ports, Port A (PA0-PA7) and Port B (PB0-PB7).

  • 핀 방향: Each I/O pin can be configured individually as an input or output.
  • Input/Output Operations: Read digital states from input pins or write digital states to output pins.
  • 인터럽트: The INTA and INTB pins can be configured to signal the microcontroller when a change occurs on specific input pins, reducing the need for continuous polling.

자세한 프로그래밍 예시는 다음과 같습니다.amples and libraries compatible with Raspberry Pi, micro:bit, Arduino, and STM32, please refer to the official development resources:

Online User Manual/Schematic/Code/Datasheets

PH2.0 6-pin cable included with the MCP23017 board

Figure 4: Included PH2.0 6-pin cable for connections.

5. 유지관리

The MCP23017 IO Expansion Board is a robust electronic component, but proper handling and care will ensure its longevity:

  • 청결: 보드에 먼지와 이물질이 묻지 않도록 하십시오. 청소할 때는 부드럽고 마른 브러시나 압축 공기를 사용하십시오.
  • 손질: Avoid touching the electronic components directly, especially the pins, to prevent electrostatic discharge (ESD) damage. Handle the board by its edges.
  • 저장: Store the board in an anti-static bag when not in use, in a cool, dry environment.
  • 전원 공급 장치: 항상 올바른 볼륨을 확인하세요.tage (3.3V or 5V) is applied to VCC. Incorrect voltag기판에 영구적인 손상을 줄 수 있습니다.

6. 문제 해결

If you encounter issues with your MCP23017 IO Expansion Board, consider the following troubleshooting steps:

  • 통신 없음:
    • Verify all physical connections (VCC, GND, SDA, SCL) are secure and correct.
    • Check the I2C address configuration (A0, A1, A2 jumpers) and ensure it matches the address used in your code.
    • 전원 공급 장치 볼륨tage is correct (3.3V or 5V) and stable.
    • Ensure your microcontroller's I2C bus is properly initialized and functioning.
  • 잘못된 입출력 동작:
    • Double-check your code for correct pin direction configuration (input/output).
    • Verify that you are reading from/writing to the correct port (Port A or Port B) and pin numbers.
    • If using interrupts, ensure the interrupt configuration and handling routine in your code are correct.
  • 보드 전원이 켜지지 않음:
    • Check the VCC and GND connections for continuity and correct polarity.
    • Test your power supply to ensure it is providing the expected voltage.

For further assistance, consult the online development resources linked in the Operating Instructions section.

7. 사양

사양
모델명MCP23017 IO Expansion Board
제조업체웨이브셰어
운영 볼륨tage3.3V / 5V
인터페이스I2C
Expansion I/Os16 (8 for Port A, 8 for Port B)
인터럽트 핀INTA, INTB
I2C Address Range0x20 - 0x27 (configurable)
차원38mm × 23mm
장착 구멍 크기2.0mm
한국어:778365986900

8. 지원

For comprehensive technical support, including detailed schematics, example code, and datasheets, please visit the official Waveshare development resources:

Waveshare Online Resources for MCP23017 IO Expansion Board

These resources provide examples for various platforms such as Raspberry Pi, micro:bit, Arduino, and STM32, to assist you in integrating the board into your projects.

Ask a question about this manual

Ask about setup, troubleshooting, compatibility, parts, safety, or missing instructions. Manuals+ will review the question and use this page’s manual context to help answer it.