Мазмуну:
Video: Arduino Nano-MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 Steps
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
MMA8452Q-бул акылдуу, аз кубаттуу, үч огу, сыйымдуулугу, 12 биттик токтому бар микромахиндүү акселерометр. Колдонуучунун ийкемдүү программалоочу параметрлери акселерометрдеги камтылган функциялардын жардамы менен камсыз кылынат, эки үзгүлтүктүү казыкка конфигурацияланат. Бул колдонуучу тандап ала турган толук масштабга ээ ± 2g/± 4g/± 8g жогорку өткөргүч чыпкаланган маалыматтар менен, ошондой эле реалдуу убакытта чыпкаланбаган маалыматтар. Бул жерде анын Arduino нано менен болгон демонстрациясы.
1 -кадам: Сизге эмне керек..
1. Ардуино Нано
2. MMA8452Q
3. I²C кабели
4. Arduino Nano үчүн I²C Shield
2 -кадам: Байланыш:
Arduino Nano үчүн I2C калканчын алыңыз жана аны акырындык менен Нанонун казыктарына түртүңүз.
Андан кийин I2C кабелинин бир учун MMA8452Q сенсоруна, экинчи учун I2C калканчына туташтырыңыз.
Байланыштар жогорудагы сүрөттө көрсөтүлгөн.
3 -кадам: Код:
MMMA8452Q үчүн arduino кодун биздин github репозиторийинен көчүрүп алсаңыз болот- DCUBE дүкөнү.
Мына шилтеме.
Биз сенсордун Arduino тактасы менен I2c байланышын жеңилдетүү үчүн Wire.h китепканасын камтыйбыз.
Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:
// Эркин лицензия менен таратылган.
// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.
// MMA8452Q
// Бул код MMA8452Q_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.
#кошуу
// MMA8452Q I2C дареги 0x1C (28)
#define Addr 0x1C
жараксыз орнотуу ()
{
// I2C байланышын MASTER катары баштаңыз
Wire.begin ();
// Сериялык байланышты баштоо, байдын ылдамдыгын орнотуу = 9600
Serial.begin (9600);
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Башкаруу реестрин тандоо
Wire.write (0x2A);
// Күтүү режиминде
Wire.write (0x00);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Башкаруу реестрин тандоо
Wire.write (0x2A);
// Активдүү режим
Wire.write (0x01);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Башкаруу реестрин тандоо
Wire.write (0x0E);
// Аралыгын +/- 2г коюңуз
Wire.write (0x00);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (300);
}
боштук цикл ()
{
кол коюлбаган int маалыматтары [7];
// 7 байт маалымат сураңыз
Wire.requestFrom (Addr, 7);
// 7 байт маалыматтарды окуңуз
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
эгер (Wire.available () == 7)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
маалымат [3] = Wire.read ();
data [4] = Wire.read ();
маалымат [5] = Wire.read ();
маалымат [6] = Wire.read ();
}
// Маалыматтарды 12 битке айландырыңыз
int xAccl = ((маалымат [1] * 256) + маалымат [2]) / 16;
эгер (xAccl> 2047)
{
xAccl -= 4096;
}
int yAccl = ((маалыматтар [3] * 256) + маалыматтар [4]) / 16;
эгер (yAccl> 2047)
{
yAccl -= 4096;
}
int zAccl = ((маалыматтар [5] * 256) + маалыматтар [6]) / 16;
эгер (zAccl> 2047)
{
zAccl -= 4096;
}
// Маалыматтарды сериялык мониторго чыгаруу
Serial.print ("X-Axis менен ылдамдануу:");
Serial.println (xAccl);
Serial.print ("Y огунда ылдамдануу:");
Serial.println (yAccl);
Serial.print ("Z-огунда ылдамдануу:");
Serial.println (zAccl);
кечигүү (500);
}
4 -кадам: Тиркемелер:
MMA8452Q ар кандай тиркемелерге ээ, анын ичинде E-Compass тиркемелери, Статикалык багытты аныктоо, анын ичинде Портрет/Пейзаж, Өйдө/ылдый, Сол/Оң, Артка/Алдыңкы позицияны аныктоо, Ноутбук, электрондук окурман, жана Ноутбуктар кулап түшүү жана Акысыз түшүү, Реалдуу убакыт багыттоону аныктоо, анын ичинде виртуалдык чындык жана оюн 3D колдонуучунун позициясы боюнча пикирлер, педометрдин кадамын эсептөө сыяктуу реалдуу убакытта анализ, HDD үчүн кулап түшүүнү аныктоо, GPSтин камдык көчүрмөсү жана башкалар.
Сунушталууда:
Force Sensing Resistor (FSR) Arduino Simple Tutorial: 8 Steps
Force Sensing Resistor (FSR) Arduino Simple Tutorial: Бул окуу куралында биз Force Sensing Resistor (FSR) колдонулган күчтү кантип аныктоону жана OLED дисплейде көрсөтүүнү үйрөнөбүз +, биз жашыл жана кызыл LED менен чектерди коёбуз. .Демонстрациялык видеону көрүңүз
Claqueta Digital Con Arduino (Arduino менен Digital Clapperboard): 7 кадам
Claqueta Digital Con Arduino (Digital Clapperboard with Arduino): Санариптик, санариптик жана санариптик технологиялар, эч кандай санариптик форматка өтпөйт, Arduino.MATERIALES 7 сегменттен турган MAX7219 жана 8 цифраларга туура келет. con arduino.Arduin
Particle Photon - BH1715 Digital Ambient Light Sensor Tutorial: 4 Steps
Particle Photon - BH1715 Digital Ambient Light Sensor Tutorial: BH1715 - I²C автобус интерфейси бар санариптик жарык сенсору. BH1715, адатта, мобилдик түзмөктөр үчүн ЖК жана Баскычтоптун арткы жарык кубатын тууралоо үчүн айланадагы жарык маалыматтарды алуу үчүн колдонулат. Бул түзмөк 16-биттик чечимди жана жөндөөнү сунуштайт
Jetson Nano Quadruped Robot Object Detection Tutorial: 4 Steps
Jetson Nano Quadruped Robot Object Detection Tutorial: Nvidia Jetson Nano - бул SoM (модулдагы система) жана маалымдама ташуучу тактадан турган иштеп чыгуучу комплект. Бул биринчи кезекте машина үйрөнүү, машинаны көрүү жана видео үчүн жогорку иштетүү күчүн талап кылган камтылган системаларды түзүүгө багытталган
Gyro, Accelerometer жана Arduino менен бурчту өлчөө: 5 кадам
Gyro, Accelerometer жана Arduino менен бурчту өлчөө: Бул түзмөк акыры өзүн -өзү тең салмакка айландыра турган роботтун прототипи, бул тешиктин экинчи бөлүгү (акселерометрди окуп, моторду тең салмактуулук үчүн башкарыңыз). Гирону камтыган биринчи бөлүктү бул жерден тапса болот