Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-23 15:14
BMA250-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 I2C 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.
Ushbu qo'llanmada biz BMA250 va Raspberry Pi yordamida uchta perpendikulyar o'qning tezlanishini o'lchaymiz. Sensor python tilida dasturlashtirilgan.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. BMA250
2. Raspberry Pi
3. I2C kabeli
4. Raspberry 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:
BMA250 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:
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. Python - sintaksisiga ega bo'lgan eng oson dasturlash tillaridan biri. BMA250 uchun python kodini bizning GitHub hamjamiyatidan yuklab olish mumkin, bu Dcube do'koni
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
Ish kodini bu erdan nusxalashingiz mumkin:
smbus import qilish
import vaqti
# I2C avtobusini oling = smbus. SMBus (1)
# BMA250 manzili, 0x18 (24)
# Diapazon tanlash registrini tanlang, 0x0F (15)
# 0x03 (03) oralig'ini belgilang = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)
# BMA250 manzili, 0x18 (24)# Tarmoqli o'tkazish registrini tanlang, 0x10 (16)
# 0x08 (08) tarmoqli kengligi = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)
vaqt uyqu (0,5)
# BMA250 manzili, 0x18 (24)
# Ma'lumotni 0x02 (02), 6 baytdan qaytarib o'qing
# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB
ma'lumotlar = bus.read_i2c_block_data (0x18, 0x02, 6)
# Ma'lumotni 10 bitga aylantiring
xAccl = (ma'lumotlar [1] * 256 + (ma'lumotlar [0] va 0xC0)) / 64
agar xAccl> 511:
xAccl -= 1024
yAccl = (ma'lumotlar [3] * 256 + (ma'lumotlar [2] va 0xC0)) / 64
agar yAccl> 511 bo'lsa:
yAccl -= 1024
zAccl = (ma'lumotlar [5] * 256 + (ma'lumotlar [4] va 0xC0)) / 64
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
Kod quyidagi buyruq yordamida bajariladi:
$> python BMA250.py gt; python BMA250.py
Sensor chiqishi foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
BMA250 kabi akselerometrlar asosan o'yinlarda va profilni almashtirishda ishlatiladi. Ushbu sensorli modul, shuningdek, mobil ilovalar uchun quvvatni boshqarishning ilg'or tizimida ham qo'llaniladi. BMA250-bu uch fazali raqamli tezlashtirish sensori bo'lib, u aqlli chipda harakatlanuvchi uzilishlar boshqaruvchisi bilan jihozlangan.
Tavsiya:
Servo dvigatel va tezlikni boshqarish yordamida aylanadigan fanat: 6 qadam
Servo dvigatel va tezlikni boshqarish yordamida aylanadigan fanat: Ushbu qo'llanmada biz fanni servo dvigatel, potansiyometr, arduino va Visuino yordamida sozlanishi tezlik bilan aylantirishni o'rganamiz. Videoni tomosha qiling
Bluetooth boshqariladigan RC avtomobili tezlikni boshqarish va masofani o'lchash bilan: 8 qadam
Bluetooth boshqariladigan RC avtomashinasi tezlikni boshqarish va masofani o'lchash bilan: Bolaligimda men doimo RC avtomashinalarini yaxshi ko'rardim. Hozirgi vaqtda siz Arduino yordamida Bluetooth orqali boshqariladigan arzon RC avtomashinalarini o'zingiz yasash uchun ko'plab qo'llanmalarni topishingiz mumkin. Keling, yana bir qadam tashlaymiz va kinematikadagi amaliy bilimlarimizni hisob -kitob qilish uchun ishlatamiz
160A cho'tkali elektron tezlikni nazorat qilish moslamasi va servo tester yordamida DC tishli motorini qanday boshqarish mumkin: 3 qadam
160A cho'tkali elektron tezlikni nazorat qilish moslamasi va servo-sinov qurilmasi yordamida shahar tishli dvigatelini qanday boshqarish mumkin: Xususiyat: kuchlanish: 2-3S Lipo yoki 6-9 NiMH uzluksiz oqim: 35A portlash oqimi: 160A BEC: 5V / 1A, chiziqli rejim rejimi: 1. oldinga &teskari; 2. oldinga &tormoz; 3. oldinga & tormoz & teskari Og'irligi: 34g Hajmi: 42*28*17 mm
BMA250 va Arduino Nano yordamida tezlikni o'lchash: 4 qadam
BMA250 va Arduino Nano yordamida tezlashtirishni o'lchash: BMA250-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 I2C raqamli interfeysi orqali kirish mumkin. Statikani o'lchaydi
BMA250 va zarracha foton yordamida tezlashtirishni o'lchash: 4 qadam
BMA250 va zarracha foton yordamida tezlashtirishni o'lchash: BMA250-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 I2C raqamli interfeysi orqali kirish mumkin. Statikani o'lchaydi