Ansteuerung PCA9505 mit ATmega328(Arduino UNO)

Gast #4098526
Lesenswert?

Guten Tag, Ich hab ein Problem mit der Ansteuerung vom PCA9505
Ich hab keine Ahnung wo der Fehler liegt, wäre cool wenn mir jemand von 
euch weiterhelfen könnte.

Der Schaltplan ist im Anhang
IC3 in der Zeichnung ist PCA9505

mein Arduino sketch:


//Arduino UNO  I2C BUS
//A4 = SDA
//A5 = SCL

#include "Wire.h"
void setup()
{
////// Setup von PCA9505

  Wire.begin();
  Wire.beginTransmission(0x20);
  Wire.write(0x18); // IODIRA register
  Wire.write(0x00); // set all of port A to outputs
  Wire.endTransmission();
}
void loop ()
{
  Wire.begin(0x20);
  Wire.beginTransmission(0x20);
  Wire.write(0x08); // GPIOA
  Wire.write(0x55); // set port A low
  Wire.endTransmission();
  delay(200);
}
Angehängte Dateien:
#4098556
Lesenswert?

I²C ist ein Bus, der mit Open Collector-Ausgängen angesteuert wird. 
Deinen Busleitungen fehlen die Pullup-Widerstände.

Zur Dimensionierung siehe z.B. 
http://www.nxp.com/documents/user_manual/UM10204.pdf, Kapitel 7.1

Grüße

Stefan

PS: Hab mir gerade mal den Hauptartikel 
http://www.mikrocontroller.net/articles/I%C2%B2C im Wiki angesehen: Da 
fehlt tatsächlich diese Basisinformation.
Gast #4098565
Lesenswert?

oh ja, ich hab die vergessen in dem Schaltplan einzuzeichnen,
ich habe 1,6k Widerstände als Pull-UP eingebaut wie es im Datenblatt 
steht. (Datetnblatt PCA9505 S. 19)

Ich hab auf den ausgängen ohne Ansteuerung ein Dauerhaftes HIGH Signal
den OE ich auf GND und INT n.c.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren