Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysanturi, jonka tarkkuus (13-bittinen) mitataan jopa ± 16 g. Digitaalinen lähtötieto on muotoiltu 16-bittiseksi kaksoiskappaleeksi, ja se on saatavana digitaalisen I2 C-liitännän kautta. Se mittaa staattisen painovoiman kiihtyvyyden kallistusanturisovelluksissa sekä liikkeen tai iskun aiheuttaman dynaamisen kiihtyvyyden. Sen suuri resoluutio (3,9 mg/LSB) mahdollistaa kaltevuuden muutosten mittaamisen alle 1,0 °. Tässä on esittely vadelma pi: llä käyttäen python -koodia.
Vaihe 1: Mitä tarvitset..
1. Vadelma Pi
2. ADXL345
3. I²C -kaapeli
4. I²C -kilpi Raspberry Pi: lle
5. Ethernet -kaapeli
Vaihe 2: Yhteys:
Ota I2C -kilpi vadelma pi: lle ja työnnä sitä varovasti vadelma pi: n gpio -nastojen päälle.
Liitä sitten I2C -kaapelin toinen pää ADXL345 -anturiin ja toinen pää I2C -suojaan.
Liitä myös Ethernet -kaapeli pi: hen tai voit käyttää WiFi -moduulia.
Liitännät näkyvät yllä olevassa kuvassa.
Vaihe 3: Koodi:
ADXL345: n python-koodi voidaan ladata GitHub-arkistostamme- Dcube Store
Tässä linkki samaan:
github.com/DcubeTechVentures/ADXL345..
Olemme käyttäneet SMBus -kirjastoa python -koodille, SMBus -asennuksen vaiheet vadelma pi: lle on kuvattu tässä:
pypi.python.org/pypi/smbus-cffi/0.5.1
Voit myös kopioida koodin täältä, se annetaan seuraavasti:
# Jaetaan vapaaehtoisella lisenssillä.
# Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.
# ADXL345
# Tämä koodi on suunniteltu toimimaan Dcube Storessa saatavilla olevan ADXL345_I2CS I2C -moduulin kanssa.
tuoda smbus
tuonnin aika
# Hanki I2C -bussi
väylä = smbus. SMBus (1)
# ADXL345 -osoite, 0x53 (83)
# Valitse kaistanleveysrekisteri, 0x2C (44)# 0x0A (10) Normaalitila, Lähdön datanopeus = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# ADXL345 -osoite, 0x53 (83)
# Valitse virranhallintarekisteri, 0x2D (45)
# 0x08 (08) Automaattinen lepotila pois käytöstä
bus.write_byte_data (0x53, 0x2D, 0x08)
# ADXL345 -osoite, 0x53 (83)
# Valitse tietomuotorekisteri, 0x31 (49)
# 0x08 (08) Itsetesti pois käytöstä, 4-johtiminen liitäntä
# Täysi resoluutio, alue = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
aika. unta (0,5)
# ADXL345 -osoite, 0x53 (83)
# Lue tiedot takaisin 0x32 (50), 2 tavua
# X-akseli LSB, X-akseli MSB
data0 = bus.read_byte_data (0x53, 0x32)
data1 = bus.read_byte_data (0x53, 0x33)
# Muunna tiedot 10-bittisiksi
xAccl = ((data1 & 0x03) * 256) + data0
jos xAccl> 511:
xAccl -= 1024
# ADXL345 -osoite, 0x53 (83)
# Lue tiedot takaisin 0x34 (52), 2 tavua
# Y-akseli LSB, Y-akseli MSB
data0 = bus.read_byte_data (0x53, 0x34)
data1 = bus.read_byte_data (0x53, 0x35)
# Muunna tiedot 10-bittisiksi
yAccl = ((data1 & 0x03) * 256) + data0
jos yAccl> 511:
yAccl -= 1024
# ADXL345 -osoite, 0x53 (83)
# Lue tiedot takaisin 0x36 (54), 2 tavua
# Z-akseli LSB, Z-akseli MSB
data0 = bus.read_byte_data (0x53, 0x36)
data1 = bus.read_byte_data (0x53, 0x37)
# Muunna tiedot 10-bittisiksi
zAccl = ((data1 & 0x03) * 256) + data0
jos zAccl> 511:
zAccl -= 1024
# Tulosta tiedot näytölle
tulosta "Kiihtyvyys X-akselilla: %d" %xAccl
tulosta "Kiihtyvyys Y-akselilla: %d" %yAccl
tulosta "Kiihtyvyys Z-akselilla: %d" %zAccl
Vaihe 4: Sovellukset:
ADXL345 on pieni, ohut, erittäin pienitehoinen, 3-akselinen kiihtyvyysmittari, jota voidaan käyttää luureissa, lääketieteellisissä laitteissa jne. Sen sovellus sisältää myös peli- ja osoitinlaitteet, teollisuuslaitteet, henkilökohtaiset navigointilaitteet ja kiintolevyaseman (HDD).