"LSM303DLHC"--一个有价值的包装。

273 阅读4分钟

阅读时间: 4 分钟

你好,我们今天要讨论什么?好的,我们将讨论一个名为 "LSM303DLHC"的软件包。不要把这个包当作一个普通的包,因为它是一个有价值的包。你很快就会知道它的价值。

在以前的博客中,我们谈到了 -与硬件的通信微型计算机的能力等等。如果你想阅读更多关于这些主题的内容,那么你可以访问Rust博客

由于我们正在使用嵌入式系统,它们使我们的任务快速而可靠。此外,与传统计算机相比,它们的体积要小得多,这使得它们结构紧凑,便于携带,对大规模生产很有用。嵌入式系统的管理相当容易,因为在其创建过程中使用的元素是廉价和持久的。嵌入式系统也具有成本效益。

是时候谈谈我们的LSM303DLHC软件包了。

什么是 "LSM303DLHC"?

STM32F303VCT6探索板包含多个传感器,如

  • 加速器
  • 陀螺仪
  • 磁强计

所有这三个传感器都被嵌入到微控制器中。现在,为了与它们一起工作,我们必须访问这些传感器。但是我们从哪里可以访问它们呢?

我们通过一个包来访问这些传感器。所以包 "LSM303DLHC"包含两个传感器,即加速计和磁力计

  • LSM303DLHC基本上是一個IC,包含stm323板的傳感器。
  • F3中的两个传感器,即磁强计和加速计,被封装在一个单独的元件中:LSM303DLHC集成电路。
  • 这两个传感器可以通过**I2C总线**访问。每个传感器都表现得像一个I2C从机,并有一个不同的地址。

这个有价值的包已经存在于smt32-discovery板块中,你可以像这样访问它们。

codecode

这就是关于软件包 "LSM303DLHC "的全部内容。现在是进一步进行的时候了。

为什么 "LSM303DLHC "是有价值的?它包含什么?

这个软件包包含两个已经说过的传感器,这两个传感器是

  1. 磁强计
  2. 加速器

每个传感器都有自己的存储器,它在那里存储感知环境的结果。我们与这些传感器的交互将主要涉及读取它们的内存。

  • 这些传感器的内存被建模为可由字节寻址的寄存器。我们也可以通过写到他们的寄存器来配置他们。
  • 因此,从某种意义上说,这些传感器与微控制器内部的外围设备非常相似。唯一的区别是我们可以使用i2C总线访问它们,因为它们不像其他外设那样存在于微控制器的存储器中。

codecode

在这里,我们首先配置了i2C来提供数据、时钟线和时钟。然后,我们使用i2c总线访问该软件包,并解开 "LSM303dlhc "的功能。这整个事情使得这个软件包很有价值。

lsm303dlhc封装的传感器

让我们来谈谈这个有价值的软件包的内部结构。

磁强计

磁强计是测量磁场的传感器。在附近没有磁铁的情况下,磁强计会测量地球的磁场,它指向地理上的北方,所以你可以把磁强计当作数字罗盘使用。

地球磁场是一个三维矢量,但LSM303DLHC中的磁强计将其沿三个正交轴分解。

lsm303dlhc提供了一个mag()方法,使我们能够读取磁强计的数据。

codecode

当磁力计处于静止状态时,我们从它那里得到的读数。

I16x3 { x: 45, y: 194, z: -3 }
I16x3 { x: 46, y: 195, z: -8 }
I16x3 { x: 47, y: 197, z: -2 }

加速器

加速器是一个测量适当加速度的传感器。适当的加速度是一个物体在其自身的瞬时静止框架内的加速度;这与坐标加速度不同,后者是在固定坐标系中的加速度。这意味着,即使加速度计没有移动,它也会感应到重力加速度。

因此,该软件包包含另一个传感器,即加速计,它测量三维加速度矢量,但它报告三维矢量沿三个正交轴的分解情况。

codecode

我们读取磁力计数据的方式类似于我们可以使用lsm303dlhc包accel()方法读取加速计的数据。

读取加速器的输出

(0.0, 0.0, 1.078125)
(0.0, 0.0, 1.078125)
(0.0, 0.0, 1.171875)
(0.0, 0.0, 1.03125)
(0.0, 0.0, 1.078125)

以上就是ldm303dlhc包中的两个传感器,还有一个传感器--"陀螺仪",我们将在接下来的博客中讨论它。

今天的博客就到这里,希望你喜欢这个内容。谢谢你的阅读!!

如果你想阅读更多这样的内容? 请订阅《锈迹斑斑》电子报,每两周一次,直接在您的收件箱中接收见解和最新更新。订阅《铁锈时代》通讯:https://bit.ly/2Vdlld7。

rust timesrust times

分享Knol。

相关信息