I²C Scanner

Wenn man ein Modul mit dem I²C-Bus verwendet, ist oft nicht klar, welche I²C-Adresse benutzt werden soll. Die gebräuchlisten Adressen können unter i2cdevices.org/addresses nachgesehen werden, jedoch ist es auch hilfreich das eigene Modul direkt zu testen.
Der folgende Versuchsaufbau kann I²C-Module erkennen und deren benutzte I²C-Adresse auslesen.

Funktionsweise

Aufbau der Schaltung
Abb.: Aufbau der Schaltung

Verwendete Bauteile

Aufbau

Aufbau der Schaltung
Abb.: Aufbau der Schaltung

Nach dem Ausführen des Sketches auf dem Arduino gibt es in der seriellen Konsole eine ähnliche Ausgabe wie die folgende:

Ausgabe nach dem Scannen
Abb.: Ausgabe nach dem Scannen

Sketch

#include <Wire.h>

void setup()
{
  Serial.begin(9600);
  Serial.println("Scanning...");
  byte deviceCount=0;

  Wire.begin();
  for (byte i=8; i<120; i++) {
    Wire.beginTransmission(i);
    if (Wire.endTransmission() == 0) {
      Serial.print("Found address: ");
      Serial.print(i, DEC);
      Serial.print(" (0x");
      Serial.print(i, HEX);
      Serial.println(")");
      deviceCount++;
      delay(1);
      }
  }

  Serial.println("Done.");
  Serial.print("Found ");
  Serial.print(deviceCount, DEC);
  Serial.println(" device(s).");
}

void loop()
{
}
zurück