Forum: Mikrocontroller und Digitale Elektronik Ansteuerung PCA9505 mit ATmega328(Arduino UNO)


von Markus (Gast)


Angehängte Dateien:

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);
}

von Stefan W. (dl6dx)


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.

von Markus (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.