使用Python脚本接口数字发现与I2C设备

在本教程中,我们将使用python脚本读取带有I2C接口(LIS35DE)的数字加速度计的数据,并以图形化的方式呈现数据。


库存


步骤1:硬件设置

1.连接接地和Vdd的传感器到数字发现接地和VIO引脚。

2.传感器为双接口,SPI或I2C。它应该保持I2C模式。的CS设备的引脚需要连接到Vdd。

3.该芯片具有可选择的I2C地址;要选择0x38作为地址,需要绑定到SDO引脚接地

4.SDA和SCL线应分别连接到DIO33和DIO32。

5.这些线路应该有合适的上拉电阻连接-电阻已经安装在选定的模块上。


步骤2:脚本

下载的Python脚本将:

1.负载波形SDK

2.连接到数字发现

3.使能传感器3.3V电源

4.配置I2C接口

要配置演示,用户需要设置总线的工作频率,并选择应该使用数字发现的哪个引脚。

请注意SDK相关的数字输出或输入/输出(如I2C接口)从DIO24开始计数通道。DIO24将被引用为0,dio25被引用为1,等等。

#设置I2C频率和引脚dwf。FDwfDigitalI2cRateSet(hdwf, c_double(1e5)) # 100kHz dwf。FDwfDigitalI2cSclSet(hdwf, c_int(32-24)) # SCL = DIO-32 dwf。FDwfDigitalI2cSdaSet(hdwf, c_int(33-24)) # SDA = DIO-33

5.初始化传感器和显示

6.读取传感器数据和更新图表,只要plot窗口是打开的

传感器的每个读操作都是I2C总线上的写-读操作。为一个完整的操作设置设备地址,WaveForms SDK自动维护R/W位。两个数组用于写入和读取数据,由用户指定写入的字节数,并在重复启动后进行读取。在我们的例子中,只有一个字节被写入。寄存器地址与位掩码相结合,表示传感器在从总线读取每个字节后应该增加寄存器地址。然后,从OUTX寄存器开始的后续寄存器中读取5个字节。读取数据包含3个字节,X, Y和Z加速数据表示为两个补码和两个虚拟字节。

dwf。FDwfDigitalI2cWriteRead(hdwf, c_int(address << 1), (c_ubyte*1)(LIS35DEreg.)REG_OUTX | lis35eder.read_inc), c_int(1), rgRX, c_int(5), byref(iNak))

7.关闭plot窗口后,关闭电源,断开与设备的连接


步骤3:运行Demo

在运行脚本之前,请确保所有连接都是正确的,并将传感器放置在一个平面上进行“虚拟水平仪”校准。准备好后,运行脚本。应该出现以下窗口。

窗口的上部呈现生活XYZ的加速度传感器作为时间的函数,而下半部分介绍了实际X和Y加速度作为蓝色星号(*),当传感器在同一方向的脚本启动星号中心——它表现得像一个精神层面。

关闭窗口后,脚本将关闭传感器并断开与数字发现的连接。


第四步:包装

使用数字发现和波形SDK,可以与一个代表性的数字传感器通信。只需稍加努力,就可以测试通信和配置,以及呈现一个简单的图形界面。一些自动测试程序可用于设计控制。


下一个步骤

有关如何使用数字发现的更多指南,请返回设备的资源中心.有关波形的更多信息,请访问波形参考手册.如需技术支持,请访问测试和测量Digilent论坛的一部分。