Mundarija:

Raspberry Pi - ADXL345 3 o'qli akselerometr Python qo'llanmasi: 4 qadam
Raspberry Pi - ADXL345 3 o'qli akselerometr Python qo'llanmasi: 4 qadam

Video: Raspberry Pi - ADXL345 3 o'qli akselerometr Python qo'llanmasi: 4 qadam

Video: Raspberry Pi - ADXL345 3 o'qli akselerometr Python qo'llanmasi: 4 qadam
Video: Raspberry Pi Accelerometer using the ADXL345 2024, Iyul
Anonim

ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13 bitli) ± 16 g gacha. Raqamli chiqish ma'lumotlari 16 bitli ikkita qo'shimcha sifatida formatlangan va I2 C raqamli interfeysi orqali kirish mumkin. Nishab olishda tortishish statik tezlanishini, shuningdek harakat yoki zarba natijasida dinamik tezlanishni o'lchaydi. Uning yuqori aniqligi (3,9 mg/LSB) moyillik o'zgarishlarini 1,0 ° dan past o'lchash imkonini beradi. Bu erda malina pi bilan python kodi yordamida namoyish.

1 -qadam: Sizga nima kerak.. !

Sizga nima kerak.. !!
Sizga nima kerak.. !!
Sizga nima kerak.. !!
Sizga nima kerak.. !!

1. Raspberry Pi

2. ADXL345

3. I²C kabeli

4. Raspberry Pi uchun I²C qalqoni

5. Ethernet kabeli

2 -qadam: Ulanish:

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.

Keyin I2C kabelining bir uchini ADXL345 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.

Ethernet kabelini pi -ga ulang yoki WiFi modulidan foydalanishingiz mumkin.

Ulanishlar yuqoridagi rasmda ko'rsatilgan.

3 -qadam: Kod:

Kod
Kod

ADXL345 uchun python kodini bizning GitHub omboridan yuklab olish mumkin- Dcube do'koni

Mana shu havola:

github.com/DcubeTechVentures/ADXL345..

Biz python kodi uchun SMBus kutubxonasidan foydalandik, malina pi ga SMBus o'rnatish bosqichlari bu erda tasvirlangan:

pypi.python.org/pypi/smbus-cffi/0.5.1

Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:

# Ixtiyoriy litsenziya bilan tarqatilgan.

# Agar xohlasang, foyda yoki tekin, agar u tegishli ish litsenziyalariga mos keladigan bo'lsa, ishlat.

# ADXL345

# Bu kod Dcube do'konida mavjud ADXL345_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan.

smbus import qilish

import vaqti

# I2C avtobusini oling

avtobus = smbus. SMBus (1)

# ADXL345 manzili, 0x53 (83)

# O'tkazish tezligi registrini tanlang, 0x2C (44)# 0x0A (10) Oddiy rejim, Chiqish ma'lumoti tezligi = 100 Hz

bus.write_byte_data (0x53, 0x2C, 0x0A)

# ADXL345 manzili, 0x53 (83)

# Quvvatni boshqarish registrini tanlang, 0x2D (45)

# 0x08 (08) Avtomatik uyquni o'chirish

bus.write_byte_data (0x53, 0x2D, 0x08)

# ADXL345 manzili, 0x53 (83)

# Ma'lumotlar formati registrini tanlang, 0x31 (49)

# 0x08 (08) Self-test o'chirilgan, 4 simli interfeys

# To'liq aniqlik, diapazon = +/- 2g

bus.write_byte_data (0x53, 0x31, 0x08)

vaqt uyqu (0,5)

# ADXL345 manzili, 0x53 (83)

# Ma'lumotni 0x32 (50), 2 baytdan o'qing

# X o'qi LSB, X o'qi MSB

ma'lumotlar0 = bus.read_byte_data (0x53, 0x32)

ma'lumotlar1 = avtobus.read_byte_data (0x53, 0x33)

# Ma'lumotni 10 bitga aylantiring

xAccl = ((ma'lumotlar1 va 0x03) * 256) + ma'lumotlar0

agar xAccl> 511:

xAccl -= 1024

# ADXL345 manzili, 0x53 (83)

# 0x34 (52), 2 baytdan ma'lumotlarni o'qing

# Y-o'qi LSB, Y-o'qi MSB

ma'lumotlar0 = avtobus.read_byte_data (0x53, 0x34)

ma'lumotlar1 = avtobus.read_byte_data (0x53, 0x35)

# Ma'lumotni 10 bitga aylantiring

yAccl = ((ma'lumotlar1 va 0x03) * 256) + ma'lumotlar0

agar yAccl> 511 bo'lsa:

yAccl -= 1024

# ADXL345 manzili, 0x53 (83)

# 0x36 (54), 2 baytdan ma'lumotlarni o'qing

# Z-Axis LSB, Z-Axis MSB

ma'lumotlar0 = avtobus.read_byte_data (0x53, 0x36)

ma'lumotlar1 = avtobus.read_byte_data (0x53, 0x37)

# Ma'lumotni 10 bitga aylantiring

zAccl = ((ma'lumotlar1 va 0x03) * 256) + ma'lumotlar0

agar zAccl> 511:

zAccl -= 1024

# Ma'lumotlarni ekranga chiqarish

chop etish "X o'qida tezlashtirish: %d" %xAccl

chop etish "Y o'qida tezlashtirish: %d" %yAccl

chop etish "Z o'qida tezlashtirish: %d" %zAccl

4 -qadam: Ilovalar:

ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr bo'lib, u telefonlar, tibbiy asboblar va boshqalarda qo'llanilishi mumkin. O'yin va ishora asboblari, sanoat asboblari, shaxsiy navigatsiya qurilmalari va qattiq disk (HDD) himoyasini o'z ichiga oladi.

Tavsiya: