2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
ADXL345 on väike, õhuke, üliväikese võimsusega 3-teljeline kiirendusmõõtur, millel on kõrge eraldusvõimega (13-bitine) mõõtmine kuni ± 16 g. Digitaalsed väljundandmed on vormindatud 16-bitiste kaheosaliste täienditena ja neile on juurdepääs digitaalse liidese I2 C kaudu. Mõõdab staatilist raskuskiirendust kaldetundlikes rakendustes, samuti liikumisest või põrutusest tulenevat dünaamilist kiirendust. Selle kõrge eraldusvõime (3,9 mg/LSB) võimaldab mõõta kalde muutusi alla 1,0 °. Siin on see demonstratsioon vaarika pi abil, kasutades pythoni koodi.
Samm: mida vajate..
1. Vaarika Pi
2. ADXL345
3. I²C kaabel
4. I²C kilp Raspberry Pi jaoks
5. Etherneti kaabel
2. samm: ühendus:
Võtke vaarika pi jaoks I2C -kilp ja lükake see õrnalt üle vaarika pi gpio -tihvtide.
Seejärel ühendage I2C kaabli üks ots ADXL345 anduriga ja teine ots I2C varjestusega.
Ühendage ka Etherneti kaabel pi -ga või võite kasutada WiFi -moodulit.
Ühendused on näidatud ülaltoodud pildil.
3. samm: kood:
ADXL345 püütoni koodi saab alla laadida meie GitHubi hoidlast- Dcube Store
Siin on link samale:
github.com/DcubeTechVentures/ADXL345..
Oleme python -koodi jaoks kasutanud SMBusi teeki, SMBus -i vaarika pi -le installimise samme kirjeldatakse siin:
pypi.python.org/pypi/smbus-cffi/0.5.1
Siit saate koodi ka kopeerida, see on järgmine:
# Levitatud vabatahtliku litsentsiga.
# Kasutage seda mis tahes viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.
# ADXL345
# See kood on loodud töötama Dcube Store'is saadaval oleva ADXL345_I2CS I2C minimooduliga.
import smbus
impordi aeg
# Hankige I2C buss
buss = smbus. SMBus (1)
# ADXL345 aadress, 0x53 (83)
# Valige ribalaiuse registreerimise register, 0x2C (44)# 0x0A (10) Tavaline režiim, väljundandmesagedus = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# ADXL345 aadress, 0x53 (83)
# Valige toitejuhtimisregister, 0x2D (45)
# 0x08 (08) Automaatne unerežiimi keelamine
bus.write_byte_data (0x53, 0x2D, 0x08)
# ADXL345 aadress, 0x53 (83)
# Valige andmevorminguregister, 0x31 (49)
# 0x08 (08) Enesetesti on keelatud, 4-juhtmeline liides
# Täisresolutsioon, vahemik = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
aeg. uni (0,5)
# ADXL345 aadress, 0x53 (83)
# Lugege andmeid tagasi 0x32 (50), 2 baiti
# X-telg LSB, X-telg MSB
andmed0 = bus.read_byte_data (0x53, 0x32)
andmed1 = bus.read_byte_data (0x53, 0x33)
# Teisendage andmed 10-bitisteks
xAccl = ((andmed1 & 0x03) * 256) + andmed0
kui xAccl> 511:
xAccl -= 1024
# ADXL345 aadress, 0x53 (83)
# Lugege andmeid tagasi 0x34 (52), 2 baiti
# Y-telg LSB, Y-telg MSB
andmed0 = bus.read_byte_data (0x53, 0x34)
andmed1 = bus.read_byte_data (0x53, 0x35)
# Teisendage andmed 10-bitisteks
yAccl = ((andmed1 & 0x03) * 256) + andmed0
kui yAccl> 511:
yAccl -= 1024
# ADXL345 aadress, 0x53 (83)
# Lugege andmeid tagasi 0x36 (54), 2 baiti
# Z-telg LSB, Z-telg MSB
andmed0 = bus.read_byte_data (0x53, 0x36)
andmed1 = bus.read_byte_data (0x53, 0x37)
# Teisendage andmed 10-bitisteks
zAccl = ((andmed1 & 0x03) * 256) + andmed0
kui zAccl> 511:
zAccl -= 1024
# Väljastage andmed ekraanile
print "Kiirendus X-teljel: %d" %xAccl
print "Kiirendus Y-teljel: %d" %yAccl
print "Z-telje kiirendus: %d" %zAccl
4. samm: rakendused:
ADXL345 on väike, õhuke, üliväikese võimsusega 3-teljeline kiirendusmõõtur, mida saab kasutada mobiiltelefonides, meditsiiniseadmetes jne. Selle rakendus hõlmab ka mängu- ja osutusseadmeid, tööstusseadmeid, isiklikke navigeerimisseadmeid ja kõvaketta kaitset.