Mundarija:
- 1 -qadam: Uskuna kerak:
- 2 -qadam: Uskuna ulanishi:
- 3 -qadam: Tezlikni o'lchash uchun Python kodi:
- 4 -qadam: Ilovalar:
Video: H3LIS331DL va Raspberry Pi yordamida tezlashtirishni o'lchash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
H3LIS331DL-bu "nano" oilasiga mansub, kam quvvatli, yuqori quvvatli, 3 o'qli chiziqli tezlatgich, raqamli I²C ketma-ket interfeysi. H3LIS331DL foydalanuvchi tomonidan tanlanishi mumkin bo'lgan to'liq o'lchovlar ± 100g/± 200g/± 400g va 0,5 Gts dan 1 kHz gacha bo'lgan chiqish tezligi tezligini o'lchashga qodir. H3LIS331DL -40 ° C dan +85 ° C gacha bo'lgan harorat oralig'ida ishlashi kafolatlangan.
Ushbu qo'llanmada biz dasturlash tili sifatida pythondan foydalangan holda, Raspberry Pi bilan H3LIS331DL interfeysini namoyish qilmoqchimiz.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. H3LIS331DL
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:
H3LIS331DL 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 uchun Python kodi:
u malina pi -ni ishlatishning afzalligi shundaki, bu 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. Python - sintaksisiga ega bo'lgan eng oson dasturlash tillaridan biri. H3LIS331DL uchun python kodini bizning github hamjamiyatidan yuklab olish mumkin DCUBE do'koni.
Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:
Kodlashning birinchi bosqichi sifatida siz python uchun 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
Ish kodini bu erdan nusxalashingiz mumkin:
smbus import qilish
import vaqti
# I2C avtobusini oling = smbus. SMBus (1)
# H3LIS331DL manzili, 0x18 (24)
# 1, 0x20 boshqaruv registrini tanlang (32)
# 0x27 (39) Quvvatni yoqish rejimi, Ma'lumotlarni chiqarish tezligi = 50 Hz# X, Y, Z o'qi yoqilgan
avtobus.write_byte_data (0x18, 0x20, 0x27)
# H3LIS331DL manzili, 0x18 (24)# Boshqarish registrini tanlang 4, 0x23 (35)
# 0x00 (00) Doimiy yangilanish, To'liq o'lchovli tanlov = +/- 100g
bus.write_byte_data (0x18, 0x23, 0x00)
vaqt uyqu (0,5)
# H3LIS331DL manzili, 0x18 (24)
# Ma'lumotni 0x28 (40), 2 baytdan qaytarib o'qing
# X o'qi LSB, X o'qi MSB
ma'lumotlar0 = avtobus.read_byte_data (0x18, 0x28)
ma'lumotlar1 = avtobus.read_byte_data (0x18, 0x29)
# DataxAccl = data1 * 256 + data0 ga aylantiring
agar xAccl> 32767:
xAccl -= 65536
# H3LIS331DL manzili, 0x18 (24)
# 0x2A (42), 2 baytdan ma'lumotlarni qayta o'qing
# Y-o'qi LSB, Y-o'qi MSB
ma'lumotlar0 = bus.read_byte_data (0x18, 0x2A)
ma'lumotlar1 = bus.read_byte_data (0x18, 0x2B)
# Ma'lumotni aylantirish
yAccl = ma'lumotlar1 * 256 + ma'lumotlar0
agar yAccl> 32767 bo'lsa:
yAccl -= 65536
# H3LIS331DL manzili, 0x18 (24)
# 0x2C (44), 2 baytdan ma'lumotlarni o'qing
# Z-Axis LSB, Z-Axis MSB
ma'lumotlar0 = bus.read_byte_data (0x18, 0x2C)
ma'lumotlar1 = bus.read_byte_data (0x18, 0x2D)
# Ma'lumotni aylantirish
zAccl = ma'lumotlar1 * 256 + ma'lumotlar0
agar zAccl> 32767:
zAccl -= 65536
# 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
Kod quyidagi buyruq yordamida bajariladi:
$> python H3LIS331DL.py gt; python H3LIS331DL.py
Sensor chiqishi foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
H3LIS331DL kabi akselerometrlar, asosan, o'z o'yinlarini o'yinlarda topadi va profilni almashtirishni ko'rsatadi. Ushbu sensorli modul, shuningdek, mobil ilovalar uchun quvvatni boshqarishning ilg'or tizimida ham qo'llaniladi. H3LIS331DL-bu uch fazali raqamli tezlashtirish sensori bo'lib, u chipda harakatlanuvchi tetikli uzilishlar boshqaruvchisi bilan jihozlangan.
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
ADXL345 va Raspberry Pi yordamida tezlashtirishni o'lchash: 4 qadam
ADXL345 va Raspberry Pi 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
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