Tartalomjegyzék:

Gyorsulás mérése H3LIS331DL és Raspberry Pi használatával: 4 lépés
Gyorsulás mérése H3LIS331DL és Raspberry Pi használatával: 4 lépés

Videó: Gyorsulás mérése H3LIS331DL és Raspberry Pi használatával: 4 lépés

Videó: Gyorsulás mérése H3LIS331DL és Raspberry Pi használatával: 4 lépés
Videó: Создание приложений для мобильных устройств, игр, Интернета вещей и многого другого с помощью AWS DynamoDB, Рик Хулихан 2024, November
Anonim
Image
Image

A H3LIS331DL egy kis teljesítményű, nagy teljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL ± 100 g/± 200 g/± 400 g felhasználó által választható teljes skálával rendelkezik, és képes 0,5 Hz és 1 kHz kimeneti adatátviteli sebességű gyorsulások mérésére. A H3LIS331DL garantáltan -40 ° C és +85 ° C közötti kiterjesztett hőmérséklettartományban működik.

Ebben az oktatóanyagban a H3LIS331DL és a Raspberry Pi interfészét mutatjuk be, python programozási nyelvként.

1. lépés: Szükséges hardver:

Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver
Szükséges hardver

A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:

1. H3LIS331DL

2. Málna Pi

3. I2C kábel

4. I2C Shield málna pi

5. Ethernet kábel

2. lépés: Hardver csatlakoztatása:

Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása

A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:

A H3LIS331DL az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.

A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus. Csak négy vezetékre van szüksége!

Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.

Ezeket az összefüggéseket a fenti képek mutatják be.

3. lépés: Python -kód a gyorsulásméréshez:

Python -kód a gyorsulásméréshez
Python -kód a gyorsulásméréshez

a málna pi használatának előnye az, hogy rugalmasságot biztosít annak a programozási nyelvnek, amelyen a táblát programozni kívánja, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk a programozását a pythonban. A Python az egyik legegyszerűbb programozási nyelv, a legegyszerűbb szintaxissal. A H3LIS331DL python kódja letölthető github közösségünkből, azaz a DCUBE Store -ból.

A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:

A kódolás első lépéseként le kell töltenie az SMBus könyvtárat python esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:

pypi.python.org/pypi/smbus-cffi/0.5.1

Innen is átmásolhatja a működőkódot:

import smbus

importálási idő

# I2C busz beszerzése = smbus. SMBus (1)

# H3LIS331DL cím, 0x18 (24)

# Válassza ki az 1. vezérlőregisztert, 0x20 (32)

# 0x27 (39) Bekapcsolás üzemmód, Adatkimeneti sebesség = 50 Hz# X, Y, Z-tengely engedélyezve

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

# H3LIS331DL cím, 0x18 (24)# Vezérlőregiszter 4 kiválasztása, 0x23 (35)

# 0x00 (00) Folyamatos frissítés, Teljes skálaválasztás = +/- 100g

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

time.sleep (0,5)

# H3LIS331DL cím, 0x18 (24)

# Adatok visszaolvasása 0x28 (40), 2 bájtból

# X-tengely LSB, X-tengely MSB

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

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

# A dataxAccl = data1 * 256 + data0 konvertálása

ha xAccl> 32767:

xAccl -= 65536

# H3LIS331DL cím, 0x18 (24)

# Adatok visszaolvasása 0x2A (42), 2 bájtból

# Y-tengely LSB, Y-tengely MSB

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

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

# Konvertálja az adatokat

yAccl = adatok1 * 256 + adatok0

ha yAccl> 32767:

yAccl -= 65536

# H3LIS331DL cím, 0x18 (24)

# Adatok visszaolvasása 0x2C (44), 2 bájtból

# Z-tengely LSB, Z-tengely MSB

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

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

# Konvertálja az adatokat

zAccl = adatok1 * 256 + adatok0

ha zAccl> 32767:

zAccl -= 65536

# Adatok megjelenítése a képernyőn

print "Gyorsulás az X-tengelyben: %d" %xAccl

print "Gyorsulás Y tengelyen: %d" %yAccl

print "Gyorsulás Z-tengelyben: %d" %zAccl

A kód végrehajtása a következő paranccsal történik:

$> python H3LIS331DL.py gt; python H3LIS331DL.py

Az érzékelő kimenete a fenti képen látható a felhasználó számára.

4. lépés: Alkalmazások:

Alkalmazások
Alkalmazások

Az olyan gyorsulásmérők, mint a H3LIS331DL, leginkább a játékokban és a megjelenítési profilváltásban találhatók. Ez az érzékelő modul a mobil alkalmazások fejlett energiagazdálkodási rendszerében is használatos. A H3LIS331DL egy háromtengelyes digitális gyorsulásérzékelő, amely intelligens chipen belüli mozgás által kiváltott megszakításvezérlővel van felszerelve.

Ajánlott: