使用Python脚本将数字发现与I2C设备接口
在本教程中,我们将使用Python脚本从I2C接口(LIS35DE)的数字加速度计从数字加速度计读取和图形呈现数据。
存货
-
带USB端口的计算机运行软件
-
Python软件使用Python 2.7解释器和Matplotlib
-
带I2C接口的加速度计
-
在这个例子中,我们使用lis35de.安装在A.Kamodmems2模块
-
-
可以使用2×6个MTE电缆来连接
-
Python源代码下载到电脑
第1步:硬件设置
1.连接GND.和传感器的VDD到数字发现的GND.和vio引脚分别。
2.传感器是双接口,SPI或I2C。它应该留在I2C模式中。这CS设备的PIN需要连接到VDD。
3.该芯片具有可选择的I2C地址;如果要选择0x38作为地址,则需要将SDO引脚绑定到GND..
4. SDA和SCL线路分别连接到DIO33和DIO32。
这些线路应具有合适的上拉电阻连接 - 电阻已安装在所选模块上。
第2步:脚本
下载的Python脚本将:
1.加载波形SDK
2.连接到数字发现
3.使能传感器3.3V电源
4.配置I2C接口
为了配置演示,用户需要设置总线的工作频率,并选择应该使用Digital Discovery的哪个引脚。
笔记:与数字输出相关的SDK功能,或输入/输出(例如I2C接口)从DIO24开始计数信道。DIO24将被称为0,DIO 25为1等。
#设置I2C频率和引脚DWF.FDWFDIGITIGI2CRATERET(HDWF,C_DOUBLE(1E5))#100khz dwf.fdwfditigitigiti2csclset(hdwf,c_int(32-24))#scl = dio-32 dwf.fdwfditali2csdaset(hdwf,c_int(33-24))#sda = dio-33
5.初始化传感器和显示器
6.只要绘图窗口打开,读取传感器数据和更新图
来自传感器的每个读取操作是I2C总线上的写入读取操作。为完整操作设置设备地址,波形SDK自动维护R / W位。两个数组用于编写和读取数据,用户指定应写入多少字节,并且在重复开始后,读取。在我们的情况下,只写了一个字节。寄存器地址与一个位掩码组合,指示传感器应在从总线读取每个字节后递增寄存器地址。然后,从OUTX寄存器开始的后续寄存器读取5个字节。读取数据包含3个字节,其中x,y和z加速度数据在两个补充和两个虚拟字节中表示。
dwf.fdwfditali2cwriteread(hdwf,c_int(地址<< 1),(c_ubyte * 1)(lis35dereg.reg_outx | lis35dereg.read_inc),c_int(1),rgrx,c_int(5),byref(Inak))
7.关闭图形窗口后,禁用电源并断开与设备的连接
第3步:运行演示
在运行脚本之前,请确保所有连接都正确,并将传感器放在平面上,以用于“虚拟精神级”校准。准备就绪后,运行脚本。应出现以下窗口。
窗口的上半部分作为时间的函数,从传感器呈现Live XYZ加速度,而下部将实际的X和Y加速器作为蓝色星号(*)呈现 - 当传感器处于与脚本相同的方向时启动星号在中心 - 它表现为精神级别。
关闭窗口后,脚本将关闭传感器并断开数字发现。
第4步:包装
使用数字发现和波形SDK,可以与代表数字传感器通信。通过一点努力,可以测试通信和配置,以及呈现简单的图形界面。可以实现一些自动测试程序以用于设计控制。