在本教程中,详细介绍了如何在Raspberry Pi上设置I2C,让树莓派与支持I2C通信的硬件模块进行全双工通信。
I2C是Inter-integrated Circuit的缩写,是一种允许一个芯片与另一个芯片同步通话的通信协议。Raspberry Pi内置了对I2C协议的支持,允许它与各种I2C功能的电路连接和通话。
我之前在树莓Pi项目中使用的两个具有I2C功能的电路例子是VEML6075 UV传感器和ADXL345加速度计。
Raspberry Pi上的I2C协议最酷的地方之一是它可以支持多个设备通信,一个独特的地址用于识连接到Raspberry Pi的I2C设备。
设备清单
以下是我用来设置Pi的I2C设备的设备清单,点击链接可直达特别优惠购买。
建议
- ? 树莓派
- ? 高速SD卡
- ? 树莓派4B电源
- ? 以太网线或Wifi
- I2C功能的设备,如VEML6075 UV传感器。
可选
将I2C工具安装到Raspberry Pi上
在Raspberry Pi上启用协议之前,先安装I2C工具。
1. 但是,在安装I2C工具之前,首先需要更新我们的设备。
要更新软件包列表然后升级软件包,需要做的就是运行下面的命令。
sudo apt update
sudo apt full-upgrade
2. 当Raspberry Pi完成更新后,就可以安装I2C工具和Python SMBus包了。
要安装这两个软件包,请运行以下命令。
sudo apt install -y i2c-tools python3-smbus
i2c-tools包允许我们与Raspberry Pi上的I2C协议进行交互。使用它,能够检测I2C连接。
python3-smbus是一个python包,让我们可以使用Python与Raspberry Pi的I2C设备进行交互。
在Raspberry Pi上启用I2C协议。
在本节中,将向您展示如何在您的Pi上启用I2C协议。默认情况下,I2C协议的支持在内核中没有被启用。
1. 为了在内核中启用对I2C的支持,我们需要使用raspi-config工具。
通过运行以下命令启动配置工具。
sudo raspi-config
当你在这个工具中时,你可以使用箭头键来导航,使用ENTER键来选择。
2. 在这个工具里面,我们需要进入5个接口选项。
本页包含了Raspberry Pi支持的串行接口的所有选项。
3. 接下来,你需要选择P5 I2C。
4. 现在将询问您是否要启用ARM I2C接口。
要启用接口,选择<是>选项,然后按ENTER键。
5. 现在,将收到通知,说明已经在设备上启用了 I2C。
可以通过使用ESC键退出工具。
6. 为了让改变生效,需要重新启动树莓派。
要重启Raspberry Pi,需要做的就是使用下面的命令。
sudo reboot
对内核设置的更改将在Raspberry Pi完成重启后加载。
测试I2C连接
现在已经在设备上启用了I2C,测试一下它是否在检测连接。在本节中,您需要确保您的设备使用正确的GPIO引脚连接了一个I2C功能。如果不确定要使用什么引脚,请务必查看我的树莓派引脚指南。本指南将为您提供一些使用正确引脚的图例。
1. 接好I2C设备后,就可以使用前面安装的i2c-tools包来检测设备。
通过运行以下命令来检测当前连接到Raspberry Pi的所有设备。
sudo i2cdetect -y 1
请注意,如果您使用的是第一代的Raspberry Pi,那么这个命令会有所不同。现代的Pi使用端口1,而原来的Pi使用端口0。对于原始的Pi,请使用以下命令。
sudo i2cdetect -y 0
2. 从这个命令中,应该看到一些十六进制的数字出现。这些数字代表了您的I2C设备可以被访问的地址。如果你只看到连字符–那么需要检查电路是否正确接线。如果不能正常工作,那么你的设备可能有问题。
希望到这里,您已经成功地在您的Raspberry Pi上运行了I2C协议。如果你遇到任何问题或有任何反馈,欢迎在下面留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派与硬件模块双工通信,详细步骤配置I2C