arduino连接多个i2c(Arduino教程查找I2C地址Arduino液晶显示屏设备地址程序)
arduino连接多个i2c(Arduino教程查找I2C地址Arduino液晶显示屏设备地址程序)void setup()#include <Wire.h>图3 Mixly文件夹里的Arduino IDE图4 双击打开Arduino.exe在Arduino IDE中输入以下代码:
图1 1602 液晶显示屏
在使用如图1所的1602 液晶显示屏时,经常如图2所示,需要你确认设备地址。Mixly里默认的是“0x27”,可是不同厂家生产的液晶显示屏设备地址不一样,常见的有0x27,0x3F等,那么如何快速知道该液晶显示屏地址呢?
图2 Mixly程序截图
办法很比较简单,打开Arduino IDE,如果你没有下载,在Mixly安装目录里也自带有,如图3所示,打开红圈所示的文件夹,双击打开里面的Arduino(图4)。
图3 Mixly文件夹里的Arduino IDE
图4 双击打开Arduino.exe
在Arduino IDE中输入以下代码:
#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 )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the 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("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); // wait 5 seconds for next scan
}
选择正确的端口和主板型号上传上述程序,上传成功之后打开串口监视器即可看到当前液晶显示屏的设备地址了,如图5所示:
图5 查找I2C设备地址结果
如果你还有问题,请在评论区留言。需要了解更多相关Arduino课程,请点击“关注”按钮关注我,或者关注我的微信公众号(cshgzs),还有STEAM教育的相关案例分享。