个人DIY项目,需要使用5个温度传数据。
同时我也是电子电路的自学新手(非此专业),还在学习研究中。
通过淘宝购买了5个使用LM75芯片的温度传感器,连接Arduino。
查看Arduino代码库得知此芯片的地址0x48起,至0x4F共有8个。
这是我通过短接连接点,记录下的数据。
接口 | 端点1 | 端点2 | 序号 | 状态 |
A0 | GND | 0x48 | 1 | 默认地址,可用 |
A0 | VCC | 0x49 | 2 | 可用 |
A1 | GND | 0x4a | 3 | 不可用 |
A1 | VCC | 0x4b | 4 | 可用 |
A2 | GND | 0x4c | 6 | 不可用 |
A2 | VCC | 0x4d | 5 | 可用 |
? | ? | 0x4e | 7 | 未知 |
? | ? | 0x4f | 8 | 可用 |
问题一:
我使用焊锡将A1与GND连接,在地址0x4A上无读数,在0x48上可能有读数。
将A2与GND连接,在地址0x4C得不到数据,却在0x4F或是0x48上有数据。
这是什么问题导致的呢?
问题二:
在焊接好后A0、A1、A2这些接触点,我使用电工胶布或是纸粘胶 进行连接点保护避免短路。
却导致各芯片的地址发生变化。
即原来芯片地址是0x49的,粘上胶布后,0x49没有读数了,却在0x48或是其他地址出现读数。
问题三:
通过组合,A0、A1、A2与VCC和GND,只有6个组合啊,一条线接6个LM75。
有资料说是可接8个,那是如何设定I2C的地址的呢?
Kailyn Chen:
LM75B的7bit从机地址为1001A2A1A0,通过A2,A1, A0三个引脚接GND和接VCC一共组成2^3=8 个不同的地址。
比如这三个引脚都接地,那么7bit从机地址为1001000,即为0X48.
jun sun:
回复 Kailyn Chen:
非常感谢,通过您提供的信息,我的问题全已解决。
xyz549040622:
回复 jun sun:
非专业玩这个很溜,赞一个,支持DIY精神。