Kazalo:

Merjenje pospeška z uporabo H3LIS331DL in Raspberry Pi: 4 koraki
Merjenje pospeška z uporabo H3LIS331DL in Raspberry Pi: 4 koraki

Video: Merjenje pospeška z uporabo H3LIS331DL in Raspberry Pi: 4 koraki

Video: Merjenje pospeška z uporabo H3LIS331DL in Raspberry Pi: 4 koraki
Video: Физик раскрывает секреты путешествий во времени НЛО: Нимиц и Тик-Так 2024, November
Anonim
Image
Image

H3LIS331DL, je visoko zmogljiv 3-osni linearni merilnik pospeška, ki spada v družino "nano", z digitalnim serijskim vmesnikom I²C. H3LIS331DL ima polne lestvice, ki jih lahko izbere uporabnik, ± 100 g/± 200 g/± 400 g in je sposoben meriti pospeške z izhodnimi podatkovnimi hitrostmi od 0,5 Hz do 1 kHz. Zagotovljeno je, da bo H3LIS331DL deloval v razširjenem temperaturnem območju od -40 ° C do +85 ° C.

V tej vadnici bomo prikazali vmesnik H3LIS331DL z Raspberry Pi z uporabo pythona kot programskega jezika.

1. korak: Potrebna strojna oprema:

Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema
Potrebna strojna oprema

Materiali, ki jih potrebujemo za dosego našega cilja, vključujejo naslednje komponente strojne opreme:

1. H3LIS331DL

2. Malina Pi

3. Kabel I2C

4. I2C ščit za malinovo pi

5. Ethernetni kabel

2. korak: Priključitev strojne opreme:

Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme
Priključitev strojne opreme

Oddelek za priključitev strojne opreme v bistvu razlaga potrebne povezave ožičenja med senzorjem in malinovim pi. Zagotavljanje pravilnih povezav je osnovna potreba pri delu na katerem koli sistemu za želeni izhod. Torej so potrebne povezave naslednje:

H3LIS331DL bo deloval preko I2C. Tu je primer sheme ožičenja, ki prikazuje, kako povezati vsak vmesnik senzorja.

Plošča je že pripravljena za vmesnik I2C, zato priporočamo uporabo te povezave, če niste agnostični. Vse kar potrebujete so štiri žice!

Potrebne so le štiri povezave Vcc, Gnd, SCL in SDA, ki so povezane s kablom I2C.

Te povezave so prikazane na zgornjih slikah.

3. korak: Pythonova koda za merjenje pospeška:

Pythonova koda za merjenje pospeška
Pythonova koda za merjenje pospeška

Prednost uporabe maline pi je, da vam omogoča prilagodljivost programskega jezika, v katerem želite programirati ploščo, da povežete senzor z njo. Če izkoristimo to prednost te plošče, tukaj dokazujemo njeno programiranje v pythonu. Python je eden najlažjih programskih jezikov z najlažjo sintakso. Kodo python za H3LIS331DL lahko prenesete iz naše skupnosti github, ki je DCUBE Store.

Poleg lažjega uporabnika kodo razlagamo tudi tukaj:

Kot prvi korak kodiranja morate prenesti knjižnico SMBus v primeru pythona, ker ta knjižnica podpira funkcije, ki se uporabljajo v kodi. Če želite prenesti knjižnico, obiščite naslednjo povezavo:

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

Delovno kodo lahko kopirate tudi od tu:

uvoz smbus

čas uvoza

# Pridobite vodilo I2C = smbus. SMBus (1)

# H3LIS331DL naslov, 0x18 (24)

# Izberite kontrolni register 1, 0x20 (32)

# 0x27 (39) Način vklopa, izhodna hitrost podatkov = 50 Hz# X, Y, os Z je omogočena

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

# H3LIS331DL naslov, 0x18 (24)# Izberite kontrolni register 4, 0x23 (35)

# 0x00 (00) Neprekinjeno posodabljanje, izbira celotnega obsega = +/- 100g

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

time.sleep (0,5)

# H3LIS331DL naslov, 0x18 (24)

# Preberite podatke nazaj od 0x28 (40), 2 bajta

# X-os LSB, X-os MSB

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

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

# Pretvori dataxAccl = data1 * 256 + data0

če je xAccl> 32767:

xAccl -= 65536

# H3LIS331DL naslov, 0x18 (24)

# Preberite podatke nazaj iz 0x2A (42), 2 bajta

# Y-osi LSB, Y-osi MSB

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

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

# Pretvorite podatke

yAccl = podatki1 * 256 + podatki0

če je yAccl> 32767:

yAccl -= 65536

# H3LIS331DL naslov, 0x18 (24)

# Preberite podatke nazaj iz 0x2C (44), 2 bajta

# Z-os LSB, Z-os MSB

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

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

# Pretvorite podatke

zAccl = podatki1 * 256 + podatki0

če je zAccl> 32767:

zAccl -= 65536

# Iznesite podatke na zaslon

natisni "Pospešek v osi X: %d" %xAccl

natisni "Pospešek v osi Y: %d" %yAccl

natisni "Pospešek v osi Z: %d" %zAccl

Koda se izvede z naslednjim ukazom:

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

Izhod senzorja je prikazan na zgornji sliki za referenco uporabnika.

4. korak: Aplikacije:

Aplikacije
Aplikacije

Merilniki pospeška, kot je H3LIS331DL, večinoma najdejo svojo uporabo v igrah in preklapljanju profilov zaslona. Ta senzorski modul se uporablja tudi v naprednem sistemu za upravljanje porabe energije za mobilne aplikacije. H3LIS331DL je triosni digitalni senzor pospeška, ki je vgrajen v inteligentni krmilnik prekinitev, ki se sproži na čipu.

Priporočena: