怎样用树莓派和3轴加速度计LIS3DHTR检查3个垂直轴X和Y及Z上的加速度

电子说

1.3w人已加入

描述

步骤1:我们需要的基本硬件

对我们来说问题不大,因为我们有很多工作要做。无论如何,我们知道其他人在有用的地方积聚正确的部分是多么麻烦,这是毫无理由的,每一分钱都不必理会。因此,我们将为您提供帮助。请按照随附的附件获得完整的零件清单。

1。 Raspberry Pi

第一步是获得Raspberry Pi开发板。 Raspberry Pi是基于Linux的单板PC。这款小巧的PC具备强大的计算能力,可作为小工具活动的一部分,以及诸如电子表格,单词准备,网页扫描和电子邮件以及游戏等简单的操作。

2。 Raspberry Pi的I2C Shield

Raspberry Pi真正缺少的主要问题是I²C端口。因此,TOUTPI2I²C连接器使您可以将Rasp Pi与任何I²C设备一起使用。它可以在DCUBE商店中购买。

3。 3轴加速度计LIS3DHTR

LIS3DH是一种超低功耗高功率性能属于“ nano ”系列的三轴线性加速度计,具有数字I2C/SPI串行接口标准输出。我们从DCUBE商店购买了此传感器

4。连接电缆

我们从 DCUBE商店

5获得了I2C连接电缆。 Micro USB电缆

Raspberry Pi最小,但最费力,但是最严格。处理最简单的方法是使用 Micro USB电缆。

6。 Web访问是必需的

互联网孩子们永远不要睡觉!

让您的Raspberry Pi与以太网相关联(LAN)电缆,然后将其连接到网络路由器。选修课程,搜索 WiFi连接器,然后使用USB端口之一连接到远程系统。这是一个敏锐的决定,简单,小巧,伪劣!

7。 HDMI电缆/远程访问

Raspberry Pi具有HDMI端口,您可以使用HDMI电缆专门连接到屏幕或电视。 可选,您可以使用 SSH 从Linux PC或Macintosh从终端与Raspberry Pi关联。同样, PuTTY ,一个免费的开源终端模拟器听起来像是一个不错的选择。

步骤2:连接硬件

根据原理图出现电路。绘制图表并精确遵循轮廓。

想象力比知识更重要。

Raspberry Pi与I2C Shield的连接

最重要的是,拿起Raspberry Pi并在其上找到I2C Shield。在Pi的 GPIO 引脚上轻轻按一下Shield,我们就可以像饼图一样简单地完成此过程(请参见快照)。

传感器和Raspberry Pi

带传感器并与I2C电缆接口。为了使此电缆正常工作,请回忆与I2C输入相关的I2C输出 ALWAYS 。对于覆有I2C屏蔽层的GPIO引脚的Raspberry Pi,必须采取同样的措施。

我们赞同使用I2C电缆,因为它无需检查引出线,紧固和带来的不适感甚至用最小的螺丝拧紧。使用此基本的附件和播放电缆,您可以有效地呈现,替换小工具或向应用程序添加更多小工具。

注意:棕色电线应可靠地跟随一个设备的输出与另一设备的输入之间的接地(GND)连接。/strong》

Web网络是关键

要取得成功,我们需要为Raspberry建立互联网协会皮。为此,您可以选择将以太网(LAN)电缆与家庭网络连接。此外,作为一种替代方案,可以选择的做法是使用 WiFi USB连接器。通常,您需要驱动程序才能使其正常运行。因此,请在说明中倾向于使用 Linux 的服务器。

电源

插入将Micro USB电缆插入Raspberry Pi的电源插孔。冲一下就可以了。

与屏幕的连接

我们可以使用 HDMI电缆 》与另一个屏幕相关联。在某些情况下,您必须使用Raspberry Pi而不将其连接到屏幕,否则您可能需要从其他地方查看它的某些数据。可以想象,有这样做的创新方法和精明的方法。其中之一是利用- SSH(远程命令行登录)。您也可以同样使用 PUTTY 软件。这些是针对高级用户的。因此,这里不包括详细信息。

步骤3:Raspberry Pi的Python编码

的Python代码可以在我们的 Github 存储库中访问》 Raspberry Pi 和 LIS3DHTR 传感器。

在继续执行代码之前,请确保您已阅读自述文件存档中给出的规则,并根据其设置您的Raspberry Pi。只是暂时休息一下,可以考虑所有事情。

