Tartalomjegyzék:
- 1. lépés: Szükséges hardver:
- 2. lépés: Hardver csatlakoztatása:
- 3. lépés: A gyorsulás mérésének kódja:
- 4. lépés: Alkalmazások:
Videó: A gyorsulás mérése ADXL345 és Raspberry Pi használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Az ADXL345 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a gravitáció statikus gyorsulását dőlésérzékelő alkalmazásokban, valamint a mozgásból vagy ütésből eredő dinamikus gyorsulást. Nagy felbontása (3,9 mg/LSB) lehetővé teszi az 1,0 ° alatti dőlésváltozások mérését.
Ebben az oktatóanyagban bemutatjuk az ADXL345 érzékelő modulnak a málna pi -vel való összekapcsolását, és szemléltetjük a python nyelvű programozását is. A gyorsulás értékeinek leolvasásához az összes 3 tengelyen a málna pi-t használtuk I2C adapterrel. Ez az I2C adapter megkönnyíti és megbízhatóbbá teszi a kapcsolatot az érzékelőmodullal.
1. lépés: Szükséges hardver:
A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:
1. ADXL345
2. Málna Pi
3. I2C kábel
4. I2C Shield málna pi
5. Ethernet kábel
2. lépés: Hardver csatlakoztatása:
A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:
Az ADXL345 az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.
A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus.
Csak négy vezetékre van szüksége! Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.
Ezeket az összefüggéseket a fenti képek mutatják be.
3. lépés: A gyorsulás mérésének kódja:
A málna pi használatának előnye az, hogy rugalmasságot biztosít annak a programozási nyelvnek, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk a programozását a pythonban. Az ADXL345 python kódja letölthető github közösségünkből, ami a Control Everything Community.
A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:
A kódolás első lépéseként le kell töltenie az smbus könyvtárat python esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:
pypi.python.org/pypi/smbus-cffi/0.5.1
Innen is másolhatja az érzékelő működő python kódját:
import smbus
importálási idő
# I2C busz beszerzése = smbus. SMBus (1)
# ADXL345 cím, 0x53 (83)
# Válassza ki a sávszélesség -nyilvántartást, 0x2C (44)
# 0x0A (10) Normál mód, kimeneti adatsebesség = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# ADXL345 cím, 0x53 (83)
# Válassza ki a teljesítményszabályozó regisztert, 0x2D (45)
# 0x08 (08) Automatikus alvás letiltása
bus.write_byte_data (0x53, 0x2D, 0x08)
# ADXL345 cím, 0x53 (83)
# Válassza ki az adatformátum regisztert, 0x31 (49)
# 0x08 (08) Önteszt tiltva, 4 vezetékes interfész
# Teljes felbontás, tartomány = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
time.sleep (0,5)
# ADXL345 cím, 0x53 (83)
# Adatok visszaolvasása 0x32 (50), 2 bájtból
# X-tengely LSB, X-tengely MSB
data0 = bus.read_byte_data (0x53, 0x32)
data1 = bus.read_byte_data (0x53, 0x33)
# Konvertálja az adatokat 10 bitesre
xAccl = ((adat1 és 0x03) * 256) + adat0
ha xAccl> 511:
xAccl -= 1024
# ADXL345 cím, 0x53 (83)
# Adatok visszaolvasása 0x34 (52), 2 bájtból
# Y-tengely LSB, Y-tengely MSB
data0 = bus.read_byte_data (0x53, 0x34)
data1 = bus.read_byte_data (0x53, 0x35)
# Konvertálja az adatokat 10 bitesre
yAccl = ((adat1 és 0x03) * 256) + adat0
ha yAccl> 511:
yAccl -= 1024
# ADXL345 cím, 0x53 (83)
# Adatok visszaolvasása 0x36 (54), 2 bájtból
# Z-tengely LSB, Z-tengely MSB
data0 = bus.read_byte_data (0x53, 0x36)
data1 = bus.read_byte_data (0x53, 0x37)
# Konvertálja az adatokat 10 bitesre
zAccl = ((adat1 és 0x03) * 256) + adat0
ha zAccl> 511:
zAccl -= 1024
# Adatok megjelenítése a képernyőn
print "Gyorsulás az X-tengelyben: %d" %xAccl
print "Gyorsulás Y tengelyen: %d" %yAccl
print "Gyorsulás Z-tengelyben: %d" %zAccl
Az alább említett kódrész tartalmazza a python -kódok helyes végrehajtásához szükséges könyvtárakat.
smbusimport idő importálása
A kód végrehajtható az alábbi parancs beírásával a parancssorba.
$> python ADXL345.py
Az érzékelő kimenete a fenti képen is látható a felhasználó számára.
4. lépés: Alkalmazások:
Az ADXL345 egy kicsi, vékony, rendkívül alacsony teljesítményű, 3 tengelyes gyorsulásmérő, amely kézibeszélőkben, orvosi műszerekben stb. Használható. Alkalmazása magában foglalja a játék- és mutatóeszközöket, az ipari műszereket, a személyi navigációs eszközöket és a merevlemez-meghajtó (HDD) védelmét is.
Ajánlott:
A gyorsulás mérése ADXL345 és részecskefoton segítségével: 4 lépés
A gyorsulás mérése ADXL345 és részecskefoton segítségével: Az ADXL345 egy kicsi, vékony, ultralow teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a
A gyorsulás mérése H3LIS331DL és Arduino Nano használatával: 4 lépés
A gyorsulás mérése a H3LIS331DL és az Arduino Nano használatával: A H3LIS331DL egy kis teljesítményű, nagyteljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL felhasználó által választható teljes skála ± 100 g/± 200 g/± 400 g, és képes gyorsulások mérésére
Gyorsulás mérése H3LIS331DL és részecskefoton használatával: 4 lépés
Gyorsulás mérése H3LIS331DL és részecskefoton segítségével: A H3LIS331DL egy kis teljesítményű, nagyteljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL felhasználó által választható teljes skála ± 100 g/± 200 g/± 400 g, és képes gyorsulások mérésére
Gyorsulás mérése H3LIS331DL és Raspberry Pi használatával: 4 lépés
A gyorsulás mérése a H3LIS331DL és a Raspberry Pi használatával: A H3LIS331DL egy kis teljesítményű, nagy teljesítményű, 3 tengelyes lineáris gyorsulásmérő, amely a „nano” családba tartozik, digitális I²C soros interfésszel. A H3LIS331DL felhasználó által választható teljes skála ± 100 g/± 200 g/± 400 g, és képes gyorsulások mérésére
A gyorsulás mérése ADXL345 és Arduino Nano használatával: 4 lépés
Gyorsulás mérése ADXL345 és Arduino Nano használatával: Az ADXL345 egy kicsi, vékony, ultralow teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, akár ± 16 g-ig. A digitális kimeneti adatok 16 bites kettes kiegészítésként vannak formázva, és az I2 C digitális interfészen keresztül érhetők el. Méri a