Orodha ya maudhui:

Upimaji wa Kuongeza kasi Kutumia ADXL345 na Raspberry Pi: 4 Hatua
Upimaji wa Kuongeza kasi Kutumia ADXL345 na Raspberry Pi: 4 Hatua

Video: Upimaji wa Kuongeza kasi Kutumia ADXL345 na Raspberry Pi: 4 Hatua

Video: Upimaji wa Kuongeza kasi Kutumia ADXL345 na Raspberry Pi: 4 Hatua
Video: BTT - Manta M8P - TMC2208 2024, Julai
Anonim
Image
Image

ADXL345 ni nguvu ndogo, nyembamba, nguvu ya mwisho, 3-axis accelerometer na azimio la juu (13-bit) kipimo hadi ± 16 g. Takwimu za pato la dijiti zimepangwa kama vijazo 16-bit vinavyosaidia na inapatikana kupitia I2 C interface ya dijiti. Inapima kasi ya kasi ya mvuto katika programu-kuhisi matumizi, na pia kasi ya nguvu inayosababishwa na mwendo au mshtuko. Azimio lake kubwa (3.9 mg / LSB) huwezesha kipimo cha mabadiliko ya mwelekeo chini ya 1.0 °.

Katika mafunzo haya ujumuishaji wa moduli ya sensorer ya ADXL345 na pi ya rasipberry imeonyeshwa na programu yake kwa kutumia lugha ya chatu pia imeonyeshwa. Ili kusoma maadili ya kuongeza kasi kwenye mhimili wote wa 3, tumetumia pi ya rasipberry na adapta ya I2C. Adapter hii ya I2C inafanya unganisho kwa moduli ya sensa iwe rahisi na ya kuaminika zaidi.

Hatua ya 1: Vifaa vinahitajika:

Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika

Vifaa ambavyo tunahitaji kutimiza lengo letu ni pamoja na vifaa vifuatavyo vya vifaa:

1. ADXL345

2. Raspberry Pi

3. Cable ya I2C

4. I2C Shield kwa rasipberry pi

5. Cable ya Ethernet

Hatua ya 2: Kuunganishwa kwa vifaa:

Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa

Sehemu ya uunganishaji wa vifaa kimsingi inaelezea uunganisho wa wiring unaohitajika kati ya sensorer na pi ya raspberry. Kuhakikisha unganisho sahihi ni hitaji la msingi wakati unafanya kazi kwenye mfumo wowote wa pato unalotaka. Kwa hivyo, viunganisho vinavyohitajika ni kama ifuatavyo.

ADXL345 itafanya kazi juu ya I2C. Hapa kuna mfano wa mchoro wa wiring, unaonyesha jinsi ya kuweka waya kila kiunganishi cha sensa.

Nje ya sanduku, bodi imesanidiwa kwa kiolesura cha I2C, kwa hivyo tunapendekeza utumie uunganisho huu ikiwa wewe ni agnostic.

Unachohitaji ni waya nne! Viunganisho vinne tu vinahitajika Vcc, Gnd, SCL na SDA pini na hizi zimeunganishwa kwa msaada wa kebo ya I2C.

Uunganisho huu umeonyeshwa kwenye picha hapo juu.

Hatua ya 3: Nambari ya Upimaji wa Kuharakisha:

Kanuni ya Upimaji wa Kuharakisha
Kanuni ya Upimaji wa Kuharakisha

Faida ya kutumia rasipiberi pi ni kwamba, inakupa kubadilika kwa lugha ya programu ambayo unataka kupanga bodi ili kuunganisha kihisi nayo. Kuunganisha faida hii ya bodi hii, tunaonyesha hapa programu yake katika chatu. Nambari ya chatu ya ADXL345 inaweza kupakuliwa kutoka kwa jamii yetu ya github ambayo ni Dhibiti Jumuiya ya Kila kitu.

Pamoja na urahisi wa watumiaji, tunaelezea nambari hapa pia:

Kama hatua ya kwanza ya usimbuaji unahitaji kupakua maktaba ya smbus ikiwa kuna chatu, kwa sababu maktaba hii inasaidia kazi zinazotumiwa kwenye nambari. Kwa hivyo, kupakua maktaba unaweza kutembelea kiunga kifuatacho:

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

Unaweza kunakili nambari inayofanya kazi ya chatu kutoka hapa pia:

kuagiza smbus

muda wa kuagiza

# Pata basi ya I2C = smbus. SMBus (1)

Anwani ya # ADXL345, 0x53 (83)

# Chagua rejista ya kiwango cha upendeleo, 0x2C (44)

# 0x0A (10) Hali ya kawaida, Kiwango cha data ya Pato = 100 Hz

andika_data_ya data (0x53, 0x2C, 0x0A)

Anwani ya # ADXL345, 0x53 (83)

# Chagua rejista ya kudhibiti nguvu, 0x2D (45)

# 0x08 (08) Kulala kiotomatiki kulemaza

kuandika. data_byte_data (0x53, 0x2D, 0x08)

Anwani ya # ADXL345, 0x53 (83)

# Chagua rejista ya fomati ya data, 0x31 (49)

# 0x08 (08) Jaribio la kibinafsi limezimwa, kiolesura cha waya 4

Azimio kamili, Range = +/- 2g

andika_data ya basi (0x53, 0x31, 0x08)

saa. kulala (0.5)

Anwani ya # ADXL345, 0x53 (83)

# Soma data nyuma kutoka 0x32 (50), 2 ka

# X-Mhimili LSB, X-Axis MSB

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

# Badilisha data iwe 10-bits

xAccl = ((data1 & 0x03) * 256) + data0

ikiwa xAccl> 511:

xAccl - = 1024

Anwani ya # ADXL345, 0x53 (83)

# Soma data nyuma kutoka 0x34 (52), 2 ka

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

# Badilisha data iwe 10-bits

yAccl = ((data1 & 0x03) * 256) + data0

ikiwa yAccl> 511:

yAccl - = 1024

Anwani ya # ADXL345, 0x53 (83)

# Soma data nyuma kutoka 0x36 (54), 2 ka

# Z-Mhimili LSB, Z-Mhimili MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

# Badilisha data iwe 10-bits

zAccl = ((data1 & 0x03) * 256) + data0

ikiwa zAccl> 511:

zAccl - = 1024

# Pato data kwa screen

chapisha "Kuongeza kasi katika X-Axis:% d"% xAccl

chapisha "Kuongeza kasi katika Y-Axis:% d"% yAccl

chapisha "Kuongeza kasi katika Z-Axis:% d"% zAccl

Sehemu ya nambari iliyotajwa hapa chini ni pamoja na maktaba zinazohitajika kwa utekelezaji sahihi wa nambari za chatu.

kuagiza muda wa kuagiza

Nambari inaweza kutekelezwa kwa kuandika amri iliyotajwa hapo chini katika mwongozo wa amri.

$> chatu ADXL345.py

Pato la sensorer pia linaonyeshwa kwenye picha hapo juu kwa kumbukumbu ya mtumiaji.

Hatua ya 4: Maombi:

Maombi
Maombi

ADXL345 ni nguvu ndogo, nyembamba, nguvu ya mwendo wa kasi, 3-axis accelerometer ambayo inaweza kuajiriwa kwenye vifaa vya mkono, vifaa vya matibabu n.k Maombi yake pia yanajumuisha vifaa vya Michezo ya Kubahatisha na kuelekeza, vifaa vya Viwanda, vifaa vya urambazaji wa kibinafsi na ulinzi wa Hard disk drive (HDD).

Ilipendekeza: