MPR121 Breakout 是一个 接近 电容式 触摸传感器,连接到arduino、esp32等单片机,可以用来做一些 触摸 感应的小玩意。
他有12个触摸点,使用 i2c 协议来操控,非常方便。
默认情况下,Add 引脚 接地了,板子的i2c地址是 0x5A,如果你要同时连接多个 板子,那么 i2c 地址就冲突了。你只能使用i2c复用板来解决了。
但是,但是。。。。。板子的设计师考虑的很周到,可以短接引脚获取不同的地址,点赞!
1 The MPR121 ADDR pin is pulled to ground and has a default I2C address of 0x5A 2 You can adjust the I2C address by connecting ADDR to other pins: 3 4 ADDR not connected: 0x5A 5 ADDR tied to 3V: 0x5B 6 ADDR tied to SDA: 0x5C 7 ADDR tied to SCL: 0x5D
简单说,add连到3v3后地址是0x5b,add连到sda后地址是0x5c,add连到scl后地址是0x5d
具体怎么操作呢,看下图,箭头处就是add引脚跳线的地方。
将下图箭头所指横线切断,可以用小刀、美工刀,动作慢点,切割后用万用表测试一下,两端不通电即可。
然后将add的右侧,焊接一个飞线连接到3v3、sda、scl 三个中的一个即可。
不焊接也行,直接在add引脚插一个杜邦线,另外一端插到3v3、sda、scl 三个中的一个即可。
下面是arduino获取2个板子i2c地址的测试代码:
#include void setup() { Wire.begin(); Serial.begin(9600); Serial.println("nI2C Scanner"); Serial.println("Scanning..."); delay(2000); } void loop() { int nDevices; nDevices = 0; byte error, address; for (address = 1; address
运行结果:
完美!最多可接4个板子,够了够了!