Съдържание:
- Стъпка 1: Изисква се хардуер:
- Стъпка 2: Свързване на хардуера:
- Стъпка 3: Arduino код за измерване на ускорението:
- Стъпка 4: Приложения:
Видео: Измерване на ускорението с помощта на H3LIS331DL и Arduino Nano: 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
H3LIS331DL е високоефективен 3-осен линеен акселерометър с ниска мощност, принадлежащ към семейството „нано“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100 g/± 200 g/± 400 g и е в състояние да измерва ускорения с изходни скорости на данни от 0,5 Hz до 1 kHz. Гарантирано е, че H3LIS331DL ще работи в разширен температурен диапазон от -40 ° C до +85 ° C.
В този урок ще демонстрираме взаимодействието на H3LIS331DL с Arduino Nano.
Стъпка 1: Изисква се хардуер:
Материалите, от които се нуждаем за постигане на целта ни, включват следните хардуерни компоненти:
1. H3LIS331DL
2. Arduino Nano
3. I2C кабел
4. I2C щит за Arduino Nano
Стъпка 2: Свързване на хардуера:
Разделът за свързване на хардуера основно обяснява необходимите кабелни връзки между сензора и arduino nano. Осигуряването на правилни връзки е основната необходимост, докато работите върху всяка система за желания изход. И така, необходимите връзки са както следва:
H3LIS331DL ще работи през I2C. Ето примерната електрическа схема, демонстрираща как да свържете всеки интерфейс на сензора.
Извън кутията, дъската е конфигурирана за I2C интерфейс, като такава препоръчваме да използвате тази връзка, ако иначе не сте агностици. Всичко, от което се нуждаете, са четири проводника!
Изискват се само четири връзки Vcc, Gnd, SCL и SDA щифтове и те са свързани с помощта на I2C кабел.
Тези връзки са показани на снимките по -горе.
Стъпка 3: Arduino код за измерване на ускорението:
Нека започнем с кода arduino сега.
Докато използваме сензорния модул с arduino, ние включваме библиотеката Wire.h. Библиотеката "Wire" съдържа функциите, които улесняват i2c комуникацията между сензора и платката arduino.
Целият код на arduino е даден по -долу за удобство на потребителя:
#включва
// H3LIS331DL I2C адресът е 0x18 (24)
#define Addr 0x18
void setup ()
{
// Инициализира I2C комуникацията като MASTER
Wire.begin ();
// Инициализира серийна комуникация, зададена скорост на предаване = 9600
Serial.begin (9600);
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете контролен регистър 1
Wire.write (0x20);
// Активиране на ос X, Y, Z, режим на включване, изходна скорост 50Hz
Wire.write (0x27);
// Спиране на I2C предаването
Wire.endTransmission ();
// Стартиране на I2C предаване
Wire.beginTransmission (Addr);
// Изберете контролен регистър 4
Wire.write (0x23);
// Задайте пълна скала, +/- 100g, непрекъснато актуализиране
Wire.write (0x00);
// Спиране на I2C предаването
Wire.endTransmission ();
забавяне (300);
}
void loop ()
{
беззнакови 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 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва
Измерване на ускорението с помощта на H3LIS331DL и фотон на частици: 4 стъпки
Измерване на ускорението с помощта на H3LIS331DL и частичен фотон: H3LIS331DL, е маломощен високоефективен 3-осен линеен акселерометър, принадлежащ към семейството „нано“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100g/± 200g/± 400g и е в състояние да измерва ускорения w
Измерване на ускорението с помощта на H3LIS331DL и Raspberry Pi: 4 стъпки
Измерване на ускорението с помощта на H3LIS331DL и Raspberry Pi: H3LIS331DL, е нискомощен високоефективен 3-осен линеен акселерометър, принадлежащ към семейството „нано“, с цифров I²C сериен интерфейс. H3LIS331DL има избираеми от потребителя пълни скали от ± 100g/± 200g/± 400g и е в състояние да измерва ускорения w
Измерване на ускорението с помощта на BMA250 и Arduino Nano: 4 стъпки
Измерване на ускорението с помощта на BMA250 и Arduino Nano: BMA250 е малък, тънък, 3-осен акселерометър с ултра ниска мощност с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2C цифров интерфейс. Измерва статичното
Измерване на ускорението с помощта на ADXL345 и Arduino Nano: 4 стъпки
Измерване на ускорението с помощта на ADXL345 и Arduino Nano: ADXL345 е малък, тънък, свръхмалък, 3-осен акселерометър с измерване с висока разделителна способност (13 бита) до ± 16 g. Цифровите изходни данни са форматирани като 16-битови двойки, допълващи се и са достъпни чрез I2 C цифров интерфейс. Измерва