Gast
#5491040
Hallo, folgendes Szenario: Ich verwende einen Arduino Nano und daran ist via I2C der Port Expander MAX7313 angeschlossen. Als PullUp Widerstände verwende ich je einen 4,7k Widerstand am I2C. Außerdem ist an dem I2C ein Display angeschlossen, welches auch einwandfrei funktioniert. Wenn ich einen x-beliebigen I2C Scanner verwende um die Adressen auszulesen, dann spuckt er mir für das Display 0x3C und für den Port Expander 0x20 aus. Das passt auch zu der Konfiguration der ADDR Pins (vom Port Expander), die ich allesamt auf GND gezogen habe. So weit so gut. Jetzt folgendes Problem: Ich möchte die Pins vom Port Expander als Outputs nutzen und mittels MOSFET ein Relais schalten. Hier der Code mit dem ich das mal getestet habe: ********************************************************************* #include <Wire.h> #define expander 0x20 //I2C Adresse void setup() { Serial.begin(9600); Wire.begin(expander); } void loop() { Serial.println("Pins HIGH schalten"); Wire.beginTransmission(expander); Wire.write(0x01); // Register als Output einstellen Wire.write(0xFF); // Alle Pins HIGH, B11111111 Wire.endTransmission(true); delay(3000); Serial.println("Pins LOW schalten"); Wire.beginTransmission(expander); Wire.write(0x01); // Register als Output einstellen Wire.write(0x00); // Alle Pins LOW, B00000000 Wire.endTransmission(true); delay(3000); } ********************************************************************* Ich habe auch schon unzählige Varianten neben dem Code getestet aber ich bekomme die Pins nicht beschaltet. Weder HIGH noch LOW. Hat hier jemand vielleicht Erfahrungen mit dem Port Expander und kann mir bezüglich der genannten Problematik helfen? Danke!