Libreria per expander PCF8574

Qualcuno ha provato questa libreria?

In compilazione ricevo molti errori.

Se guardi la data di aggiornamento: "2 years ago" quindi è un pò vecchiotta

nid69ita:
Se guardi la data di aggiornamento: "2 years ago" quindi è un pò vecchiotta

Non c'è molto di più recente:

2013

2012
http://jaerder.videmogroup.org/2012/06/23/new-ioexp-library-release/

Con queste due ho dei problemi a leggere un pin mentre
l'output vanno bene,

Non ho trovato altro.

busco:
Qualcuno ha provato questa libreria?

GitHub - skywodd/pcf8574_arduino_library: PCF8574 / PCF8575 Arduino library (version 2.0)

In compilazione ricevo molti errori.

Lo zip che scarichi ha una doppia libreria dentro, pcf8574 e pcf8575. Elimina la parte 8575 e porta la parte 8574 un livello di cartelle in meno
La lib in pratica è a 2 livelli così:

+pcf8574_arduino_library-master   cartella principale
+--pcf8574
+--pcf8575

Devi eliminare la sottocartella pcf8575 e tutto quello che c'e' in pcf8574 lo porti in quella principale

Poi l'errore unico che dà il demo è che la funzione toggle vuole un parametro intero mentre nel demo non passa parametri, prova ad aggiungere un parametro 0: expander.toggle(0);

/**
 * Toggle the state of a pin
 */
void toggle(uint8_t pin);

RISPLTO!

Il problema:
Facevo delle prove con un' altra libreria con header uguale PCF8574.h.
Penso sia questo il problema perchè dopo aver tolto l'altra libreria dalla cartella "libraries"
non ho più avuto problemi.

Questo semplice codice con un LED lampeggiante e uno comandato da un pulsante
funziona bene

Grazie IGOR.

#include <Wire.h>    // Required for I2C communication
#include "PCF8574.h" // Required for PCF8574

unsigned long antirip_led1;
int t_led1=500;
byte led1=0;
//PCF8574 instance
PCF8574 expander;

/** setup() */
void setup() {
  //Start I2C bus and PCF8574 instance
  expander.begin(0x26);
  //Setup some PCF8574 pins for demo
  expander.pinMode(1, OUTPUT);
  expander.pinMode(2, OUTPUT);
  expander.pinMode(3, INPUT_PULLUP);
  antirip_led1=millis();
}
//loop()
void loop() {
  if(millis()>antirip_led1+t_led1){
    if(led1==0){
      led1=1;
       expander.digitalWrite(1, HIGH);  //Spegne il LED sul pin 1.
    }else{  
      led1=0;
      expander.digitalWrite(1, LOW);   //Accende il LED sul pin 1.
    }
    antirip_led1=millis();  
  }
  if(expander.digitalRead(3)==0){    //Pulsante N.A. premuto.
    expander.digitalWrite(2, LOW);     //Accende il LED sul pin 2.
  }else{  
    expander.digitalWrite(2, HIGH);    //Spegne il LED sul pin 2.
  }  
}

busco:
Grazie IGOR.

Prego. ;D