Talaan ng mga Nilalaman:

Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Raspberry Pi: 4 na Hakbang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Raspberry Pi: 4 na Hakbang

Video: Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Raspberry Pi: 4 na Hakbang

Video: Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Raspberry Pi: 4 na Hakbang
Video: Beginner projects using a Knitting Machine - Easy projects tutorial 2024, Hulyo
Anonim
Image
Image

Ang H3LIS331DL, ay isang mababang lakas na pagganap ng 3-axis linear accelerometer na kabilang sa pamilyang "nano", na may digital I serial na serial interface. Ang H3LIS331DL ay maaaring mapili ng gumagamit ng buong kaliskis na ± 100g / ± 200g / ± 400g at may kakayahang sukatin ang mga acceleration na may mga rate ng output data mula sa 0.5 Hz hanggang 1 kHz. Ang H3LIS331DL ay garantisadong upang gumana sa isang pinalawig na saklaw ng temperatura mula -40 ° C hanggang +85 ° C.

Sa tutorial na ito ipapakita namin ang pag-interfacing ng H3LIS331DL sa Raspberry Pi, gamit ang python bilang isang wika ng programa.

Hakbang 1: Kinakailangan ang Hardware:

Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware
Kinakailangan ang Hardware

Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:

1. H3LIS331DL

2. Raspberry Pi

3. I2C Cable

4. I2C Shield para sa raspberry pi

5. Ethernet Cable

Hakbang 2: Hardware Hookup:

Hardware Hookup
Hardware Hookup
Hardware Hookup
Hardware Hookup

Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng raspberry pi. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:

Gagana ang H3LIS331DL sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.

Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko. Ang kailangan mo lang ay apat na wires!

Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.

Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.

Hakbang 3: Python Code para sa Pagsukat sa Pagpabilis:

Python Code para sa Pagsukat ng Acceleration
Python Code para sa Pagsukat ng Acceleration

bentahe niya ng paggamit ng raspberry pi ay, nagbibigay sa iyo ng kakayahang umangkop ng wika ng programa kung saan nais mong i-program ang board upang ma-interface ang sensor kasama nito. Ginagamit ang kalamangan na ito ng board na ito, ipinapakita namin dito ang programa nito sa sawa. Ang Python ay isa sa pinakamadaling mga wika sa pagprograma na may pinakamadaling syntax. Ang python code para sa H3LIS331DL ay maaaring ma-download mula sa aming komunidad na github na DCUBE Store.

Pati na rin para sa kadalian ng mga gumagamit, ipinapaliwanag din namin ang code dito:

Bilang unang hakbang ng pag-coding kailangan mong i-download ang SMBus library sa kaso ng sawa, dahil sinusuportahan ng library na ito ang mga pagpapaandar na ginamit sa code. Kaya, upang mai-download ang library maaari mong bisitahin ang sumusunod na link:

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

Maaari mong kopyahin ang nagtatrabaho code mula dito din:

import smbus

oras ng pag-import

# Kumuha ng I2C busbus = smbus. SMBus (1)

# H3LIS331DL address, 0x18 (24)

# Piliin ang control register 1, 0x20 (32)

# 0x27 (39) Power ON mode, Data output rate = 50 Hz # X, Y, Z-Axis pinagana

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

# H3LIS331DL address, 0x18 (24) # Piliin ang rehistro ng kontrol 4, 0x23 (35)

# 0x00 (00) Patuloy na pag-update, Seleksyon ng buong sukat = +/- 100g

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

oras. pagtulog (0.5)

# H3LIS331DL address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x28 (40), 2 bytes

# X-Axis LSB, X-Axis MSB

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

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

# I-convert ang dataxAccl = data1 * 256 + data0

kung xAccl> 32767:

xAccl - = 65536

# H3LIS331DL address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x2A (42), 2 bytes

# Y-Axis LSB, Y-Axis MSB

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

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

# I-convert ang data

yAccl = data1 * 256 + data0

kung yAccl> 32767:

yAccl - = 65536

# H3LIS331DL address, 0x18 (24)

# Basahin ang data pabalik mula sa 0x2C (44), 2 bytes

# Z-Axis LSB, Z-Axis MSB

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

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

# I-convert ang data

zAccl = data1 * 256 + data0

kung zAccl> 32767:

zAccl - = 65536

# Data ng output sa screen

i-print ang "Acceleration in X-Axis:% d"% xAccl

i-print ang "Acceleration in Y-Axis:% d"% yAccl

i-print ang "Acceleration in Z-Axis:% d"% zAccl

Isinasagawa ang code gamit ang sumusunod na utos:

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

Ang output ng sensor ay ipinapakita sa larawan sa itaas para sa sanggunian ng gumagamit.

Hakbang 4: Mga Aplikasyon:

Mga Aplikasyon
Mga Aplikasyon

Ang karamihan sa mga Accelerometers tulad ng H3LIS331DL ay matatagpuan ang application nito sa mga laro at pagpapalit ng profile display. Ang module ng sensor na ito ay ginagamit din sa advanced na system ng pamamahala ng kuryente para sa mga mobile application. Ang H3LIS331DL ay isang triaxial digital acceleration sensor na isinama sa isang matalinong on-chip na paggalaw na na-trigger ng makagambala na controller.

Inirerekumendang: