Mundarija:
- 1 -qadam: Uskuna kerak:
- 2 -qadam: Uskuna ulanishi:
- 3 -qadam: Tezlikni o'lchash uchun kod:
- 4 -qadam: Ilovalar:
Video: BMA250 va zarracha foton yordamida tezlashtirishni o'lchash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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 zarracha foton yordamida uchta perpendikulyar o'qning tezlanishini o'lchaymiz.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. BMA250
2. Foton zarrachalari
3. I2C kabeli
4. Zarrachali foton uchun I2C qalqoni
2 -qadam: Uskuna ulanishi:
Uskuna ulash bo'limi asosan sensor va zarracha fotoni 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 kod:
Endi zarracha kodidan boshlaylik.
Sensor modulini arduino bilan ishlatganda, biz application.h va spark_wiring_i2c.h kutubxonasini o'z ichiga olamiz. "application.h" va spark_wiring_i2c.h kutubxonasi sensor va zarracha o'rtasidagi i2c aloqasini osonlashtiradigan funktsiyalarni o'z ichiga oladi.
Butun zarracha kodi foydalanuvchiga qulay bo'lishi uchun quyida keltirilgan:
#qo'shing
#qo'shing
// BMA250 I2C manzili - 0x18 (24)
#aniqlang Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
bo'sh o'rnatish ()
{
// O'zgaruvchini o'rnating
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// I2C aloqasini MASTER sifatida boshlang
Wire.begin ();
// Seriyali aloqani ishga tushiring, bod tezligini = 9600 ga o'rnating
Serial.begin (9600);
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// diapazonni tanlash registrini tanlang
Wire.write (0x0F);
// +/- 2g oralig'ini o'rnating
Wire.write (0x03);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// tarmoqli kengligi registrini tanlang
Wire.write (0x10);
// Tarmoqli kengligini sozlash 7.81 Gts
Wire.write (0x08);
// I2C uzatishni to'xtating
Wire.endTransmission ();
kechikish (300);}
bo'sh halqa ()
{
imzosiz int ma'lumotlari [0];
// I2C uzatishni boshlang
Wire.beginTransmission (Addr);
// Ma'lumotlar registrlarini tanlang (0x02 - 0x07)
Wire.write (0x02);
// I2C uzatishni to'xtating
Wire.endTransmission ();
// 6 bayt talab qiling
Wire.requestFrom (Addr, 6);
// Olti baytni o'qing
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
agar (Wire.available () == 6)
{
ma'lumotlar [0] = Wire.read ();
ma'lumotlar [1] = Wire.read ();
ma'lumotlar [2] = Wire.read ();
ma'lumotlar [3] = Wire.read ();
ma'lumotlar [4] = Wire.read ();
ma'lumotlar [5] = Wire.read ();
}
kechikish (300);
// Ma'lumotni 10 bitga aylantiring
xAccl = ((ma'lumotlar [1] * 256) + (ma'lumotlar [0] & 0xC0)) / 64;
agar (xAccl> 511)
{
xAccl -= 1024;
}
yAccl = ((ma'lumotlar [3] * 256) + (ma'lumotlar [2] & 0xC0)) / 64;
agar (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((ma'lumotlar [5] * 256) + (ma'lumotlar [4] & 0xC0)) / 64;
agar (zAccl> 511)
{
zAccl -= 1024;
}
// Ma'lumotlarni boshqaruv paneliga chiqarish
Particle.publish ("X o'qida tezlashtirish:", String (xAccl));
kechikish (1000);
Particle.publish ("Y o'qida tezlashtirish:", String (yAccl));
kechikish (1000);
Particle.publish ("Z o'qida tezlashtirish:", String (zAccl));
kechikish (1000);
}
Particle.variable () funktsiyasi sensorning chiqishini saqlash uchun o'zgaruvchilarni yaratadi va Particle.publish () funktsiyasi saytning boshqaruv panelida chiqishini ko'rsatadi.
Ma'lumot uchun sensor chiqishi 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:
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
HYT939 va zarracha foton yordamida namlikni o'lchash: 4 qadam
HYT939 va zarracha foton yordamida namlikni o'lchash: HYT939 - I2C aloqa protokolida ishlaydigan raqamli namlik sensori. Namlik - bu tibbiy tizimlar va laboratoriyalarga taalluqli asosiy parametr, shuning uchun biz bu maqsadlarga erishish uchun HYT939 ni malina pi bilan bog'lashga harakat qildik. Men
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
MCP9803 va zarracha foton yordamida haroratni o'lchash: 4 qadam
MCP9803 va zarracha foton yordamida haroratni o'lchash: MCP9803-2 simli yuqori aniqlikdagi harorat sensori. Ular foydalanuvchi tomonidan dasturlashtiriladigan registrlar bilan jihozlangan bo'lib, ular haroratni sezishni osonlashtiradi. Bu sensor juda ko'p zonali haroratni nazorat qilish tizimi uchun javob beradi
STS21 va zarracha foton yordamida haroratni o'lchash: 4 qadam
STS21 va zarracha foton yordamida haroratni o'lchash: STS21 raqamli harorat sensori yuqori ishlash va bo'sh joyni tejash imkonini beradi. Bu raqamli, I2C formatida kalibrlangan, chiziqli signallarni beradi. Ushbu sensorning ishlab chiqarilishi CMOSens texnologiyasiga asoslangan bo'lib, u yuqori darajadagi