树莓派系列教程10:I2C

一、启动I2C

执行如下命令进行树莓派配置
1sudo raspi-config

选择Advanced Options  -> I2C ->yes   启动i2C内核驱动

运行lsmod命令查看i2c时候启动

若没有启动i2c内核驱动,可以试下添加如下配置文件,运行如下命令打开配置文件。

1sudo nano /etc/modules

增加以下两行并保存退出。

1i2c-bcm2708
2i2c-dev

二、i2c-tools

安装i2c-tools这个工具在I2c硬件监控设备识别和故障诊断是非常重要。

1sudo apt-get install i2c-tools

i2c-tools官网】http://www.lm-sensors.org/wiki/i2cToolsDocumentation

I2c-tools仅有四条命令,下面逐条介绍。

1i2c-tool查询i2c设备:

1i2cdetect -y 1

-y        代表取消用户交互过程,直接执行指令;

1         代表I2C总线编号;

上图是树莓派接上Pioneer 600扩展板检测到的i2C设备,

0x20PCF8974 IO扩展芯片的地址,

0x48PCF8591 AD/DA转换芯片的地址

0x68DS3231 RTC时钟芯片的地址

0x77BMP180压强传感器的地址

2、扫描寄存器内容:

1i2cdump -y 1 0x68

-y        代表取消用户交互过程,直接执行指令;

 1         代表I2C总线编号;

0x68    代表I2C设备从机地址,此处表示DS3231 RTC时钟芯片 

3、寄存器内容写入

1i2cset -y 1 0x68 0x00 0x13

    -y        代表曲线用户交互过程,直接执行指令

    1         代表I2C总线编号

    0x68    代表I2C设备地址,此处表示DS3231 RTC时钟芯片

    0x00    代表存储器地址

    0x13    代表存储器地址中的具体内容

4寄存器内容读出

1i2cget -y 1 0x68 0x00

   -y        代表曲线用户交互过程,直接执行指令

    1         代表I2C总线编号

    0x68     代表I2C设备地址,此处表示DS3231 RTC时钟芯片

    0x00    代表存储器地址

三、使用i2c-tools控制PCF8574 IO

PCF8574I2C总线8IO扩展芯片,初始状态IO为高电平. PCF8574和其他I2C芯片不同,该芯片没有寄存器,直接传输一个字节即控制IO输出状态Pioneer 600扩展板,LED2接到PCF8574p4管脚。低电平点亮LED.

IO管脚

1i2cset –y 1 0x20 0xEF

0x20   代表I2C设备地址,此处表示PCF8574芯片

0xEF  传输的内容,此处表示PCF8574P4管脚输出低电平,其他管脚输出高电平

可以看到Pioneer 600扩展板的LED2点亮

IO管脚:

1i2cget  -y 1 0x20

运行这条命令即可读取PCF8574 IO管脚状态

熄灭LED2

1i2cset –y 1 0x20 0xFF

同理,Pionerr 600扩展板,蜂鸣器接到PCF8574P7管脚,可以用i2c-tool控制蜂鸣器

蜂鸣器响:

1i2cset –y 1 0x20 0x7F

蜂鸣器停:

1i2cset –y 1 0x20 0xFF
TAG: 树莓派云台 ESP32 S3开发板4寸LCD触摸显示屏480x480 TVBOX HMI LVGL带CAN/RS485/I2C/传感器接口 代码 SIM8200EA M2 5G Sub-6G模组PCIe适用于SIMCOM 树莓派Raspberry Pi 500 键盘型(美式) Modbus POE ETH Relay携手Waveshare Cloud实现继电器开关控制 Sipeed NanoCluster迷你集群板 数据中心 集群电脑 树莓派CM45 LM3H M4N ESP32-C6迷你WiFi 6 ESP32-C6-Zero Super-Mini SP32-C6FH4 WiFi6蓝牙5 TVOC气体总挥发性有机化合物传感器兼容Arduino树莓派ESP32/Pico 树莓派Pico 树莓派5 DC USB双输入 树莓派5 树莓派 5 PCIe转FFC扩展板双通道Pi5 2CH PCIe HAT ESP32 S3开发板2.41寸AMOLED触摸显示屏6轴陀螺仪SD T-Watch-2020-V1.0 ESP32 S3 4.3寸 RoArm-M2-S FLASH文件系统操作 Raspberry Pi camera V1 树莓派Pico 2 RP2350 1.69寸LCD开发板显示触摸屏板载QMI8658 6轴 ESP32-S3