Problem mit PCF8575

Hallo zusammen,

ich möchte an einem PCF8575 eine LED an und ausschalten.
Leider funktioniert das nicht und ich bin langsam etwas ratlos.

In vielen Beispiel- Sketche, sehe ich auch die Verwendung von den Befehlen:
pinMode
analoWrite
digitalWrite

Diese 3 Befehle kann ich nicht verwenden, da dann bei der Sketch- Überprüfung der Fehler.. kommt:

Compilation error: 'class PCF8575' has no member named 'digitalWrite'

Anbei der Sketch:

#include <Wire.h>
#include <PCF8575.h> // (https://github.com/RobTillaart/PCF8575)

PCF8575 PCF(0x20);

void setup() {
  Serial.begin(115200);
  while (!Serial) {
    delay(100);
  }

  delay(2000);

  Wire.begin();  

  //PCF.pinMode(16, OUTPUT); => Befehl pinMode fürt zu Sketch- Error, da Befehl nicht bekannt

  // B PCF8575
  if (!PCF.begin())
  Serial.print("### PCF8575 nicht initialisiert ");
  else
  Serial.print("### PCF8575 initialisiert ");
  
  if (!PCF.isConnected())
  Serial.println("=> und nicht connected");
  else
  Serial.println("=> und connected!!");

    // E PCF8575

}

void loop() {

  PCF.write(16, HIGH);
  Serial.println("an");
  delay(1000);
  PCF.write(16, LOW);
  Serial.println("aus");

  delay(1000);
}

Der PCF8575 wird erkannt und ist auch connected.
Betriebsspannung: 3,3V

Kann mir da evtl. jemand weiterhelfen?

Gruß
Falke07

Da ist was falsch

pcf8575.digitalWrite(16, HIGH);

Immer in die Beispiele schauen :wink:
Sehe da ist mehr falsch versuch mall

/*
 Blink led on PIN0
 by Mischianti Renzo <http://www.mischianti.org>

 https://www.mischianti.org/2019/01/02/pcf8575-i2c-digital-i-o-expander-fast-easy-usage/
*/

#include "Arduino.h"
#include "PCF8575.h"

// Set i2c address
PCF8575 pcf8575(0x20);

void setup()
{
	Serial.begin(115200);

	// Set pinMode to OUTPUT
	pcf8575.pinMode(P0, OUTPUT);

	pcf8575.begin();
}

void loop()
{
	pcf8575.digitalWrite(P0, HIGH);
	delay(1000);
	pcf8575.digitalWrite(P0, LOW);
	delay(1000);
}

wenn du wirklich diese Lib verwendest:

dann musst du dich schon an deren Interface halten.
Und dann ist das .write() und nicht digitalWrite()

Aber der Hinweis einen Blick auf die mitgelieferten Beispiele zu werfen - das ist immer gut.

Was für einen Controller verwendest du ?

Ist Beispiel aus der Lieb

Also es gibt mehrere Bibliotheken !

Hallo,

ok, aufgrund der Antworten, habe ich eine andere Lib verwendet. In deren Beispiel war dann auch pinMode, digitalWrite definiert und somit konnte das Problem gelöst werden.

Somit ein Dankeschön an alle für die schnelle Lösung.

Gruß
Falke07

Wäre doch schön, wenn du auch Fragen beantwortest.

Ha, kein Thema,

  • ESP32
  • PCF8575 mit 3,3v

Und dann:

Ja und hier lag das Problem. Lib vom einen, Example vom anderen => das hat logischer weiße nicht gepasst. (Anfängerfehler)

Na dann...

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.