Der I²C-Bus (Inter Integrated Circuit) wurde ursprünglich von Philips entwickelt, er sollte die Kommunikation mit einem Master (dem Arduino) und den verschiedenen Bauelementen (den Slaves) ermöglichen.
Wenn mehrere Slaves verwendet werden, können die Anschlüsse SCL und SDA auf das Steckbrett hinaus geführt werden und die Slaves werden an den horizontalen Pins angeschlossen.

Der dazugehörige Schaltplan:

Der I²C-Bus kommt mit zwei Datenleitungen aus:
- die Taktleitung SCL (Serial Clock) → A5
- die Datenleitung SDA (Serial Data) → A4

Statt A4 (SDA) und A5 (SCL) kannst du auch die mit SCL und SDA beschrifteten Pins verwenden.
Jedes Bauteil, das mit I2C angesteuert wird, hat eine eigene Adresse.
Diese kannst du mit einem Programm herausfinden:
# include <Wire.h>
void setup()
{
Serial.begin(9600);
Wire.begin();
int Anzahl = 0; // Zahl gefundener Geräte
for (int i = 0; i < 128; i++)
{
// Kommunikation mit Gerät(ID=i) testen
Wire.beginTransmission (i);
if (Wire.endTransmission () == 0)
{
Serial.print ("Geraet gefunden ID 0x");
Serial.println(i, HEX);
Anzahl ++;
}
delay (10);
}
Serial.print ("Gefundene Geraete insgesamt: ");
Serial.println (Anzahl);
}
void loop()
{
// bleibt leer, das Programm läuft nuir einmal
}


Letzte Aktualisierung: