habe vor 2 Wochen ein DS1307 Breakout gekauft welches beim ersten anschließen wunderbar funktionierte. 5v, GND und SDL/SDA direkt an Arduino. Nach 2 Tagen un etlichen weiteren verbauten Komponenten auf dem Breadboard lieferte die Uhr nichts mehr. Der I2C Scanner Sketch hängte sich nach der Anzeige "Scanning ..." auf und es passierte nichts mehr. Gut, ich dachte mir habe ich das Breakout irgendwie kaputt gemacht. Neues gekauft, wieder angeschlossen es funktioniert. 2 Tage später plötzlich wieder das selbe Problem. I2C Scanner Sketch geht nicht mehr sobald das Ds1307 Breakout angeschlossen ist. Zum Testen steckte ich das alte RTC Modul an und siehe da der I2C Scanner funktioniert wieder. Leider wird das Modul nicht auf dem I2C Bus erkannt und liefert nur 165:165:85 Jahr 2165 als Zeit zurück. Nun hab ich schon viel gelesen das man manchmal Pullup Widerstände benötigt. Also 10kOhm an SDL/SDA aber es geht leider nicht.
Das ich A4,A5 von meinem Uno kaputt gemacht habe glaube ich eigentlich nicht da ein PCF8574 welcher noch vorhanden ist ohne weiteres vom I2C Scanner gefunden wird.
Das erst gekaufte Modul hatte ich leider beim schnellen anschließen mal verpolt GND an VCC und umgekehrt. Daher kann es sein das dieses wirklich kaputt ist. Aber bei dem neuen Modul kann ich 100% ausschließen das es verpolt ist. Hat jemand eine Idee warum der I2C Sketch abstürzt sobald alles angeschlosen ist?
// --------------------------------------
// i2c_scanner
//
// This program (or code that looks like it)
// can be found in many places.
// For example on the Arduino.cc forum.
// The original author is not know.
//
// This sketch tests the standard 7-bit addresses
// from 0 to 127. Devices with higher bit address
// might not be seen properly.
//
// Adapted to be as simple as possible by Arduino.cc user Krodal
//
// June 2012
// Using Arduino 1.0.1
//
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 0; address <= 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(8000); // wait 8 seconds for next scan
}
Datasheet habe ich leider keins. Ist ein Tiny RTC v1.
Edit: Schaffe es leider nicht ein Bild vom Schaltplan hochzuladen. Kommt immer ein Timeout Fehler. 5V Breakout an 5V Arduino, GND Breakout an GND Arduino, SDA Breakout an A4 Arduino, SDL Breakout an A5 Arduino.
Habe es nun auf einem anderen Breadboard mit anderen Kabeln probiert um einen Wackelkontakt auszuschließen. Und auch die 2,2kOhm 1W Pullup Widerstände brachten nichts.