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 !!! … … .
/*
*
* 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.
*/
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… … .
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).