INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Frage zu PCF8574
30.07.2015, 21:17 (Dieser Beitrag wurde zuletzt bearbeitet: 30.07.2015 22:07 von hotsystems.)
Beitrag #25
RE: Frage zu PCF8574
Na das ist ja mal eine super Antwort. Wink

Hallo HaWe,

es könnte sein, das wir noch etwas vergessen haben.
Du musst den Port des PCF8574 vor dem Lesen erst per Befehl auf High schalten, damit das so funktioniert. Ich habe nochmal eine Beschreibung dazu angehängt.

http://www.spiketronics.com/downloads/PC...TPORTS.pdf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.07.2015, 23:27
Beitrag #26
RE: Frage zu PCF8574
(30.07.2015 21:17)hotsystems schrieb:  Na das ist ja mal eine super Antwort. Wink

Hallo HaWe,

es könnte sein, das wir noch etwas vergessen haben.
Du musst den Port des PCF8574 vor dem Lesen erst per Befehl auf High schalten,
Hatte ich oben schon benannt.


Auch..100yA entsprechen ca 50K.Wink

Nicht jeder Neuling in einem Forum hat keine Ahnung über die Materie!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2015, 08:31
Beitrag #27
RE: Frage zu PCF8574
(30.07.2015 23:27)fraju schrieb:  Hatte ich oben schon benannt.
Auch..100yA entsprechen ca 50K.Wink
Uups, das muss ich wohl überlesen haben. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2015, 08:42 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2015 08:55 von HaWe.)
Beitrag #28
RE: Frage zu PCF8574
ich dachte, man braucht keinen Widerstand? wieso jetzt plötzlich doch wieder? Huh

das mit dem High schalten ist aber komisch - wie mache ich das im Sketch?
Ich will doch einfach nur ein Registerbyte auslesen?

also mit
Code:
#include <Wire.h>
#define ADDR_PCF8574  0x30

void setup() {
   Wire.begin();
   //...
}

uint8_t readi2cbyte(uint8_t addr, uint8_t reg) {
  uint8_t  bdata;

  Wire.beginTransmission(addr);
  Wire.write(reg);                   // target data register number
  Wire.endTransmission();

  Wire.requestFrom(addr, reg);           // Request 1 bytes from PCF8574
  while(Wire.available() < 1);           // Wait for byte to become available
  bdata = Wire.read();      
  return(bdata);
}

  //...
  uint8_t bitmask = readi2cbyte(ADDR_PCF8574, 1);
  //...

wäre ich sonst fertig -
wie schalte ich jetzt irgendwas auf HIGH ???

Huh
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2015, 08:48 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2015 09:07 von hotsystems.)
Beitrag #29
RE: Frage zu PCF8574
Du brauchst keinen Widerstand, das geht alles per Code. Ich such gleich mal ein Beispiel raus.

Hier ist ein Beispiel mit recht guter Beschreibung:
http://forum.arduino.cc/index.php?topic=107467.0

Hier nochmal eine einfache Version, die ich selber einsetze:

Code:
// Funktion zum Lesen des PCF8574-Bausteins
byte PCF8574_Read(int adresse) {
  byte datenByte=0xff;
  Wire.requestFrom(adresse,1);
  if(Wire.available()){
    datenByte=Wire.read();
    datenkomm=true;
    }
  else {
    datenkomm=false;
  }
  return datenByte;
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2015, 09:27 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2015 09:36 von HaWe.)
Beitrag #30
RE: Frage zu PCF8574
ok, kein Widerstand, sehr gut Wink

jetzt aber zur PCF8574-Byte-Abfrage:
dein Code http://forum.arduino.cc/index.php?topic=107467.0 ist i.P. mit meinem identisch.

Code:
void PCF8574_Write(int adresse, byte daten) {
  Wire.beginTransmission(adresse);
  Wire.write(daten);
  Wire.endTransmission();
  delay(5);
}

byte PCF8574_Read(int adresse) {
  byte datenByte=0xff;
  Wire.requestFrom(adresse,1);
  if(Wire.available()){
    datenByte=Wire.read();
    datenkomm=true;
    }
  else {
    datenkomm=false;
  }
  return datenByte;
}

void setup(){
  Wire.begin();
  PCF8574_Write(PCF8574,0xff);
  //...
}

void loop() {
  byte daten;
  //...
  daten=PCF8574_Read(PCF8574);
  //...
}



Auf HIGH geschaltet wird zur Abfrage aber nichts, es sei denn für die LEDs, die brauche ich aber nicht - oder habe ich was übersehen?
Wo steht da also was mit auf HIGH setzen im Code?
Oder ist das der Teil mit dem 0xff,
PCF8574_Write(PCF8574,0xff);
ganz am Anfang, nur 1x in setup() ??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2015, 09:36 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2015 09:39 von hotsystems.)
Beitrag #31
RE: Frage zu PCF8574
Ja, das "PCF8574_Write(PCF8574,0xff);" ist der nötige Befehl.

In meinem Code mach ich es in der Loop. Du setzt damit alle Ports auf High, wenn du nur einen bestimmten brauchst, ist der Hex natürlich anzupassen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.07.2015, 09:41 (Dieser Beitrag wurde zuletzt bearbeitet: 31.07.2015 09:42 von HaWe.)
Beitrag #32
RE: Frage zu PCF8574
ahaaa...! danke!

[Bild: images?q=tbn:ANd9GcRJ8dvsNQ8_M7fNJE2NLNC...uUSdIVoUvw]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Frage zum Controllino Franz54 5 108 30.11.2016 18:18
Letzter Beitrag: Tommy56
  Frage zur Versorgungsspannung Franz54 7 187 25.11.2016 21:55
Letzter Beitrag: Franz54
  Frage zum ansteuern H4 Birne 60 Watt b3ta 8 396 27.09.2016 08:09
Letzter Beitrag: AlphaRay
  [gelöst] ATtiny mit Arduino programmieren - Frage zur Hardware Gelegenheitsbastler 4 948 10.09.2015 11:55
Letzter Beitrag: Bitklopfer
  Frage zu Motorstellkraft HaWe 13 1.607 03.06.2015 08:41
Letzter Beitrag: Thorsten Pferdekämper
  [Neu hier] Eine Frage gregors 2 768 22.04.2015 11:06
Letzter Beitrag: gregors
  Grundlegende Frage zu Messwertwerfassung torsten_156 6 1.080 14.04.2015 19:06
Letzter Beitrag: torsten_156
  Frage zu IC HCF4024 BE HaWe 0 632 20.03.2015 22:12
Letzter Beitrag: HaWe
  Frage zu den Motor Drive Shields BedrockMediaTV 4 1.101 03.03.2015 10:16
Letzter Beitrag: HaWe
  Frage zu Strom JoSiGB 0 653 14.11.2014 09:44
Letzter Beitrag: JoSiGB

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste