Мазмұны:
- 1 -қадам: Қажетті жабдық:
- 2 -қадам: Жабдықты қосу:
- 3 -қадам: Жылдамдықты өлшеуге арналған Arduino коды:
- 4 -қадам: Өтініштер:
Бейне: H3LIS331DL және Arduino Nano көмегімен үдеуді өлшеу: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
H3LIS331DL-бұл сандық I²C сериялық интерфейсі бар «нано» тобына жататын төмен қуатты жоғары өнімді 3 осьті желілік акселерометр. H3LIS331DL -де ± 100g/± 200g/± 400g пайдаланушы таңдауға болатын толық шкалалары бар және ол 0,5 Гц -тен 1 кГц -ке дейінгі деректерді беру жылдамдығымен үдеуді өлшеуге қабілетті. H3LIS331DL -40 ° C -тан +85 ° C -қа дейінгі кеңейтілген температура диапазонында жұмыс істеуге кепілдік беріледі.
Бұл оқулықта біз H3LIS331DL Arduino Nano интерфейсін көрсетеміз.
1 -қадам: Қажетті жабдық:
Мақсатқа жету үшін бізге қажет материалдар келесі аппараттық компоненттерді қамтиды:
1. H3LIS331DL
2. Ардуино Нано
3. I2C кабелі
4. Arduino Nano үшін I2C қалқаны
2 -қадам: Жабдықты қосу:
Аппаратты қосу бөлімі негізінен сенсор мен arduino нано арасындағы сымдық қосылыстарды түсіндіреді. Қажетті шығыс үшін кез келген жүйеде жұмыс істеу кезінде дұрыс қосылуды қамтамасыз ету - бұл негізгі қажеттілік. Сонымен, қажетті байланыстар келесідей:
H3LIS331DL I2C арқылы жұмыс істейді. Датчиктің әр интерфейсін қалай қосуға болатынын көрсететін электр схемасының мысалы.
Қаптамадан тыс тақта I2C интерфейсі үшін конфигурацияланған, сондықтан егер сіз агностикалық болмасаңыз, осы қосылымды пайдалануды ұсынамыз. Сізге тек төрт сым қажет!
Vcc, Gnd, SCL және SDA түйреуіштеріне тек төрт қосылым қажет және олар I2C кабелінің көмегімен қосылған.
Бұл байланыстар жоғарыдағы суреттерде көрсетілген.
3 -қадам: Жылдамдықты өлшеуге арналған Arduino коды:
Енді arduino кодынан бастайық.
Сенсорлық модульді arduino көмегімен пайдалану кезінде біз Wire.h кітапханасын қосамыз. «Wire» кітапханасында сенсор мен arduino тақтасы арасындағы i2c байланысын жеңілдететін функциялар бар.
Пайдаланушыға ыңғайлы болу үшін барлық arduino коды төменде берілген:
#қосу
// H3LIS331DL I2C мекенжайы - 0x18 (24)
#анықта Addr 0x18
жарамсыз орнату ()
{
// 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]);
int yAccl = ((деректер [3] * 256) + деректер [2]);
int zAccl = ((деректер [5] * 256) + деректер [4]);
// Деректерді сериялық мониторға шығару
Serial.print («X осінде үдеу:»);
Serial.println (xAccl);
Serial.print («Y осінде үдеу:»);
Serial.println (yAccl);
Serial.print («Z осінде үдеу:»);
Serial.println (zAccl);
кешіктіру (300);
}
Сізге тек кодты arduino -да жазу және сериялық порттағы көрсеткіштерді тексеру қажет. Шығару жоғарыдағы суретте көрсетілген.
4 -қадам: Өтініштер:
H3LIS331DL сияқты акселерометрлер көбінесе оны қолданбада және профильді ауыстыруды көрсетеді. Бұл сенсорлық модуль мобильді қосымшаларға арналған қуатты басқарудың жетілдірілген жүйесінде де қолданылады. H3LIS331DL-бұл үш фазалы цифрлық үдеткіш сенсоры, ол интеллектуалды микросхеманың қозғалысы бар үзіліс контроллерімен біріктірілген.
Ұсынылған:
ADXL345 және бөлшек фотоны көмегімен үдеуді өлшеу: 4 қадам
ADXL345 пен бөлшек фотонының көмегімен үдеуді өлшеу: ADXL345-ұсақ, жіңішке, ультра қуатты 3 ± осьті акселерометр, жоғары ажыратымдылықпен (13 биттік) ± 16 г дейін. Сандық шығыс деректері 16 биттік қосалқы ретінде форматталған және I2 C сандық интерфейсі арқылы қол жетімді. Ол өлшейді
H3LIS331DL мен бөлшек фотонының көмегімен үдеуді өлшеу: 4 қадам
H3LIS331DL мен Бөлшек Фотонды қолдана отырып үдеуді өлшеу: H3LIS331DL-цифрлық I²C сериялық интерфейсі бар «нано» тобына жататын төмен қуатты жоғары өнімді 3 осьті желілік акселерометр. H3LIS331DL -де ± 100g/± 200g/± 400g пайдаланушы таңдауға болатын толық таразы бар және ол жылдамдықты өлшеуге қабілетті
H3LIS331DL мен Raspberry Pi көмегімен үдеуді өлшеу: 4 қадам
H3LIS331DL мен Raspberry Pi: H3LIS331DL көмегімен үдеуді өлшеу-бұл IanoC сандық сериялық интерфейсі бар «нано» тобына жататын төмен қуатты жоғары білікті 3 осьті желілік акселерометр. H3LIS331DL -де ± 100g/± 200g/± 400g пайдаланушы таңдауға болатын толық таразы бар және ол жылдамдықты өлшеуге қабілетті
BMA250 және Arduino Nano көмегімен үдеуді өлшеу: 4 қадам
BMA250 және Arduino Nano көмегімен үдеуді өлшеу: BMA250-ұсақ, жұқа, ультра қуатты, ± осі өлшеуіші 3 осьті, ± 16 г дейін. Сандық шығыс мәліметтері 16 биттік қосалқы ретінде форматталған және I2C сандық интерфейсі арқылы қол жетімді. Ол статикалық өлшейді
ADXL345 және Arduino Nano көмегімен үдеуді өлшеу: 4 қадам
ADXL345 және Arduino Nano көмегімен үдеуді өлшеу: ADXL345-бұл кіші, жұқа, ультра қуатты, ± осьтік акселерометр, жоғары ажыратымдылықпен (13 биттік) ± 16 г дейін. Сандық шығыс деректері 16 биттік қосалқы ретінде форматталған және I2 C сандық интерфейсі арқылы қол жетімді. Ол өлшейді