Created
November 28, 2023 16:10
-
-
Save dmiro/dd6be9a0c8ebfbedcf2220ac455f2ead 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 "Arduino.h" | |
#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 = 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); | |
} | |
/* | |
Scanning... | |
I2C device found at address 0x3C | |
done | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment