#include "clsPCA9555.h" #include #define PIN_LED_RED 11 #define PIN_LED_WHITE 12 #define PIN_LED_BLUE 13 #define PIN_INT_0x20 7 #define PIN_INT_0x21 10 int counter = 0; PCA9555 board_0x20(0x20, PIN_INT_0x20); //16 GPIO pins PCA9555 board_0x21(0x21, PIN_INT_0x21); //16 GPIO pins void setup() { Serial.swap(1); //Use alternate TX/RX positions Serial.begin(9600); pinMode(PIN_LED_RED, OUTPUT); pinMode(PIN_LED_WHITE, OUTPUT); pinMode(PIN_LED_BLUE, OUTPUT); // pinMode(PIN_INT_0x20, INPUT); // pinMode(PIN_INT_0x21, INPUT); //Start I2C board_0x20.begin(); board_0x21.begin(); //Set the I2C clock to 400kHz board_0x20.setClock(400000); board_0x21.setClock(400000); //Put all pins to input for (uint8_t i = 0; i <= 16; i++) { board_0x20.pinMode(i, INPUT_PULLUP); board_0x21.pinMode(i, INPUT_PULLUP); }//for i }//void setup void loop() { //Check the interrupt pin for a change int value = digitalRead(PIN_INT_0x20); if(value == LOW) { counter++; Serial.println(counter); }//if if (board_0x20.digitalRead(0) == LOW or board_0x21.digitalRead(0) == LOW) { digitalWrite(PIN_LED_RED, LOW); digitalWrite(PIN_LED_BLUE, HIGH); //Serial.println("0"); } else { digitalWrite(PIN_LED_BLUE, LOW); digitalWrite(PIN_LED_RED, HIGH); //Serial.println("1"); }//else }//void loop