Sisällysluettelo:
- Vaihe 1: Tarvittava laitteisto:
- Vaihe 2: Laitteiston kytkentä:
- Vaihe 3: Kiihtyvyyden mittauskoodi:
- Vaihe 4: Sovellukset:
Video: Kiihtyvyyden mittaus käyttäen ADXL345 ja Raspberry Pi: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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ä opetusohjelmassa esitetään ADXL345 -anturimoduulin liitäntä vadelmapi: n kanssa ja sen ohjelmointi python -kielellä on myös kuvattu. Kaikkien 3-akselisten kiihtyvyysarvojen lukemiseen olemme käyttäneet vadelma pi: tä I2C-sovittimen kanssa. Tämä I2C-sovitin tekee liitännän anturimoduuliin helppoa ja luotettavaa.
Vaihe 1: Tarvittava laitteisto:
Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:
1. ADXL345
2. Vadelma Pi
3. I2C -kaapeli
4. I2C Shield vadelmalle pi
5. Ethernet -kaapeli
Vaihe 2: Laitteiston kytkentä:
Laitteiston liitäntäosa selittää periaatteessa anturin ja vadelmapi: n väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:
ADXL345 toimii I2C: n kautta. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.
Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko.
Tarvitset vain neljä johtoa! Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.
Nämä yhteydet on esitetty yllä olevissa kuvissa.
Vaihe 3: Kiihtyvyyden mittauskoodi:
Raspberry pi: n käytön etuna on, että se tarjoaa joustavuuden ohjelmointikielelle, jolla haluat ohjelmoida levyn, jotta liitäntä anturiin sen kanssa. Hyödynnämme tämän levyn etua ja esittelemme sen ohjelmointia pythonissa. ADXL345: n python -koodin voi ladata github -yhteisöltämme, joka on Control Everything Community.
Käyttäjien helpottamiseksi selitämme koodin myös täällä:
Koodauksen ensimmäisenä vaiheena sinun on ladattava smbus -kirjasto python -tapauksessa, koska tämä kirjasto tukee koodissa käytettyjä toimintoja. Joten voit ladata kirjaston seuraavasta linkistä:
pypi.python.org/pypi/smbus-cffi/0.5.1
Voit myös kopioida tämän anturin toimivan python -koodin täältä:
tuoda smbus
tuonnin aika
# Hanki I2C -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
Alla mainittu koodin osa sisältää kirjastot, joita tarvitaan python -koodien oikeaan suorittamiseen.
tuoda smbusimport -aikaa
Koodi voidaan suorittaa kirjoittamalla alla mainittu komento komentokehotteeseen.
$> python ADXL345.py
Anturin lähtö näkyy myös yllä olevassa kuvassa käyttäjän viitteenä.
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).
Suositeltava:
Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: 4 vaihetta
Kiihtyvyyden mittaus käyttämällä ADXL345: tä ja hiukkasfotonia: 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
Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: 4 vaihetta
Kiihtyvyyden mittaus H3LIS331DL: n ja Arduino Nanon avulla: H3LIS331DL on pienitehoinen ja suorituskykyinen 3-akselinen lineaarinen kiihtyvyysanturi, joka kuuluu nano-perheeseen, ja jossa on digitaalinen I²C-sarjaliitäntä. H3LIS331DL: ssä on käyttäjän valittavissa täydet asteikot ± 100 g/± 200 g/± 400 g, ja se pystyy mittaamaan kiihtyvyydet
Kiihtyvyyden mittaus käyttäen H3LIS331DL ja Raspberry Pi: 4 vaihetta
Kiihtyvyyden mittaus H3LIS331DL: n ja Raspberry Pi: n avulla: H3LIS331DL on pienitehoinen ja suorituskykyinen 3-akselinen lineaarinen kiihtyvyysanturi, joka kuuluu nano-perheeseen, ja jossa on digitaalinen I²C-sarjaliitäntä. H3LIS331DL: ssä on käyttäjän valittavissa täydet asteikot ± 100 g/± 200 g/± 400 g, ja se pystyy mittaamaan kiihtyvyydet
Kiihtyvyyden mittaus käyttäen ADXL345 ja Arduino Nano: 4 vaihetta
Kiihtyvyyden mittaus ADXL345: n ja Arduino Nanon avulla: ADXL345 on pieni, ohut, erittäin pienitehoinen 3-akselinen kiihtyvyysanturi, jolla on suuri resoluutio (13-bittinen) mittaus 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
Kiihtyvyyden mittaus BMA250: n ja Raspberry Pi: n avulla: 4 vaihetta
Kiihtyvyyden mittaus käyttämällä BMA250: tä ja Raspberry Pi: tä: BMA250 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 I2C-liitännän kautta. Se mittaa staattisen