《边学边用树梅派-9》树莓派 I2C 通信初探 I2C LCD及其ADC模
2014-06-282.1万
精华项目
AI 快速预览详细
本文介绍了如何使用树莓派的I2C接口连接I2C LCD1602液晶模块和MCP3424 18位AD转换模块,实现电流和电压的实时显示。首先,你需要设置I2C设备,并安装Python-smbus库。然后,编写Python代码来控制I2C通信,读取ADC数据并在LCD上显示。最后,搭建电路并运行代码,即可看到实时的电流和电压值。这个项目非常适合电子爱好者和STEM教育,能够帮助你掌握I2C通信的基本用法。
树莓派可以通过自己的GPIO上的I2C接口与外部的器件进行通信。SDA,SCL输出为5V左右。如图所示:![]() 我们可以用这两个接口与外部的器件经行链接来学习一下树莓派的I2C用法。下面我们以树莓派通过I2C链接18位ADC芯片并通过I2C连接1602显示来带大家体验一下 先上一张显示的实现的效果图: ![]() (通过ADC的2路通道测试流过电阻电流和LED的压降,分别利用单端差分放大和双端差分放大) 准备的器件: 1、树莓派(这个必须要有) 2、DFRobot I2C LCD1602液晶模块(I2C接口的,如果你是普通的1602的话请按这个方法接: GND 接 GND VCC 接 5V SDA 接模拟口 A4 SCL 接模拟口 A5) 3、DFRobot 最新出品的 MCP3424 18位AD转换模块(通过差分放大来检测电压) 4、杜邦线若干(面包板上插线用) 5、红色LED小灯(测试分压) 6、1K欧电阻(测试分压) 7、屏幕(这个必须要,否则你都不知道自己输了什么) 8、键盘(必要的东西) 9、鼠标(如果你不进入图形界面可以不用管) 10、网线(下载驱动) 11、面包板(便于插芯片和电路搭接) 第一步: I2C设备的设置见前面的文章:《边学边用树莓派-4》I2C总线的使用 第二步: 我们既然安装了Python-smbus就可以利用smbus内部的函数来控制树莓派的GPIO的I2C 我们可以利用Python新建一个test.py test.zip的文件我们还需要1602的Python库,直接下载即可,也可以直接从网上下载 LCD1602.zip第三部: 打开finaltest.py看到函数: 下面我来解释一下(#后面的文字即为解释) 第四步: 我们开始搭我们的电路 ![]() 所有的I2C都在2根SDA和SCL上 ![]() 然后我们点击F5或者运行就可以了。 大家就会发现LCD1602的上面正显示着当前的电压和电流。 总结: 用smbus库函数来控制I2C的通信非常方便,I2C设备一般都是先发送地址(可以用I2C tools检测,也可以看技术文档),然后发送配置文件(有些需要寄存器地址),然后接受(有些芯片是写在寄存器内,这时你需要先发送寄存器地址再接收数据,有些芯片是直接发送数据,这时请不要在发送完配置文件或者接收8位数据后延时或者使用其他函数)。暂时就写到这,有什么好的意见或者不对的地方欢迎大家指正。 |
-
b62Xb20294.jpg (212.59 KB, 下载次数: 2659)








