当前位置:首页 > 综合 > I2C总线与Arduino的接口示例

I2C总线与Arduino的接口示例

2026-07-11 03:02:49 [百科] 来源:芜湖正顺物流

在现代电子设计中,总线I2C总线因其简单性和灵活性而广受欢迎。接口它允许多个设备共享同一通信线路,示例从而节省空间和成本。总线Arduino,接口作为一个多功能的示例微控制器平台,自然也支持I2C通信。总线

I2C总线基础

I2C总线由两条线组成:数据线(SDA)和时钟线(SCL)。接口SDA用于传输数据,示例而SCL用于同步数据传输。总线I2C设备可以是接口主设备或从设备。主设备生成时钟信号并启动数据传输,示例从设备响应主设备的总线请求。

Arduino与I2C

Arduino板通常有两个I2C引脚:A4(SDA)和A5(SCL)。接口这些引脚可以直接连接到I2C设备的示例相应引脚。Arduino的软件库提供了对I2C通信的支持,使得与I2C设备的通信变得简单。

硬件连接

为了演示I2C通信,我们将使用一个常见的I2C设备:MCP9808温度传感器。以下是连接步骤:

  1. 将MCP9808的VCC引脚连接到Arduino的5V。
  2. 将MCP9808的GND引脚连接到Arduino的GND。
  3. 将MCP9808的SDA引脚连接到Arduino的A4引脚。
  4. 将MCP9808的SCL引脚连接到Arduino的A5引脚。

软件实现

在Arduino IDE中,我们需要包含Wire库,这是Arduino提供的用于I2C通信的库。以下是读取MCP9808温度的示例代码:

#include// MCP9808 I2C地址#define MCP9808_ADDRESS 0x18void setup() { // 初始化串口通信Serial.begin(9600);// 初始化I2C通信Wire.begin();}void loop() { // 读取温度float temp = readTemperature();// 打印温度Serial.print("Temperature: ");Serial.print(temp);Serial.println(" C");// 等待一秒钟delay(1000);}float readTemperature() { // 启动I2C通信Wire.beginTransmission(MCP9808_ADDRESS);// 发送温度寄存器地址Wire.write(0x05);// 停止I2C通信Wire.endTransmission();// 请求两个字节的数据Wire.requestFrom(MCP9808_ADDRESS, 2);// 等待数据准备就绪if (Wire.available() == 2) { // 读取两个字节的数据byte msb = Wire.read();byte lsb = Wire.read();// 将两个字节合并为一个16位的值int16_t raw = (msb < < 8) | lsb;// 将原始值转换为摄氏度return raw / 16.0;}// 如果没有数据,返回0return 0;}

代码解释

  1. 包含Wire库#include 引入Arduino的I2C通信库。
  2. 定义I2C地址#define MCP9808_ADDRESS 0x18定义MCP9808的I2C地址。
  3. 初始化setup()函数中初始化串口和I2C通信。
  4. 主循环loop()函数中读取温度并打印到串口。
  5. 读取温度readTemperature()函数中实现与MCP9808的I2C通信,读取温度值。

(责任编辑:焦点)

推荐文章
  • 美国将中微公司移出制裁清单

    美国将中微公司移出制裁清单 据联合早报12月18日消息,中国半导体设备龙头企业中微公司以及风投公司IDG Capital,已被移出美国五角大楼的中国军事企业清单简称“CMC清单”)。从美国五角大楼的文件显示,该部门已将中微公司和 ...[详细]
  • 泉州发现60多处不文明施工 市城管办发函要求整改

    泉州发现60多处不文明施工 市城管办发函要求整改 泉州鲤城市政部门暂用沙土将浮桥街辅道破路钻孔填平,金山社区多个主要进出通道施工路面周边设交通警示标志、安吉路与毓才街交叉口残留建筑垃圾和沙土也已清理。昨日,海都记者对近日报道的12处不文明施工场地回访 ...[详细]
  • 儿子酒驾 晋江一医院员工索钱称帮降酒测浓度

    儿子酒驾 晋江一医院员工索钱称帮降酒测浓度 儿子酒驾,被交警送到晋江捷达医院醒酒,他去医院缴费时,有工作人员联系他,让他给1万元,称能帮忙将儿子的血液酒精测试数值降100。怀疑被骗,晋江人老王没敢给钱。昨日,他拨打了海都热线通95060咨询。医 ...[详细]
  • 离职老师冒充学校书记 称可帮调动行骗60多万

    离职老师冒充学校书记 称可帮调动行骗60多万 离职教师陈某某对外谎称自己是某小学的书记,编造能为他人办理工作调动、学生入学、安排工作、办理培训班等事由,累计骗取他人60多万元。今日,来自鲤城法院的消息,陈某某因犯诈骗罪,一审被判刑10年2个月。冒 ...[详细]
  • 蓝星光域完成数亿元B轮融资

    蓝星光域完成数亿元B轮融资 蓝星光域近期宣布成功完成了数亿元的B轮融资,本轮融资由广州产投与国新基金联合领投,彰显了资本市场对其的高度认可与期待。深创投投资团队对此表示热烈祝贺,并分享了他们的观点。深创投投资团队强调,他们始终致 ...[详细]
  • 功率半导体赋能清洁能源转型 共筑绿色发展新生态

    功率半导体赋能清洁能源转型 共筑绿色发展新生态 据媒体报道,我国已建成世界规模最大的清洁能源供应体系。2012年至2024年,我国以年均3.4%的能源消费增速支撑了年均6.1%的经济增长,能耗强度累计下降27.1%。中央经济工作会议提出加快新型能源 ...[详细]
  • 因芯片短缺,本田在华工厂将停产

    因芯片短缺,本田在华工厂将停产 半导体短缺的阴影,依然笼罩着全球汽车制造业。最新消息称,本田汽车因核心芯片供应紧张,不得不再次调整生产计划。据共同社报道,本田公司于12月17日对外透露,由于持续性的半导体短缺,计划从12月下旬至明年 ...[详细]
  • 因芯片短缺,本田在华工厂将停产

    因芯片短缺,本田在华工厂将停产 半导体短缺的阴影,依然笼罩着全球汽车制造业。最新消息称,本田汽车因核心芯片供应紧张,不得不再次调整生产计划。据共同社报道,本田公司于12月17日对外透露,由于持续性的半导体短缺,计划从12月下旬至明年 ...[详细]
  • “自立娃”吃出浅表性胃炎

    “自立娃”吃出浅表性胃炎 “自立娃”吃出浅表性胃炎 编辑:汤晓雪 来源:扬子晚报 ...[详细]
  • 迅为Hi3403开发板驱动教程全面上线,开启嵌入式Linux开发新篇章!

    迅为Hi3403开发板驱动教程全面上线,开启嵌入式Linux开发新篇章! 迅为电子持续深耕嵌入式开发领域,为广大开发者带来又一力作——《itop-Hi3403开发板驱动教程》正式发布!本教程专为Hi3403开发平台设计,延续了迅为教程体系一贯的系统化、实战化、深度化风格,帮 ...[详细]
热点阅读