个人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的地址的呢?