Mündəricat:

H3LIS331DL və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: 4 addım
H3LIS331DL və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: 4 addım

Video: H3LIS331DL və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: 4 addım

Video: H3LIS331DL və Raspberry Pi istifadə edərək sürətlənmənin ölçülməsi: 4 addım
Video: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, Noyabr
Anonim
Image
Image

H3LIS331DL, rəqəmsal I²C seriyalı interfeysi olan "nano" ailəsinə aid olan aşağı güclü yüksək performanslı 3 oxlu xətti sürətləndiricidir. H3LIS331DL, istifadəçi tərəfindən seçilə bilən ± 100g/± 200g/± 400g ölçülü tərzlərə malikdir və 0,5 Hz -dən 1 kHz -ə qədər olan məlumat ötürmə sürətləri ilə sürətlənməni ölçmək qabiliyyətinə malikdir. H3LIS331DL -40 ° C -dən +85 ° C -ə qədər geniş bir temperatur aralığında işləməsinə zəmanət verilir.

Bu dərslikdə, proqramlaşdırma dili olaraq python istifadə edərək, Raspberry Pi ilə H3LIS331DL arasındakı əlaqəni nümayiş etdirəcəyik.

Addım 1: Lazım olan avadanlıq:

Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur
Avadanlıq tələb olunur

Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:

1. H3LIS331DL

2. Moruq Pi

3. I2C Kabeli

4. Moruq pi üçün I2C Shield

5. Ethernet Kabeli

Addım 2: Hardware Bağlantısı:

Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama
Avadanlıq Bağlama

Avadanlıq bağlama bölməsi əsasən sensor və moruq pi arasında lazım olan tel əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:

H3LIS331DL I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.

Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük. Lazım olan tək şey dörd teldir!

Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.

Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.

Addım 3: Sürətləndirmə Ölçmə üçün Python Kodu:

Sürətləndirmə Ölçmə üçün Python Kodu
Sürətləndirmə Ölçmə üçün Python Kodu

moruq pi istifadə etmənin üstünlüyü, sensoru onunla əlaqələndirmək üçün lövhəni proqramlaşdırmaq istədiyiniz proqramlaşdırma dilinin rahatlığını təmin edir. Bu lövhənin bu üstünlüyündən istifadə edərək burada pythonda proqramlaşdırmasını nümayiş etdiririk. Python, ən asan sintaksisi olan ən asan proqramlaşdırma dillərindən biridir. H3LIS331DL üçün python kodu DCUBE Mağazası olan github cəmiyyətimizdən yükləyə bilərsiniz.

İstifadəçilərin rahatlığı üçün, kodu da burada izah edirik:

Kodlaşdırmanın ilk addımı olaraq python vəziyyətində SMBus kitabxanasını yükləməlisiniz, çünki bu kitabxana kodda istifadə olunan funksiyaları dəstəkləyir. Beləliklə, kitabxananı yükləmək üçün aşağıdakı linkə daxil ola bilərsiniz:

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

İş kodunu buradan da kopyalaya bilərsiniz:

smbus idxal edin

idxal vaxtı

# I2C avtobusunu alın = smbus. SMBus (1)

# H3LIS331DL ünvanı, 0x18 (24)

# Nəzarət reyestrini seçin 1, 0x20 (32)

# 0x27 (39) Güc AÇMA rejimi, Məlumat çıxış sürəti = 50 Hz# X, Y, Z-Ekseni aktivdir

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

# H3LIS331DL ünvanı, 0x18 (24)# Nəzarət reyestrini seçin 4, 0x23 (35)

# 0x00 (00) Davamlı yeniləmə, Tam miqyaslı seçim = +/- 100g

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

vaxt.yuxu (0.5)

# H3LIS331DL ünvanı, 0x18 (24)

# 0x28 (40), 2 baytdan məlumatları geri oxuyun

# X-Axis LSB, X-Axis MSB

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

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

# DataxAccl = data1 * 256 + data0 çevir

əgər xAccl> 32767:

xAccl -= 65536

# H3LIS331DL ünvanı, 0x18 (24)

# 0x2A (42), 2 baytdan məlumatları geri oxuyun

# Y-Axis LSB, Y-Axis MSB

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

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

# Məlumatları çevirin

yAccl = data1 * 256 + data0

yAccl> 32767 olarsa:

yAccl -= 65536

# H3LIS331DL ünvanı, 0x18 (24)

# 0x2C (44), 2 baytdan məlumatları geri oxuyun

# Z-Axis LSB, Z-Axis MSB

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

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

# Məlumatları çevirin

zAccl = data1 * 256 + data0

əgər zAccl> 32767:

zAccl -= 65536

# Ekrana məlumat çıxarın

çap "X Eksenində Sürətləndirmə: %d" %xAccl

çap "Y Eksenində Sürətləndirmə: %d" %yAccl

çap "Z Eksenində Sürətləndirmə: %d" %zAccl

Kod aşağıdakı əmrdən istifadə etməklə yerinə yetirilir:

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

İstifadəçinin məlumatı üçün sensorun çıxışı yuxarıdakı şəkildə göstərilmişdir.

Addım 4: Tətbiqlər:

Tətbiqlər
Tətbiqlər

H3LIS331DL kimi sürətləndiricilər, əsasən tətbiqini oyunlarda tapır və profil dəyişdirilməsini göstərir. Bu sensor modulu mobil tətbiqlər üçün inkişaf etmiş güc idarəetmə sistemində də istifadə olunur. H3LIS331DL, ağıllı çipdə hərəkətə gətirilən kəsmə nəzarət cihazı ilə birləşdirilmiş üç eksenli rəqəmsal sürətləndirmə sensoru.

Tövsiyə: