Mundarija:
- 1 -qadam: Uskuna kerak:
- 2 -qadam: Uskuna ulanishi:
- 3 -qadam: Tezlikni o'lchash kodi:
- 4 -qadam: Ilovalar:
Video: ADXL345 va Raspberry Pi yordamida tezlashtirishni o'lchash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
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 qo'llanmada ADXL345 sensori modulining malina pi bilan o'zaro aloqasi ko'rsatilgan va uni python tilida dasturlash ham tasvirlangan. Barcha 3 o'qli tezlashuv qiymatlarini o'qish uchun biz I2C adapterli malina pi dan foydalanganmiz, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. ADXL345
2. Raspberry Pi
3. I2C kabeli
4. Malina pi uchun I2C qalqoni
5. Ethernet kabeli
2 -qadam: Uskuna ulanishi:
Uskuna ulanish bo'limi, asosan, sensori va malina pi o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:
ADXL345 I2C ustida ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.
Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz.
Sizga faqat to'rtta sim kerak! Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.
Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.
3 -qadam: Tezlikni o'lchash kodi:
Malinali pi -ni ishlatishning afzalligi shundaki, u sizga sensorni interfeysga ulash uchun taxtani dasturlashni xohlagan dasturlash tilining moslashuvchanligini ta'minlaydi. Ushbu taxtaning afzalliklaridan foydalanib, biz bu erda uning pitonda dasturlashini namoyish qilamiz. ADXL345 uchun python kodini github hamjamiyatidan yuklab olish mumkin, bu hamma narsani nazorat qilish hamjamiyati.
Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:
Kodlashning birinchi bosqichi sifatida siz python holatida smbus kutubxonasini yuklab olishingiz kerak, chunki bu kutubxona kodda ishlatiladigan funktsiyalarni qo'llab -quvvatlaydi. Shunday qilib, kutubxonani yuklab olish uchun quyidagi havolaga kirishingiz mumkin:
pypi.python.org/pypi/smbus-cffi/0.5.1
Siz bu sensor uchun ishlaydigan python kodini bu erdan nusxa ko'chirishingiz mumkin:
smbus import qilish
import vaqti
# I2C avtobusini oling = smbus. SMBus (1)
# ADXL345 manzili, 0x53 (83)
# O'tkazish tezligi registrini tanlang, 0x2C (44)
# 0x0A (10) Oddiy rejim, Chiqish ma'lumoti tezligi = 100 Gts
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
Kodning quyida ko'rsatilgan qismi python kodlarining to'g'ri bajarilishi uchun zarur bo'lgan kutubxonalarni o'z ichiga oladi.
smbusimport vaqtini import qilish
Kodni buyruq satriga quyidagi buyruqni kiritish orqali bajarish mumkin.
$> python ADXL345.py
Sensorning chiqishi ham foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.
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:
ADXL345 va zarracha foton yordamida tezlashtirishni o'lchash: 4 qadam
ADXL345 va zarracha foton yordamida tezlashtirishni o'lchash: ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13-bit) 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
H3LIS331DL va Arduino Nano yordamida tezlashtirishni o'lchash: 4 qadam
H3LIS331DL va Arduino Nano yordamida tezlashtirishni o'lchash: H3LIS331DL-bu "nano" oilasiga mansub, kam quvvatli, 3 o'qli chiziqli akselerometr, raqamli I²C ketma-ket interfeysi. H3LIS331DL foydalanuvchi tomonidan tanlanishi mumkin bo'lgan to'liq o'lchovlar ± 100g/± 200g/± 400g va u tezlikni o'lchash imkoniyatiga ega
H3LIS331DL va zarracha foton yordamida tezlashtirishni o'lchash: 4 qadam
H3LIS331DL va zarracha foton yordamida tezlashtirishni o'lchash: H3LIS331DL-bu "nano" oilasiga mansub, kam quvvatli, yuqori quvvatli 3 o'qli chiziqli akselerometr, raqamli I²C ketma-ket interfeysi. H3LIS331DL foydalanuvchi tomonidan tanlanishi mumkin bo'lgan to'liq o'lchovlar ± 100g/± 200g/± 400g va u tezlikni o'lchash imkoniyatiga ega
H3LIS331DL va Raspberry Pi yordamida tezlashtirishni o'lchash: 4 qadam
H3LIS331DL va Raspberry Pi: H3LIS331DL yordamida tezlashtirishni o'lchash-bu "nano" oilasiga mansub, kam quvvatli, yuqori quvvatli, 3 o'qli chiziqli akselerometr, raqamli I²C ketma-ket interfeysi. H3LIS331DL foydalanuvchi tomonidan tanlanishi mumkin bo'lgan to'liq o'lchovlar ± 100g/± 200g/± 400g va u tezlikni o'lchash imkoniyatiga ega
ADXL345 va Arduino Nano yordamida tezlashtirishni o'lchash: 4 qadam
ADXL345 va Arduino Nano yordamida tezlashtirishni o'lchash: ADXL345-bu kichik, ingichka, ultra quvvatli, 3 o'qli akselerometr, yuqori aniqlikdagi (13-bit) 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