Arduino扫描I2C设备地址

扫描I2C设备地址。

某宝上的配件,虽然很便宜,但很多都不提供资料!如果给的资料有错的,则更浪费调试时间。

下面的代码用于扫描I2C设备地址


Serial.begin (9600);

// wait for serial port to connect
while (!Serial) {
}
    
Serial.println ();
Serial.println ("I2C scanner. Scanning ...");
byte count = 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 (")");
    count++;
    delay (1);  // maybe unneeded?
  } // end of good response
} // end of for loop

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


- 本文为本站原创文章,转载请保留出处。
- 文章链接:https://www.xpstem.com/article/10074

2022-06   阅读(732)   评论(0)
 标签: 创客 Arduino I2C

涨知识
LTE Cat.1

Cat.1技术是LTE(Long-Term Evolution)技术的一种调制及编码技术,可以提供相对较高的数据传输速率,同时又具有低功耗、低成本的特点,可以为物联网设备的连接提供更好的解决方案。

评论:
相关文章
ESP32 + Arduino使用TFT_eSPI库

Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789


Arduino 数据结构: 队列Queue

Queue 库提供了一个通用的 C++ 动态队列实现,专为在 Arduino 项目中使用而定制。


小鹏浇花套件单机版程序V1.0.0

本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。


Arduino 数据结构: ArrayList

ArrayList 类是一个 C++ 模板类,它提供了 ArrayList 的实现,以便轻松存储任何指定类型的值。它允许使用索引进行高效存储和检索,支持排序操作。


ESP32 FreeRTOS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


理解 MSBFIRST(最高有效位)和 LSBFIRST(最低有效位)

在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。


Arduino 和 TB6612FNG 驱动直流电机

TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。


Arduino-ESP32 Preferences库使用详解

Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。


Adafruit GFX图形库的使用

用于Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示器提供了通用语法和图形功能集。这使Arduino程序可以轻松地在显示类型之间进行调整,而不必花太多精力……


Arduino Serial 接收数字

在Arduino中,通过串行端口接收数字通常涉及使用Serial.read()、Serial.readString()、Serial.parseInt()等方法。