Мазмуну:
- 1 -кадам: Аппараттык камсыздоо талап кылынат:
- 2 -кадам: Аппараттык туташуу:
- 3 -кадам: Ылдамданууну өлчөө үчүн код:
- 4 -кадам: Тиркемелер:
Video: BMA250 жана бөлүкчө фотонун колдонуу менен ылдамдатуу өлчөөсү: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
BMA250-кичине, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечилиште (13-бит) өлчөө. Санариптик чыгуучу маалыматтар 16 биттик эки катары толукталган жана I2C санариптик интерфейси аркылуу жеткиликтүү. Бул эңкейүүнү сезүүчү колдонмолордо тартылуу күчүнүн статикалык ылдамдатуусун, ошондой эле кыймылдан же шоктон келип чыккан динамикалык ылдамданууну өлчөйт. Анын жогорку токтому (3,9 мг/LSB) жантайыштын өзгөрүүсүн 1,0 ° дан аз өлчөөгө мүмкүндүк берет.
Бул үйрөткүчтө биз BMA250 жана Бөлүкчөлөр фотонун колдонуп, бардык үч перпендикуляр огунда ылдамданууну өлчөйбүз.
1 -кадам: Аппараттык камсыздоо талап кылынат:
Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:
1. BMA250
2. Бөлүкчөлөрдүн фотону
3. I2C кабели
4. I2C Shield for Particle Photon
2 -кадам: Аппараттык туташуу:
Аппараттык туташуу бөлүмү негизинен сенсор менен фотон бөлүкчөсүнүн ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
BMA250 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!
Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
3 -кадам: Ылдамданууну өлчөө үчүн код:
Эми бөлүкчө коду менен баштайлы.
Arduino менен сенсор модулун колдонуп жатканда, биз application.h жана spark_wiring_i2c.h китепканасын камтыйт. "application.h" жана spark_wiring_i2c.h китепканасы сенсор менен бөлүкчөнүн ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.
Колдонуучунун ыңгайлуулугу үчүн бүт бөлүкчө коду төмөндө келтирилген:
#кошуу
#кошуу
// BMA250 I2C дареги 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
жараксыз орнотуу ()
{
// Өзгөрмөнү коюу
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// I2C байланышын MASTER катары баштаңыз
Wire.begin ();
// Сериялык байланышты баштаңыз, baud rate = 9600 коюңуз
Serial.begin (9600);
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Аралыкты тандоо реестрин тандаңыз
Wire.write (0x0F);
// Орнотуу диапазону +/- 2г
Wire.write (0x03);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Өткөрүү жөндөмүнүн регистрин тандаңыз
Wire.write (0x10);
// Өткөрүү жөндөмүн 7.81 Гц коюу
Wire.write (0x08);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (300);}
боштук цикл ()
{
кол коюлбаган int маалыматтары [0];
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Маалымат регистрлерин тандоо (0x02 - 0x07)
Wire.write (0x02);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// 6 байт суроо
Wire.requestFrom (Addr, 6);
// Алты байтты окугула
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
эгер (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
маалымат [3] = Wire.read ();
data [4] = Wire.read ();
маалымат [5] = Wire.read ();
}
кечигүү (300);
// Маалыматтарды 10 битке айландырыңыз
xAccl = ((маалымат [1] * 256) + (маалымат [0] & 0xC0)) / 64;
эгер (xAccl> 511)
{
xAccl -= 1024;
}
yAccl = ((маалыматтар [3] * 256) + (маалыматтар [2] & 0xC0)) / 64;
эгер (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((маалыматтар [5] * 256) + (маалыматтар [4] & 0xC0)) / 64;
эгер (zAccl> 511)
{
zAccl -= 1024;
}
// Маалыматтарды тактасына чыгаруу
Particle.publish ("X огунда ылдамдануу:", String (xAccl));
кечигүү (1000);
Particle.publish ("Y огунда ылдамдануу:", String (yAccl));
кечигүү (1000);
Particle.publish ("Z-огунда ылдамдануу:", String (zAccl));
кечигүү (1000);
}
Particle.
Сенсор чыгаруу үчүн жогорудагы сүрөттө көрсөтүлгөн.
4 -кадам: Тиркемелер:
BMA250 сыяктуу акселерометрлер негизинен оюндарды колдонууда табышат жана профилдин которулушун көрсөтүшөт. Бул сенсор модулу мобилдик тиркемелер үчүн заманбап кубатты башкаруу тутумунда да колдонулат. BMA250-интеллектуалдык чиптин кыймылга келтирүүчү үзгүлтүк контроллери менен коштолгон үч фазалуу санарип ылдамдатуу сенсору.
Сунушталууда:
ADXL345 жана Бөлүкчө Фотонун колдонуу менен ылдамданууну өлчөө: 4 кадам
ADXL345 жана Бөлүкчө Фотонун колдонуу менен ылдамдатууну өлчөө: ADXL345-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, жогорку чечим (13-бит) ± 16 г чейин. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2 C санариптик интерфейси аркылуу жеткиликтүү. Ал өлчөйт
BMA250 жана Arduino Nano колдонуу менен ылдамдатуу өлчөөсү: 4 кадам
BMA250 жана Arduino Nano аркылуу ылдамдатуу өлчөөсү: BMA250-кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечим (13-бит) менен өлчөө. Санарип чыгуучу маалыматтар 16-бит эки катары толукталган жана I2C санариптик интерфейси аркылуу жеткиликтүү. Статиканы өлчөйт
BMA250 жана Raspberry Pi колдонуу менен ылдамдатуу өлчөөсү: 4 кадам
BMA250 жана Raspberry Pi аркылуу ылдамдатуу өлчөөсү: BMA250-бул кичинекей, ичке, ультра кубаттуу, 3 октук акселерометр, ± 16 г чейин жогорку чечим (13-бит) менен өлчөө. Санариптик чыгуучу маалыматтар 16 биттик эки катары толукталган жана I2C санариптик интерфейси аркылуу жеткиликтүү. Статиканы өлчөйт
HIH6130 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө
HTS221 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт