Skip to main content

Mcp23017 - Blinking LED example

This page contains an example for setting up a blinking LED via the I/O extender.


Connections for this example


Full example

In this example, we first include the library and create an instance of the board. Next, in the setup() function, we initialize the I2C communication with the I/O expander and set the pin mode for the GPA0 pin (we are using this pin for the LED). Finally, in the loop() function, we change the pin output every second:

// Include the board file
#include "MCP23017-SOLDERED.h"

// Create an instance of the board object
MCP_23017 mcp;

void setup()
{
// Initialize the board
mcp.begin();

// Set the pin to output
mcp.pinMode(GPA0, OUTPUT);
}

void loop()
{
// Blink the pin
mcp.digitalWrite(GPA0, HIGH);
delay(1000);

// Turn off the pin
mcp.digitalWrite(GPA0, LOW);
delay(1000);
}

mcp.begin()

Initializes the I/O extender via I2C

Returns value: None

mcp.pinMode(uint8_t pin, uint8_t mode)

Controls a single pin's direction

Returns value: None

Function parameters:

TypeNameDescription
uint8_tpinpin number
uint8_tmodeOUTPUT, INPUT or INPUT_PULLUP

mcp.digitalWrite(uint8_t pin, uint8_t state)

Sets the state for a specific pin

Returns value: None

Function parameters:

TypeNameDescription
uint8_tpinpin number
uint8_tstatestate in which to put the pin