Created
July 30, 2019 20:43
-
-
Save Gizmodo/935d51abeb951662e91fb082b19f7b04 to your computer and use it in GitHub Desktop.
I2C Scanner
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/********* | |
Rui Santos | |
Complete project details at https://randomnerdtutorials.com | |
*********/ | |
#include <Wire.h> | |
void setup() { | |
Wire.begin(); | |
Serial.begin(115200); | |
Serial.println("\nI2C Scanner"); | |
} | |
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.println(address,HEX); | |
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(5000); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment