使用Python脚本接口数字发现与I2C设备
在本教程中,我们将使用python脚本读取带有I2C接口(LIS35DE)的数字加速度计的数据,并以图形化的方式呈现数据。
库存
-
一台有USB接口的电脑来运行软件
-
Python软件使用Python 2.7解释器和matplotlib
-
带有I2C接口的加速度计
-
在本例中,我们使用LIS35DE安装在一个KAmodMEMS2模块
-
-
2×6可使用MTE线缆进行连接
-
Python源代码下载到电脑
步骤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,可以与一个代表性的数字传感器通信。只需稍加努力,就可以测试通信和配置,以及呈现一个简单的图形界面。一些自动测试程序可用于设计控制。