08-05-2022, 02:09 AM
[Arduino IDE demo source code for KC868-A128]--#02--PCF8575-DI code
Code:
#include "Arduino.h"
#include "PCF8575.h"
// Set i2c address
PCF8575 pcf8575_IN1(0x24,15,4);
PCF8575 pcf8575_IN2(0x25,15,4);
PCF8575 pcf8575_IN3(0x21,15,4);
PCF8575 pcf8575_IN4(0x22,15,4);
PCF8575 pcf8575_IN5(0x26,15,4);
PCF8575 pcf8575_IN6(0x27,15,4);
PCF8575 pcf8575_IN7(0x20,15,4);
PCF8575 pcf8575_IN8(0x23,15,4);
unsigned long timeElapsed;
void setup()
{
Serial.begin(115200);
pcf8575_IN1.begin();
pcf8575_IN2.begin();
pcf8575_IN3.begin();
pcf8575_IN4.begin();
pcf8575_IN5.begin();
pcf8575_IN6.begin();
pcf8575_IN7.begin();
pcf8575_IN8.begin();
pcf8575_IN1.pinMode(P0,INPUT);
pcf8575_IN1.pinMode(P1,INPUT);
pcf8575_IN1.pinMode(P2,INPUT);
pcf8575_IN1.pinMode(P3,INPUT);
pcf8575_IN1.pinMode(P4,INPUT);
pcf8575_IN1.pinMode(P5,INPUT);
pcf8575_IN1.pinMode(P6,INPUT);
pcf8575_IN1.pinMode(P7,INPUT);
pcf8575_IN1.pinMode(P8,INPUT);
pcf8575_IN1.pinMode(P9,INPUT);
pcf8575_IN1.pinMode(P10,INPUT);
pcf8575_IN1.pinMode(P11,INPUT);
pcf8575_IN1.pinMode(P12,INPUT);
pcf8575_IN1.pinMode(P13,INPUT);
pcf8575_IN1.pinMode(P14,INPUT);
pcf8575_IN1.pinMode(P15,INPUT);
pcf8575_IN2.pinMode(P0,INPUT);
pcf8575_IN2.pinMode(P1,INPUT);
pcf8575_IN2.pinMode(P2,INPUT);
pcf8575_IN2.pinMode(P3,INPUT);
pcf8575_IN2.pinMode(P4,INPUT);
pcf8575_IN2.pinMode(P5,INPUT);
pcf8575_IN2.pinMode(P6,INPUT);
pcf8575_IN2.pinMode(P7,INPUT);
pcf8575_IN2.pinMode(P8,INPUT);
pcf8575_IN2.pinMode(P9,INPUT);
pcf8575_IN2.pinMode(P10,INPUT);
pcf8575_IN2.pinMode(P11,INPUT);
pcf8575_IN2.pinMode(P12,INPUT);
pcf8575_IN2.pinMode(P13,INPUT);
pcf8575_IN2.pinMode(P14,INPUT);
pcf8575_IN2.pinMode(P15,INPUT);
pcf8575_IN3.pinMode(P0,INPUT);
pcf8575_IN3.pinMode(P1,INPUT);
pcf8575_IN3.pinMode(P2,INPUT);
pcf8575_IN3.pinMode(P3,INPUT);
pcf8575_IN3.pinMode(P4,INPUT);
pcf8575_IN3.pinMode(P5,INPUT);
pcf8575_IN3.pinMode(P6,INPUT);
pcf8575_IN3.pinMode(P7,INPUT);
pcf8575_IN3.pinMode(P8,INPUT);
pcf8575_IN3.pinMode(P9,INPUT);
pcf8575_IN3.pinMode(P10,INPUT);
pcf8575_IN3.pinMode(P11,INPUT);
pcf8575_IN3.pinMode(P12,INPUT);
pcf8575_IN3.pinMode(P13,INPUT);
pcf8575_IN3.pinMode(P14,INPUT);
pcf8575_IN3.pinMode(P15,INPUT);
pcf8575_IN4.pinMode(P0,INPUT);
pcf8575_IN4.pinMode(P1,INPUT);
pcf8575_IN4.pinMode(P2,INPUT);
pcf8575_IN4.pinMode(P3,INPUT);
pcf8575_IN4.pinMode(P4,INPUT);
pcf8575_IN4.pinMode(P5,INPUT);
pcf8575_IN4.pinMode(P6,INPUT);
pcf8575_IN4.pinMode(P7,INPUT);
pcf8575_IN4.pinMode(P8,INPUT);
pcf8575_IN4.pinMode(P9,INPUT);
pcf8575_IN4.pinMode(P10,INPUT);
pcf8575_IN4.pinMode(P11,INPUT);
pcf8575_IN4.pinMode(P12,INPUT);
pcf8575_IN4.pinMode(P13,INPUT);
pcf8575_IN4.pinMode(P14,INPUT);
pcf8575_IN4.pinMode(P15,INPUT);
pcf8575_IN5.pinMode(P0,INPUT);
pcf8575_IN5.pinMode(P1,INPUT);
pcf8575_IN5.pinMode(P2,INPUT);
pcf8575_IN5.pinMode(P3,INPUT);
pcf8575_IN5.pinMode(P4,INPUT);
pcf8575_IN5.pinMode(P5,INPUT);
pcf8575_IN5.pinMode(P6,INPUT);
pcf8575_IN5.pinMode(P7,INPUT);
pcf8575_IN5.pinMode(P8,INPUT);
pcf8575_IN5.pinMode(P9,INPUT);
pcf8575_IN5.pinMode(P10,INPUT);
pcf8575_IN5.pinMode(P11,INPUT);
pcf8575_IN5.pinMode(P12,INPUT);
pcf8575_IN5.pinMode(P13,INPUT);
pcf8575_IN5.pinMode(P14,INPUT);
pcf8575_IN5.pinMode(P15,INPUT);
pcf8575_IN6.pinMode(P0,INPUT);
pcf8575_IN6.pinMode(P1,INPUT);
pcf8575_IN6.pinMode(P2,INPUT);
pcf8575_IN6.pinMode(P3,INPUT);
pcf8575_IN6.pinMode(P4,INPUT);
pcf8575_IN6.pinMode(P5,INPUT);
pcf8575_IN6.pinMode(P6,INPUT);
pcf8575_IN6.pinMode(P7,INPUT);
pcf8575_IN6.pinMode(P8,INPUT);
pcf8575_IN6.pinMode(P9,INPUT);
pcf8575_IN6.pinMode(P10,INPUT);
pcf8575_IN6.pinMode(P11,INPUT);
pcf8575_IN6.pinMode(P12,INPUT);
pcf8575_IN6.pinMode(P13,INPUT);
pcf8575_IN6.pinMode(P14,INPUT);
pcf8575_IN6.pinMode(P15,INPUT);
pcf8575_IN6.pinMode(P0,INPUT);
pcf8575_IN6.pinMode(P1,INPUT);
pcf8575_IN6.pinMode(P2,INPUT);
pcf8575_IN6.pinMode(P3,INPUT);
pcf8575_IN6.pinMode(P4,INPUT);
pcf8575_IN6.pinMode(P5,INPUT);
pcf8575_IN6.pinMode(P6,INPUT);
pcf8575_IN6.pinMode(P7,INPUT);
pcf8575_IN6.pinMode(P8,INPUT);
pcf8575_IN6.pinMode(P9,INPUT);
pcf8575_IN6.pinMode(P10,INPUT);
pcf8575_IN6.pinMode(P11,INPUT);
pcf8575_IN6.pinMode(P12,INPUT);
pcf8575_IN6.pinMode(P13,INPUT);
pcf8575_IN6.pinMode(P14,INPUT);
pcf8575_IN6.pinMode(P15,INPUT);
pcf8575_IN7.pinMode(P0,INPUT);
pcf8575_IN7.pinMode(P1,INPUT);
pcf8575_IN7.pinMode(P2,INPUT);
pcf8575_IN7.pinMode(P3,INPUT);
pcf8575_IN7.pinMode(P4,INPUT);
pcf8575_IN7.pinMode(P5,INPUT);
pcf8575_IN7.pinMode(P6,INPUT);
pcf8575_IN7.pinMode(P7,INPUT);
pcf8575_IN7.pinMode(P8,INPUT);
pcf8575_IN7.pinMode(P9,INPUT);
pcf8575_IN7.pinMode(P10,INPUT);
pcf8575_IN7.pinMode(P11,INPUT);
pcf8575_IN7.pinMode(P12,INPUT);
pcf8575_IN7.pinMode(P13,INPUT);
pcf8575_IN7.pinMode(P14,INPUT);
pcf8575_IN7.pinMode(P15,INPUT);
pcf8575_IN8.pinMode(P0,INPUT);
pcf8575_IN8.pinMode(P1,INPUT);
pcf8575_IN8.pinMode(P2,INPUT);
pcf8575_IN8.pinMode(P3,INPUT);
pcf8575_IN8.pinMode(P4,INPUT);
pcf8575_IN8.pinMode(P5,INPUT);
pcf8575_IN8.pinMode(P6,INPUT);
pcf8575_IN8.pinMode(P7,INPUT);
pcf8575_IN8.pinMode(P8,INPUT);
pcf8575_IN8.pinMode(P9,INPUT);
pcf8575_IN8.pinMode(P10,INPUT);
pcf8575_IN8.pinMode(P11,INPUT);
pcf8575_IN8.pinMode(P12,INPUT);
pcf8575_IN8.pinMode(P13,INPUT);
pcf8575_IN8.pinMode(P14,INPUT);
pcf8575_IN8.pinMode(P15,INPUT);
}
void loop()
{
uint16_t var_rcv = 0;
var_rcv = pcf8575_IN1.digitalReadAll();
if ((pcf8575_IN1.digitalReadAll())!=65535)
{
Serial.print("input16-input1 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN2.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input32-input17 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN3.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input48-input33 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN4.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input64-input49 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN5.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input80-input65 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN6.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input96-input81 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN7.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input112-input97 state:");
Serial.println(var_rcv,BIN);
}
var_rcv = pcf8575_IN8.digitalReadAll();
if (var_rcv!=65535)
{
Serial.print("input128-input113 state:");
Serial.println(var_rcv,BIN);
}
delay(500);
}