2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
ADXL345 je majhen, tanek, 3-osni merilnik pospeška z ultra nizko močjo z visoko ločljivostjo (13-bitnimi) meritvami do ± 16 g. Digitalni izhodni podatki so oblikovani kot 16-bitni dvojčki, ki se dopolnjujejo in so dostopni prek digitalnega vmesnika I2 C. Meri statični pospešek gravitacije v aplikacijah za zaznavanje nagiba, pa tudi dinamični pospešek, ki je posledica gibanja ali udarca. Njegova visoka ločljivost (3,9 mg/LSB) omogoča merjenje naklonskih sprememb pod 1,0 °. Tukaj je predstavitev z malinovim pi z uporabo kode python.
Korak: Kaj potrebujete.. !
1. Malina Pi
2. ADXL345
3. Kabel I²C
4. I²C ščit za Raspberry Pi
5. Ethernetni kabel
2. korak: Povezava:
Za malino pi vzemite ščit I2C in ga nežno potisnite čez zatiče gpio maline pi.
Nato en konec kabla I2C priključite na senzor ADXL345, drugi konec pa na ščit I2C.
Ethernetni kabel priključite tudi na pi ali pa uporabite modul WiFi.
Povezave so prikazane na zgornji sliki.
3. korak: Koda:
Kodo python za ADXL345 lahko prenesete iz našega skladišča GitHub- Dcube Store
Tukaj je povezava za isto:
github.com/DcubeTechVentures/ADXL345..
Za kodo python smo uporabili knjižnico SMBus, koraki za namestitev SMBus na malino pi so opisani tukaj:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodo lahko tudi kopirate od tu, podana je na naslednji način:
# Razdeljeno z licenco za svobodno voljo.
# Uporabite ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam pripadajočih del.
# ADXL345
# Ta koda je zasnovana za delo z mini modulom ADXL345_I2CS I2C, ki je na voljo v trgovini Dcube.
uvoz smbus
čas uvoza
# Pridobite avtobus I2C
vodilo = smbus. SMBus (1)
# Naslov ADXL345, 0x53 (83)
# Izberite register pasovne širine, 0x2C (44)# 0x0A (10) Običajen način, Hitrost izhodnih podatkov = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# Naslov ADXL345, 0x53 (83)
# Izberite register za nadzor moči, 0x2D (45)
# 0x08 (08) Onemogočanje samodejnega spanja
bus.write_byte_data (0x53, 0x2D, 0x08)
# Naslov ADXL345, 0x53 (83)
# Izberite register oblike zapisa podatkov, 0x31 (49)
# 0x08 (08) Samopreizkus onemogočen, 4-žični vmesnik
# Polna ločljivost, razpon = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
time.sleep (0,5)
# Naslov ADXL345, 0x53 (83)
# Preberite podatke nazaj iz 0x32 (50), 2 bajta
# X-os LSB, X-os MSB
data0 = bus.read_byte_data (0x53, 0x32)
data1 = bus.read_byte_data (0x53, 0x33)
# Pretvorite podatke v 10-bitne
xAccl = ((podatki1 & 0x03) * 256) + podatki0
če je xAccl> 511:
xAccl -= 1024
# Naslov ADXL345, 0x53 (83)
# Preberite podatke nazaj iz 0x34 (52), 2 bajta
# Y-osi LSB, Y-osi MSB
data0 = bus.read_byte_data (0x53, 0x34)
data1 = bus.read_byte_data (0x53, 0x35)
# Pretvorite podatke v 10-bitne
yAccl = ((podatki1 & 0x03) * 256) + podatki0
če je yAccl> 511:
yAccl -= 1024
# Naslov ADXL345, 0x53 (83)
# Preberite podatke nazaj iz 0x36 (54), 2 bajta
# Z-os LSB, Z-os MSB
data0 = bus.read_byte_data (0x53, 0x36)
data1 = bus.read_byte_data (0x53, 0x37)
# Pretvorite podatke v 10-bitne
zAccl = ((podatki1 & 0x03) * 256) + podatki0
če je zAccl> 511:
zAccl -= 1024
# 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
4. korak: Aplikacije:
ADXL345 je majhen, tanek, 3-osni merilnik pospeška z ultra nizko močjo, ki ga je mogoče uporabiti v prenosnih enotah, medicinskih instrumentih itd. Njegova uporaba vključuje tudi igralne in kazalne naprave, industrijske instrumente, osebne navigacijske naprave in zaščito trdega diska (HDD).