Hallo zusammen,
ich möchte einen max6620 über den ic2 bus mit einem Arduino verbinden. Den IC habe ich über eine Firma auf einem Breakout Board löten lassen, so dass ich mit ihm testen kann. Leider bekomme ich die Kommunikation nicht hin.
Mach dem Datenplatt habe ich Pin 1 mit SCL und Pin 2 mit SDA des Arduino verbunden. Pin 27 ist am V5 und GND and GND. Alle anderen Pins habe ich aktuell nicht verbunden, somit ist die Adresse 0x52. Leider scheint der Controller nicht zu antworten. Zum test habe ich eine RTC ebenfalls angeschlossen (an den selben bus, diese reagiert adequat.
In der Konsole wird die Schleife für das auslesen der Antwort erst garnicht gestartet, daher gehe ich davon aus, keine Antwort kommt.
Ich habe es insgesamt mit 2 Controllen probiert immer das gleiche ergebniss. Daher meine Frage ob ich einen Denkfehler im Programm habe und die Kontrolle adequat reagieren.....
Danke schon mal für alle Tipps und Ideen.
Steve
#include <Wire.h>
#define max6620 0x52
#define rtclock 0x68
int counter =0;
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop()
{
Wire.beginTransmission(max6620);
Wire.write(0);
Wire.endTransmission();
Wire.requestFrom(max6620, 8); // request 6 bytes from slave device #2
Serial.println("New Try:");
counter = 0;
while (Wire.available()) // slave may send less than requested
{
char c = Wire.read(); // receive a byte as character
counter++;
Serial.print("Counter: ");
Serial.println(counter); // print the character
}
delay(1000);
Serial.println("------");
Serial.println("");
}
MAX6620.pdf (276 KB)