加速度计是一种可以测量加速度的机电小工具。这些力量可能是静态的,类似于在脚上不断施加重力的力量,或者它们可能是可变的-通过移动或振动加速度计来实现。

随附的是python代码,您可以克隆并以您倾向于的任何方式调整代码。

# Distributed with a free-will license.

# Use it any way you want, profit or free, provided it fits in the licenses of its associated works.

# LIS3DHTR

# This code is designed to work with the LIS3DHTR_I2CS I2C Mini Module available from dcubestore.com

# http://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2%B2c-mini-module/

import smbus

import time

# Get I2C bus

bus = smbus.SMBus(1)

# LIS3DHTR address, 0x18(24)

# Select control register1, 0x20(32)

# 0x27(39) Power ON mode, Data rate selection = 10 Hz

# X, Y, Z-Axis enabled

bus.write_byte_data(0x18, 0x20, 0x27)

# LIS3DHTR address, 0x18(24)

# Select control register4, 0x23(35)

# 0x00(00) Continuous update, Full-scale selection = +/-2G

bus.write_byte_data(0x18, 0x23, 0x00)

time.sleep(0.5)

# LIS3DHTR address, 0x18(24)

# Read data back from 0x28(40), 2 bytes

# X-Axis LSB, X-Axis MSB

data0 = bus.read_byte_data(0x18, 0x28)

data1 = bus.read_byte_data(0x18, 0x29)

# Convert the data

xAccl = data1 * 256 + data0

if xAccl 》 32767 :

xAccl -= 65536

# LIS3DHTR address, 0x18(24)

# Read data back from 0x2A(42), 2 bytes

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data(0x18, 0x2A)

data1 = bus.read_byte_data(0x18, 0x2B)

# Convert the data

yAccl = data1 * 256 + data0

if yAccl 》 32767 :

yAccl -= 65536

# LIS3DHTR address, 0x18(24)

# Read data back from 0x2C(44), 2 bytes

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data(0x18, 0x2C)

data1 = bus.read_byte_data(0x18, 0x2D)

# Convert the data

zAccl = data1 * 256 + data0

if zAccl 》 32767 :

zAccl -= 65536

# Output data to screen

print “Acceleration in X-Axis : %d” %xAccl

print “Acceleration in Y-Axis : %d” %yAccl

print “Acceleration in Z-Axis : %d” %zAccl

步骤4:代码的可操作性

从 Github 下载(或git pull)代码,然后在Raspberry Pi中将其打开。

运行命令以编译并上传代码在终端中,并在屏幕即可。几分钟后,它将演示每个参数。为了保证一切正常,您可以将这项工作付诸实践。

第5步:应用程序和功能

由 STMicroelectronics ,LIS3DHTR具有动态用户可选的±2g/±4g/±8g/±16g满刻度,并且能够以1Hz至5kHz的输出数据速率测量加速度。 LIS3DHTR适用于运动激活功能和自由落体检测。它可量化倾斜检测应用中重力的静态加速度和附加动态加速度即将发布,原因是运动或震动。其他应用包括点击/双击识别,手持设备的智能节电,计步器,显示方向,游戏和虚拟现实输入设备,撞击识别以及记录和振动监控与补偿。 p》

步骤6:结论

相信这项工作会刺激进一步的实验。 该I2C传感器具有出色的适应性,适度且可用。由于这是一个非常棒的非永久性框架,因此您可以通过有趣的方式扩展此分配并甚至对其进行增强。

例如,您可以从《使用 LIS3DHTR和Raspberry Pi 来实现strong》计步器。在上述任务中,我们利用了基础计算。 加速度可以是分析步行决策的相关参数。 您可以查看个人的三个运动分量,分别是向前(滚动,X),侧面(俯仰,Y)和垂直(偏航轴,Z)。记录所有三个轴。 至少1个轴具有相对较大的周期性加速度值。因此,峰方向和算法必不可少。考虑到该算法的阶跃参数(数字滤波器,峰值检测,时间窗口等),您可以识别并计数阶跃,以及测量距离,速度以及(在一定程度上)消耗的卡路里。因此,您可以通过各种方式使用此传感器。我们相信大家都喜欢!我们将尝试尽早而不是稍后地再现此计步器的工作原理,配置,代码,计算将步行和跑步分开的方式以及消耗卡路里的部分。

责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分