树莓派4B学习笔记——IO通信篇(I2C)_树莓派i2c

在这里插入图片描述
例如智能车竞赛中的摄像头就是采用的并行通信。(以上图片来自此文
现场总线:可以远距离传输 can (10km) 485(1km) //差模信号
工业控制中常用。
板级总线:芯片之间通信----近距离 IIC SPI //共模信号
一般的元器件间的通信方式。
同步通信:通信双方使用同一个时钟源(时钟频率)
异步通信:通信双方使用自己的时钟源
有关通信的具体分类见此博文

I2C简介

I2C是利浦公司推出的双向二线制总线,SCL时钟线和SDA数据线,用于数据传输,按照上面提到的知识点分类I2C是串行半双工板级同步有线传输总线。
一条总线挂载多个IIC接口器件-----并行连接在IIC总线上。
有关一组I2C总线最多可以挂接多少个I2C器件以及I2C的详细介绍大家参考此博文
在这里插入图片描述
有关I2C的传输流程,之前看见过以为博主把整个流程和踢球做了个类比,我觉得很形象,这里链接分享给大家
在这里插入图片描述
有关I2C的详细知识大家参考上述博文了解就好,笔者在此不做分析了,下面进入主题:使用树莓派的I2C。

树莓派4B+0.96OLED(I2C协议)

查询接口

打开终端命令,输入gpio readall,回车,在返回的IO表中可以看见有SDA1、SCL1;SDA0,SCL0两组I2C接口,我们使用SCL1与SDA1这一组进行。
在这里插入图片描述

硬件连接

接线方式如下:

树莓派 OLED
5V VCC
GND GND
3脚(SDA1) SDA
5脚(SCL1) SCL

树莓派4b上配置I2C可按以下步骤进行: 1. **硬件准备与连接**:需完成相关硬件的准备工作,并将其正确连接到树莓派4b上,不过具体硬件的准备和连接方式未在给定内容中详细说明,可根据使用的具体硬件设备查阅对应资料进行操作。 2. **使能I2C Kernel Module**:要开启I2C内核模块,以支持I2C通信。 3. **安装I2C - Tools等必要的包**:安装I2C - Tools等必要的软件包,这些工具能帮助后续对I2C进行测试等操作。 4. **测试I2C并确认传感器地址**:完成前面步骤后,对I2C进行测试,同时确认所连接传感器的地址。 5. **编写Python温湿度采集程序**:若配置I2C是为了进行温湿度采集,可编写Python程序实现该功能。以下是一个简单示例代码: ```python import smbus import time # I2C bus and device address bus = smbus.SMBus(1) DEVICE_ADDRESS = 0x40 def read_temperature(): # Send command to measure temperature bus.write_byte(DEVICE_ADDRESS, 0xF3) time.sleep(0.25) # Read temperature data data = bus.read_i2c_block_data(DEVICE_ADDRESS, 0, 2) temperature = ((data[0] * 256 + data[1]) * 175.72 / 65536.0) - 46.85 return temperature def read_humidity(): # Send command to measure humidity bus.write_byte(DEVICE_ADDRESS, 0xF5) time.sleep(0.25) # Read humidity data data = bus.read_i2c_block_data(DEVICE_ADDRESS, 0, 2) humidity = ((data[0] * 256 + data[1]) * 125.0 / 65536.0) - 6 return humidity while True: temp = read_temperature() hum = read_humidity() print(f"Temperature: {temp:.2f}°C, Humidity: {hum:.2f}%") time.sleep(2) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值