Mundarija:
Video: Raspberry Pi MMA8452Q 3 o'qli 12-bitli/8-bitli raqamli akselerometr Python qo'llanmasi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
MMA8452Q-aqlli, kam quvvatli, uch o'qli, sig'imli, mikromashinali 12 bitli o'lchamli akselerometr. Foydalanuvchilar tomonidan dasturlashtiriladigan moslashuvchan variantlar akselerometrga o'rnatilgan ikkita funktsiya yordamida ta'minlanadi, ular ikkita uzilish pimiga o'rnatiladi. U ± 2g/± 4g/± 8g foydalanuvchi tomonidan tanlanishi mumkin bo'lgan to'liq o'lchovlarga ega, yuqori o'tkazuvchan filtrli filtrlangan ma'lumotlar va real vaqtda mavjud bo'lgan filtrlanmagan ma'lumotlar. Bu erda python kodi yordamida malina pi bilan namoyish.
1 -qadam: Sizga nima kerak.. !
1. Raspberry Pi
2. MMA8452Q
3. I²C kabeli
4. Raspberry Pi uchun I²C qalqoni
5. Ethernet kabeli
2 -qadam: Ulanishlar:
Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.
Keyin I2C kabelining bir uchini MMA8452Q 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:
MMA8452Q uchun python kodini bizning github omboridan yuklab olish mumkin- ControlEverythingCommunity
Mana havola.
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.
# MMA8452Q
# Bu kod MMA8452Q_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan.
smbus import qilish
import vaqti
# I2C avtobusini oling
avtobus = smbus. SMBus (1)
# MMA8452Q manzili, 0x1C (28)
# Boshqarish registrini tanlang, 0x2A (42)
# 0x00 (00) kutish rejimi
bus.write_byte_data (0x1C, 0x2A, 0x00)
# MMA8452Q manzili, 0x1C (28)
# Boshqarish registrini tanlang, 0x2A (42)
# 0x01 (01) Faol rejim
bus.write_byte_data (0x1C, 0x2A, 0x01)
# MMA8452Q manzili, 0x1C (28)
# Konfiguratsiya registrini tanlang, 0x0E (14)
# 0x00 (00) +/- 2g oralig'ini o'rnating
bus.write_byte_data (0x1C, 0x0E, 0x00)
vaqt uyqu (0,5)
# MMA8452Q manzili, 0x1C (28)
# Ma'lumotni 0x00 (0), 7 baytdan qaytarib o'qing
# Status reestri, X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
ma'lumotlar = bus.read_i2c_block_data (0x1C, 0x00, 7)
# Ma'lumotni aylantirish
xAccl = (ma'lumotlar [1] * 256 + ma'lumotlar [2]) / 16
agar xAccl> 2047:
xAccl -= 4096
yAccl = (ma'lumotlar [3] * 256 + ma'lumotlar [4]) / 16
agar yAccl> 2047:
yAccl -= 4096 z
Accl = (ma'lumotlar [5] * 256 + ma'lumotlar [6]) / 16
agar zAccl> 2047:
zAccl -= 4096
# 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:
MMA8452Q turli xil ilovalarga ega, ular orasida elektron kompas ilovalari, statik yo'nalishni aniqlash, portret/landshaft, yuqoriga/pastga, chapga/o'ngga, orqaga/oldingi holatni aniqlash, daftar, elektron o'quvchi, noutbukning qulashi va tushishini aniqlash, real vaqtda. yo'nalishlarni aniqlash, shu jumladan virtual haqiqat va o'yindagi 3D foydalanuvchi pozitsiyasi haqidagi fikr-mulohazalar, pedometr qadamlarini sanash, HDD uchun tushishni aniqlash, o'lik hisob-kitobli GPS zaxirasi va boshqalar kabi real vaqtda faoliyatni tahlil qilish.
Tavsiya:
Raspberry Pi - ADXL345 3 o'qli akselerometr Python qo'llanmasi: 4 qadam
Raspberry Pi-ADXL345 3 o'qli akselerometr Python qo'llanmasi: ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13 bitli) o'lchami ± 16 g gacha. Raqamli chiqish ma'lumotlari 16 bitli ikkita qo'shimcha sifatida formatlangan va I2 C raqamli interfeysi orqali kirish mumkin. O'lchovlar
Raspberry Pi - ADXL345 3 o'qli akselerometr Java darsligi: 4 qadam
Raspberry Pi-ADXL345 3 o'qli akselerometr Java qo'llanmasi: ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13 bitli) o'lchami ± 16 g gacha. Raqamli chiqish ma'lumotlari 16 bitli ikkita qo'shimcha sifatida formatlangan va I2 C raqamli interfeysi orqali kirish mumkin. O'lchovlar
Python yordamida Raspberry Pi va LIS3DHTR, 3 o'qli akselerometr yordamida harakatni boshqarish: 6 qadam
Python yordamida Raspberry Pi va LIS3DHTR, 3 o'qli akselerometr yordamida harakatni boshqarish: Go'zallik bizni o'rab oladi, lekin odatda biz buni bilish uchun bog'da yurishimiz kerak. - Biz o'qimishli guruh sifatida biz energiyamizning katta qismini kompyuter va mobil telefonlarimizdan oldin sarflaymiz. Shuning uchun, biz tez -tez o'z sog'ligimizga ruxsat beramiz
Python yordamida Raspberry Pi bilan 3 o'qli akselerometr, ADXL345: 6 qadam
Python yordamida Raspberry Pi bilan 3 o'qli akselerometr, ADXL345: Offroaderingiz cho'zilib ketgan joyini tekshiradigan gadjet haqida o'ylash. Agar kimdir ag'darilib ketish ehtimoli bo'lsa, uni tuzatish yoqimli bo'larmidi? Shubhasiz, ha. Bu to'g'ri bo'lardi
Pi bo'yicha dastlabki* SPI: Raspberry Pi yordamida SPI 3 o'qli akselerometr bilan aloqa: 10 qadam
Pi bo'yicha dastlabki* SPI: Raspberry Pi yordamida SPI 3 o'qli akselerometr bilan aloqa: Raspbianni sozlash va bcm2835 SPI kutubxonasi yordamida SPI qurilmasi bilan muloqot qilish bo'yicha bosqichma-bosqich ko'rsatma (bit urilmagan!) Bu hali juda oldindan … Men jismoniy bog'lanishning yaxshiroq rasmlarini qo'shishim va ba'zi noqulay kodlar ustida ishlashim kerak