Use an PCF8574AP I/O-Expander with Xadow

Xadow series products.

Moderators: lily.li, violet, jessie, nosk

Post Reply
User avatar
avoid
Pre-kindergarten
Pre-kindergarten
Posts: 12
Joined: Mon Apr 06, 2015 5:42 pm

Use an PCF8574AP I/O-Expander with Xadow

Post by avoid » Sat Apr 11, 2015 3:51 pm

I have made with the PCF8574AP and Xadow breakout a try. it works well.
Here is my example code and an Image.
The code comments are in German, please try using Google translate or similar, if you want to understand it.

Code: Select all

/*
 PCF8574AP DIL-16 8-Bit-Portexpander über i2c.
 --------------------------------
 Beim PCF8574AP ist HIGH ein PWM-Signal (oder so ähnlich) mit max. 1,5V.
 LOW ist über einen Transistor gegen Masse gelegt.
 Also sollte man einen Verbraucher zwischen den IC-Pin und Plus schalten (invertierte Logik "LOW = LED-AN").
 So hat man die vollen 3,3V oder 5V der Versorgungsspannung zur Verfügung.
 */
 
#include <Wire.h>                           // Library für i2c-Bus.
#define I2C_PEXPANDER 0x38                   // Adresse 0x38 = LOW,LOW,LOW

void setup() {
  Wire.begin();                             // aktiviert den i2c-Bus.
  Serial.begin(9600);                       // aktiviert den Seriellen Ausgang und stellt die Baudrate auf 9600.
  //while(!Serial);                           // wartet auf Serial Monitor
  delay(2000);                              // lässt das Programm für 2000ms warten.
  //Serial.println("Start");                  // gibt einen String aus.
}

void loop() {
  Wire.beginTransmission(I2C_PEXPANDER);     // Startet das Senden an I2C_PEXPANDER.
  Wire.write(B00000000);                    // Alle Pins LOW also an. (P7,P6,P5,P4,P3,P2,P1,P0)
  Wire.endTransmission();                   // Beenden der Verbindung
  Serial.println("an");                     // gibt einen String aus.
  delay(500);                               // lässt das Programm für 500ms warten.
  Wire.beginTransmission(I2C_PEXPANDER);    // Startet das Senden an I2C_PEXPANDER.
  Wire.write(B11111111);                    // Alle Pins HIGH also aus. (P7,P6,P5,P4,P3,P2,P1,P0)
  Wire.endTransmission();                   // Beenden der Verbindung
  Serial.println("aus");                    // gibt einen String aus.
  delay(500);                               // lässt das Programm für 500ms warten.
}
Good questions are like a science experiment. They put a lot of knowledge ahead already.
bitcoin:1J5dgQQp8eUy8wkUxyztBUVCkCpo5MQEQs?label=Thanks

Post Reply