Мазмұны:

H3LIS331DL мен бөлшек фотонының көмегімен үдеуді өлшеу: 4 қадам
H3LIS331DL мен бөлшек фотонының көмегімен үдеуді өлшеу: 4 қадам

Бейне: H3LIS331DL мен бөлшек фотонының көмегімен үдеуді өлшеу: 4 қадам

Бейне: H3LIS331DL мен бөлшек фотонының көмегімен үдеуді өлшеу: 4 қадам
Бейне: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, Қараша
Anonim
Image
Image

H3LIS331DL-бұл сандық I²C сериялық интерфейсі бар «нано» тобына жататын төмен қуатты жоғары өнімді 3 осьті желілік акселерометр. H3LIS331DL -де ± 100g/± 200g/± 400g пайдаланушы таңдауға болатын толық шкалалары бар және ол 0,5 Гц -тен 1 кГц -ке дейінгі деректерді беру жылдамдығымен үдеуді өлшеуге қабілетті. H3LIS331DL -40 ° C -тан +85 ° C -қа дейінгі кеңейтілген температура диапазонында жұмыс істеуге кепілдік беріледі.

Бұл оқулықта біз H3LIS331DL фотонды бөлшектермен байланысын көрсетеміз.

1 -қадам: Қажетті жабдық:

Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық
Қажетті жабдық

Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:

1. H3LIS331DL

2. Фотондық бөлшектер

3. I2C кабелі

4. Фотондық бөлшектерге арналған I2C қалқаны

2 -қадам: Жабдықты қосу:

Жабдықты қосу
Жабдықты қосу
Жабдықты қосу
Жабдықты қосу

Аппаратты қосу бөлімі негізінен сенсор мен фотон бөлшектері арасындағы сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:

H3LIS331DL I2C арқылы жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.

Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!

Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.

Бұл байланыстар жоғарыдағы суреттерде көрсетілген.

3 -қадам: Жылдамдықты өлшеу коды:

Жылдамдықты өлшеу коды
Жылдамдықты өлшеу коды

Енді бөлшектер кодынан бастайық.

Сенсорлық модульді arduino -мен қолданған кезде, біз application.h және spark_wiring_i2c.h кітапханасын қосамыз. «application.h» және spark_wiring_i2c.h кітапханасы сенсор мен бөлшек арасындағы i2c байланысын жеңілдететін функцияларды қамтиды.

Пайдаланушыға ыңғайлы болу үшін бөлшектердің толық коды төменде берілген:

#қосу

#қосу

// H3LIS331DL I2C мекенжайы - 0x18 (24)

#анықта Addr 0x18

int xAccl = 0, yAccl = 0, zAccl = 0;

жарамсыз орнату ()

{

// Айнымалыны орнатыңыз

Particle.variable («i2cdevice», «H3LIS331DL»);

Particle.variable («xAccl», xAccl);

Particle.variable («yAccl», yAccl);

Particle.variable («zAccl», zAccl);

// I2C байланысын MASTER ретінде баптаңыз

Wire.begin ();

// Сериялық байланысты инициализациялаңыз, жіберу жылдамдығы = 9600

Serial.begin (9600);

// I2C берілуін бастау

Wire.beginTransmission (Addr);

// Басқару регистрін таңдаңыз 1

Wire.write (0x20);

// X, Y, Z осін қосу, қосу режимі, деректерді шығару жиілігі 50 Гц

Wire.write (0x27);

// I2C берілуін тоқтату

Wire.endTransmission ();

// I2C берілуін бастау

Wire.beginTransmission (Addr);

// Басқару регистрін таңдаңыз 4

Wire.write (0x23);

// Толық масштабты орнату, +/- 100г, үздіксіз жаңарту

Wire.write (0x00);

// I2C берілуін тоқтату

Wire.endTransmission ();

кешіктіру (300);

}

бос цикл ()

{

қол қойылмаған int деректері [6];

үшін (int i = 0; i <6; i ++)

{

// I2C берілуін бастау

Wire.beginTransmission (Addr);

// Деректер регистрін таңдаңыз

Wire.write ((40 + i));

// I2C берілуін тоқтату

Wire.endTransmission ();

// 1 байт деректерді сұрау

Wire.requestFrom (Addr, 1);

// 6 байт деректерді оқу

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

егер (Wire.available () == 1)

{

деректер = Wire.read ();

}

кешіктіру (300);

}

// Деректерді түрлендіру

int xAccl = ((деректер [1] * 256) + деректер [0]);

егер (xAccl> 32767)

{

xAccl -= 65536;

}

int yAccl = ((деректер [3] * 256) + деректер [2]);

егер (yAccl> 32767)

{

yAccl -= 65536;

}

int zAccl = ((деректер [5] * 256) + деректер [4]);

егер (zAccl> 32767)

{

zAccl -= 65536;

}

// Деректерді бақылау тақтасына шығару

Particle.publish («X-Axis үдеуінде:», String (xAccl));

Particle.publish («Y осінде үдеу-бұл:», String (yAccl));

Particle.publish («Z-осіндегі үдеу-бұл:», String (zAccl));

кешіктіру (300);

}

Particle.variable () функциясы сенсордың шығысын сақтау үшін айнымалылар жасайды және Particle.publish () функциясы сайттың бақылау тақтасында шығуды көрсетеді.

Сенсор шығысы жоғарыдағы суретте көрсетілген.

4 -қадам: Өтініштер:

Қолданбалар
Қолданбалар

H3LIS331DL сияқты акселерометрлер көбінесе оны қолданбада және профильді ауыстыруды көрсетеді. Бұл сенсорлық модуль мобильді қосымшаларға арналған қуатты басқарудың жетілдірілген жүйесінде де қолданылады. H3LIS331DL-бұл үш фазалы цифрлық үдеткіш сенсоры, ол интеллектуалды микросхеманың қозғалысы бар үзіліс контроллерімен біріктірілген.

Ұсынылған: