Home Misc Projects Arduino and a PCF8574 port expander

Arduino and a PCF8574 port expander

by shedboy71

The PCF8574 is an 8 bits I/O port expander that uses the I2C protocol. Using this IC, you can use only the SDA and SCL pins of your Arduino board to control up to 8 digital I/O ports.

A0,A1,A2 are address pins
P0,P1,P2,P3,P4,P5,P6,P7 are digital I/O ports
SDA,SCL are the I2C pins

If we set pins A0 to A2 to GND, our device address in binary will be 0x20, thats exactly what I did in my example

pcf8574 pinout

pcf8574 pinout

Schematic

Note that the PCF8574 is a current sink device so you do not require the current limiting resistors but my test board had these , doesn’t do any harm just means the LEDs are a bit dimmer

Arduino and PCF8574

Arduino and PCF8574

Code

This example flashes

[codesyntax lang=”cpp”]

#include <Wire.h>

// address of PCF8574 IC
#define PCF8574_ADDR (0x20)

void setup() 
{
  Wire.begin();
}

void loop() 
{

  
  //send the data
  Wire.beginTransmission(PCF8574_ADDR);
  Wire.write(0xAA);
  Wire.endTransmission();
  delay(1000);
  Wire.beginTransmission(PCF8574_ADDR);
  Wire.write(0x55);
  Wire.endTransmission();
  delay(1000);
}

[/codesyntax]

 

Link

PCF8574 IO Expansion Board I/O Expander I2C Bus Evaluation Development Module

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More