ESC stuff
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

i2cscanner.ino 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // --------------------------------------
  2. // i2c_scanner
  3. //
  4. // Version 1
  5. // This program (or code that looks like it)
  6. // can be found in many places.
  7. // For example on the Arduino.cc forum.
  8. // The original author is not know.
  9. // Version 2, Juni 2012, Using Arduino 1.0.1
  10. // Adapted to be as simple as possible by Arduino.cc user Krodal
  11. // Version 3, Feb 26 2013
  12. // V3 by louarnold
  13. // Version 4, March 3, 2013, Using Arduino 1.0.3
  14. // by Arduino.cc user Krodal.
  15. // Changes by louarnold removed.
  16. // Scanning addresses changed from 0...127 to 1...119,
  17. // according to the i2c scanner by Nick Gammon
  18. // http://www.gammon.com.au/forum/?id=10896
  19. // Version 5, March 28, 2013
  20. // As version 4, but address scans now to 127.
  21. // A sensor seems to use address 120.
  22. // Version 6, November 27, 2015.
  23. // Added waiting for the Leonardo serial communication.
  24. //
  25. //
  26. // This sketch tests the standard 7-bit addresses
  27. // Devices with higher bit address might not be seen properly.
  28. //
  29. #include <Wire.h>
  30. void setup()
  31. {
  32. Wire.begin();
  33. Serial.begin(115200);
  34. while (!Serial); // Leonardo: wait for serial monitor
  35. Serial.println("\nI2C Scanner");
  36. }
  37. void loop()
  38. {
  39. byte error, address;
  40. int nDevices;
  41. Serial.println("Scanning...");
  42. nDevices = 0;
  43. for(address = 1; address < 127; address++ )
  44. {
  45. // The i2c_scanner uses the return value of
  46. // the Write.endTransmisstion to see if
  47. // a device did acknowledge to the address.
  48. Wire.beginTransmission(address);
  49. error = Wire.endTransmission();
  50. if (error == 0)
  51. {
  52. Serial.print("I2C device found at address 0x");
  53. if (address<16)
  54. Serial.print("0");
  55. Serial.print(address,HEX);
  56. Serial.println(" !");
  57. nDevices++;
  58. }
  59. else if (error==4)
  60. {
  61. Serial.print("Unknown error at address 0x");
  62. if (address<16)
  63. Serial.print("0");
  64. Serial.println(address,HEX);
  65. }
  66. }
  67. if (nDevices == 0)
  68. Serial.println("No I2C devices found\n");
  69. else
  70. Serial.println("done\n");
  71. delay(5000); // wait 5 seconds for next scan
  72. }