PCF 8574 Errores en compilación y carga

Hola a todos:

Hace tiempo que vengo batallando con programas basados en I2C y el modulo expansor PCF8574.

No comprendo que utilizando la librería oficial del github PCF8574.h y viendo en videos que si funcionan, siempre me dan los errores que os adjunto, y también al final del código.

….error: la clase 'PCF8574' no tiene ningún miembro llamado 'digitalWrite'….

error: la clase 'PCF8574' no tiene ningún miembro llamado 'pinMode'…

Un saludo !!! …:cocktail_glass::cocktail_glass: .

/*
 * 
 * 2 ª version ENCENDIDO
 * 
 * 
 *   ENTRADAS / SALIDAS PCF8574
 * 
 *  https://github.com/ELECTROALL/LIBRERIAS/blob/master/README.md
 */

   #include <PCF8574.h>
   #include <Wire.h> 
   
    PCF8574 pcf8574(0x20);
   
   int Led = 11;
    
     void setup()
  {         
    pcf8574.begin();             
                                                                            
    
    pcf8574.pinMode(Led, OUTPUT);        
  }        
  
  void loop()
  {
    
    
    pcf8574.digitalWrite(Led,LOW);

    delay(2000);
   
    pcf8574.digitalWrite(Led,HIGH);    
 } 

 //***********************  FIN  ***** AQUI DEBAJO COPIA ERRORES  *********************
/*
Arduino:1.8.3 (Windows 10), Tarjeta:"Arduino Uno"

C:\DATOS INICIO\DATOS\ARDU-ARCHIVOS\A PROGRAMAS CREADOS\A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX\A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX.ino: In function 'void setup()':

A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX:23: error: 'class PCF8574' has no member named 'pinMode'

     pcf8574.pinMode(Led, OUTPUT);

             ^~~~~~~

C:\DATOS INICIO\DATOS\ARDU-ARCHIVOS\A PROGRAMAS CREADOS\A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX\A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX.ino: In function 'void loop()':

A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX:30: error: 'class PCF8574' has no member named 'digitalWrite'

     pcf8574.digitalWrite(Led,LOW);

             ^~~~~~~~~~~~

A_I2C_PCF8574_ENTRADAS-SALIDAS_2XXX:34: error: 'class PCF8574' has no member named 'digitalWrite'

     pcf8574.digitalWrite(Led,HIGH);

             ^~~~~~~~~~~~

exit status 1
'class PCF8574' has no member named 'pinMode'

Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

 
 */

Otra vez sopa? :winking_face_with_tongue:

Tienes instalada la librería equivocada (ya te lo dijo @Surbyte en el otro tema relacionado), tiene que ser PCF8574_library.

Y por cierto, el PCF8574 es de 8 bits, nunca va a poder acceder al bit 11

int Led = 11;

//...

pcf8574.pinMode(Led, OUTPUT);

//...

pcf8574.digitalWrite(Led,LOW);

Te dejo la simulación para que veas que compila y funciona.
Solo asigné Led al bit 0 y cambié la dirección del módulo (adecuada al simulador)

Hola @MaximoEsfuerzo :

Gracias por tu rapidísima respuesta.

Si, como ves, seguimos con la “sopa”.

Hare mas pruebas (ahora no tengo tiempo) y ya te diré.

Gracias y hasta pronto !!!

Hola @MaximoEsfuerzo

Bien, creo que he puesto un poco de orden …..

Tenías razón con el Led 11; el motivo fue, que quería encender también algún led en la placa del UNO…y luego me despiste antes de enviarlo al Foro.

Respecto al PCF8574, llegue a la conclusión, que tenía en la carpeta de libraries de la carpeta de Programas, varias librerías con el mismo nombre de PCF8574, copiadas de varios github con contenido, tal vez contradictorio. (no sé, qué instrucciones copiaban mis códigos con los nombres idénticos)

Lo que me ha confundido, es que, tanto tu ,@MaximoEsfuerzo , como Surbyte, me aconsejabais la librería PCF8574_libraries , y cuando la cargaba no figuraba como sufijo (_libraries) . Mi falta de experiencia!!

Borre de la carpeta libraries todos ellos y luego copie una única librería que vi en el Wokwi que me enviaste en post #2. Wokwi/libraryManager/PCF8574_library -2.3.7.zip

Parece que he resuelto problemas, ahora probare con varios códigos para ver si todo funciona….

Solo queda agradecer tu ayuda @MaximoEsfuerzo ….. y hasta otra…:cocktail_glass::cocktail_glass: .

La librería se llama PCF8574 library y así aparece en el administrador de librerías.

Hola @MaximoEsfuerzo

Si, claro, mi duda, era por creer que no cargaba la librería correcta.

Al encabezar con: #include <PCF 8574.h> y no figurar también “library” suponía que era otra.

Te pediría, si conoces un escrito con las instrucciones o comandos del PCF 8574, yo voy trampeando con youtubes, que no siempre me llevan por buen camino.

Gracias, por el Máximo Esfuerzo e interés que has demostrado (como siempre, con todos).

Un saludo !!! …:cocktail_glass::cocktail_glass:

Por eso fue que en el otro hilo te dije

Si no entiendes, te decimos que hagas A y vos haces Z, haces extremadamente difícil ayudarte y nos quitas las ganas de seguir haciéndolo.

Si, la hoja de datos del PCF8574. :wink: