Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In letzter Zeit sind vermehrt Sensoren auf den Markt gekommen, welche das I2C Interface nutzen. Vor allem Beschleunigungssensoren und Sensoren zur Abstandsmessung gehören dazu. Hier eine kleine Übersicht.

Beispiel

1x Arduino
1x MMA7455
2x Widerstand 4.7k

...

Code Block
languagecpp
titlei2c Address Sniffer
collapsetrue
#include <Wire.h> 
 
void setup()
{
  Wire.begin();
 
  Serial.begin(9600);
  Serial.println("I2C Sniffer");
}
 
void loop()
{
  byte error, address;
  int nDevices;
 
  Serial.println("Scanning...");
 
  nDevices = 0;
  for(address = 1; address < 127; 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("Unknown 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(4000);
}


Funktionen

MMA_7455
Diese Funktion instanziert die MMA_7455 Library und aktiviert die Wire Library, welche für die Kommunikation über I2C gebraucht wird.

...