Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
„ADXL345“yra mažas, plonas, itin mažos galios 3 ašių akselerometras su didelės skiriamosios gebos (13 bitų) matavimu iki ± 16 g. Skaitmeniniai išvesties duomenys yra suformatuoti kaip 16 bitų du papildymai ir yra prieinami per I2 C skaitmeninę sąsają. Jis matuoja statinį gravitacijos pagreitį pasvirimo jutiklyje, taip pat dinaminį pagreitį, atsirandantį dėl judesio ar smūgio. Didelė skiriamoji geba (3,9 mg/LSB) leidžia matuoti nuolydžio pokyčius, mažesnius nei 1,0 °. Štai tai demonstravimas su aviečių pi naudojant python kodą.
1 žingsnis: ko jums reikia..
1. Avietė Pi
2. ADXL345
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 veiksmas: prijungimas:
Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.
Tada vieną I2C kabelio galą prijunkite prie ADXL345 jutiklio, o kitą - prie I2C skydo.
Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
ADXL345 python kodą galima atsisiųsti iš mūsų „GitHub“saugyklos- „Dcube Store“
Čia yra nuoroda į tą patį:
github.com/DcubeTechVentures/ADXL345..
„Python“kodui naudojome „SMBus“biblioteką, čia aprašyti SMBus diegimo „Raspberry pi“veiksmai:
pypi.python.org/pypi/smbus-cffi/0.5.1
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
# Platinama su laisvos valios licencija.
# Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka su juo susijusių darbų licencijas.
# ADXL345
# Šis kodas skirtas dirbti su „ADCL345_I2CS I2C Mini“moduliu, kurį galima įsigyti „Dcube Store“.
importuoti smbus
importo laikas
# Gaukite I2C autobusą
autobusas = smbus. SMBus (1)
# ADXL345 adresas, 0x53 (83)
# Pasirinkite dažnių juostos pločio registrą, 0x2C (44)# 0x0A (10) normalus režimas, išvesties duomenų dažnis = 100 Hz
bus.write_byte_data (0x53, 0x2C, 0x0A)
# ADXL345 adresas, 0x53 (83)
# Pasirinkite galios valdymo registrą, 0x2D (45)
# 0x08 (08) Automatinis miego režimas išjungtas
bus.write_byte_data (0x53, 0x2D, 0x08)
# ADXL345 adresas, 0x53 (83)
# Pasirinkite duomenų formatų registrą, 0x31 (49)
# 0x08 (08) Savęs testavimas išjungtas, 4 laidų sąsaja
# Visa raiška, diapazonas = +/- 2g
bus.write_byte_data (0x53, 0x31, 0x08)
laikas. miegas (0,5)
# ADXL345 adresas, 0x53 (83)
# Perskaitykite duomenis iš 0x32 (50), 2 baitų
# X ašis LSB, X ašis MSB
duomenys0 = magistralė.skaito_baitų_datai (0x53, 0x32)
duomenys1 = magistralė
# Konvertuokite duomenis į 10 bitų
xAccl = ((duomenys1 ir 0x03) * 256) + duomenys0
jei xAccl> 511:
xAccl -= 1024
# ADXL345 adresas, 0x53 (83)
# Perskaitykite duomenis iš 0x34 (52), 2 baitų
# Y ašis LSB, Y ašis MSB
duomenys0 = magistralė.skaito_baitų_datai (0x53, 0x34)
duomenys1 = magistralė
# Konvertuokite duomenis į 10 bitų
yAccl = ((duomenys1 ir 0x03) * 256) + duomenys0
jei yAccl> 511:
yAccl -= 1024
# ADXL345 adresas, 0x53 (83)
# Perskaitykite duomenis iš 0x36 (54), 2 baitų
# Z ašies LSB, Z ašies MSB
duomenys0 = magistralės.skaito_baitų_datai (0x53, 0x36)
duomenys1 = magistralė
# Konvertuokite duomenis į 10 bitų
zAccl = ((duomenys1 ir 0x03) * 256) + duomenys0
jei zAccl> 511:
zAccl -= 1024
# Išveskite duomenis į ekraną
spausdinti "pagreitis X ašyje: %d" %xAccl
spausdinti "pagreitis Y ašyje: %d" %yAccl
spauda "Pagreitis Z ašyje: %d" %zAccl
4 žingsnis: programos:
ADXL345 yra mažas, plonas, itin mažos galios 3 ašių akselerometras, kurį galima naudoti telefonuose, medicinos prietaisuose ir pan. Jo taikymas taip pat apima žaidimų ir rodymo prietaisus, pramoninius prietaisus, asmeninius navigacijos įrenginius ir standžiojo disko (HDD) apsaugą.