Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Hardware:
- Hakbang 2: Hardware Hookup:
- Hakbang 3: Code para sa Pagsukat ng Pagpabilis:
- Hakbang 4: Mga Aplikasyon:
Video: Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Raspberry Pi: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat nito ang static na pagpabilis ng gravity sa mga application na nakakiling, at pati na rin ang pabago-bagong paggalaw na nagreresulta mula sa paggalaw o pagkabigla. Ang mataas na resolusyon (3.9 mg / LSB) ay nagbibigay-daan sa pagsukat ng mga pagbabago sa pagkahilig mas mababa sa 1.0 °.
Sa tutorial na ito ang interfacing ng ADXL345 sensor module na may raspberry pi ay ipinakita at ang programa nito gamit ang wika ng sawa ay nakalarawan din. Upang mabasa ang mga halaga ng pagpabilis sa lahat ng 3-axis, gumamit kami ng raspberry pi na may isang I2C adapter. Ginagawa ng I2C adapter na ito ang koneksyon sa module ng sensor na mas madali at mas maaasahan.
Hakbang 1: Kinakailangan ang Hardware:
Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:
1. ADXL345
2. Raspberry Pi
3. I2C Cable
4. I2C Shield para sa raspberry pi
5. Ethernet Cable
Hakbang 2: 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:
Ang ADXL345 ay gagana sa 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: Code para sa Pagsukat ng Pagpabilis:
Ang bentahe 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 code para sa ADXL345 ay maaaring ma-download mula sa aming komunidad na github na Control Lahat ng Komunidad.
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 gumaganang python code para sa sensor na ito mula dito din:
import smbus
oras ng pag-import
# Kumuha ng I2C busbus = smbus. SMBus (1)
# ADXL345 address, 0x53 (83)
# Piliin ang rehistro ng rate ng bandwidth, 0x2C (44)
# 0x0A (10) Karaniwang mode, rate ng data ng output = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# ADXL345 address, 0x53 (83)
# Piliin ang rehistro ng kontrol sa kuryente, 0x2D (45)
# 0x08 (08) Hindi paganahin ang Auto Sleep
bus.write_byte_data (0x53, 0x2D, 0x08)
# ADXL345 address, 0x53 (83)
# Piliin ang rehistro ng format ng data, 0x31 (49)
# 0x08 (08) Hindi pinagana ang self test, 4-wire interface
# Buong resolusyon, Saklaw = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
oras. pagtulog (0.5)
# ADXL345 address, 0x53 (83)
# Basahin ang data pabalik mula sa 0x32 (50), 2 bytes
# X-Axis LSB, X-Axis MSB
data0 = bus.read_byte_data (0x53, 0x32)
data1 = bus.read_byte_data (0x53, 0x33)
# I-convert ang data sa 10-bit
xAccl = (((data1 & 0x03) * 256) + data0
kung xAccl> 511:
xAccl - = 1024
# ADXL345 address, 0x53 (83)
# Basahin ang data pabalik mula sa 0x34 (52), 2 bytes
# Y-Axis LSB, Y-Axis MSB
data0 = bus.read_byte_data (0x53, 0x34)
data1 = bus.read_byte_data (0x53, 0x35)
# I-convert ang data sa 10-bit
yAccl = (((data1 & 0x03) * 256) + data0
kung yAccl> 511:
yAccl - = 1024
# ADXL345 address, 0x53 (83)
# Basahin ang data pabalik mula sa 0x36 (54), 2 bytes
# Z-Axis LSB, Z-Axis MSB
data0 = bus.read_byte_data (0x53, 0x36)
data1 = bus.read_byte_data (0x53, 0x37)
# I-convert ang data sa 10-bit
zAccl = (((data1 & 0x03) * 256) + data0
kung zAccl> 511:
zAccl - = 1024
# 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
Ang bahagi ng code na nabanggit sa ibaba ay may kasamang mga aklatan na kinakailangan para sa wastong pagpapatupad ng mga python code.
i-import ang oras ng smbusimport
Ang code ay maaaring maipatupad sa pamamagitan ng pag-type ng nabanggit na utos sa command prompt.
$> python ADXL345.py
Ang output ng sensor ay ipinapakita din sa larawan sa itaas para sa sanggunian ng gumagamit.
Hakbang 4: Mga Aplikasyon:
Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na maaaring magamit sa Handsets, Medical instrumentation atbp Kasama rin sa aplikasyon nito ang Gaming at mga tumuturo na aparato, Industrial instrumentation, Personal na nabigasyon na aparato at proteksyon ng Hard disk drive (HDD).
Inirerekumendang:
Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Particle Photon: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang ADXL345 at Particle Photon: Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat ang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Arduino Nano: 4 na Hakbang
Pagsukat ng Acceleration Paggamit ng H3LIS331DL at Arduino Nano: 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 pagpabilis
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Particle Photon: 4 na Hakbang
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Particle Photon: 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 pagpabilis
Pagsukat ng Pagpapabilis Gamit ang H3LIS331DL at Raspberry Pi: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang H3LIS331DL at Raspberry Pi: 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 pagpabilis
Pagsukat ng Pagpapabilis Gamit ang ADXL345 at Arduino Nano: 4 na Hakbang
Pagsukat ng Acceleration Gamit ang ADXL345 at Arduino Nano: Ang ADXL345 ay isang maliit, manipis, ultralow power, 3-axis accelerometer na may mataas na resolusyon (13-bit) na pagsukat hanggang sa ± 16 g. Ang data ng output ng digital ay na-format bilang 16-bit na twos komplemento at maa-access sa pamamagitan ng digital interface ng I2 C. Sinusukat ang