Përmbajtje:

Matja e përshpejtimit duke përdorur H3LIS331DL dhe Arduino Nano: 4 hapa
Matja e përshpejtimit duke përdorur H3LIS331DL dhe Arduino Nano: 4 hapa

Video: Matja e përshpejtimit duke përdorur H3LIS331DL dhe Arduino Nano: 4 hapa

Video: Matja e përshpejtimit duke përdorur H3LIS331DL dhe Arduino Nano: 4 hapa
Video: 大人気! 見た目から「未来感」を感じる、500系新幹線に乗車‼️ 2024, Nëntor
Anonim
Image
Image

H3LIS331DL, është një akselerometër linear me fuqi të ulët me performancë të lartë 3 boshte që i përket familjes "nano", me ndërfaqe serike dixhitale I²C. H3LIS331DL ka shkallë të plota të zgjedhura nga përdoruesi prej ± 100g/± 200g/± 400g dhe është i aftë të matë përshpejtimet me normat e të dhënave të daljes nga 0.5 Hz në 1 kHz. H3LIS331DL është e garantuar të funksionojë në një gamë të zgjatur të temperaturës nga -40 ° C në +85 ° C.

Në këtë tutorial ne do të demonstrojmë ndërfaqen e H3LIS331DL me Arduino Nano.

Hapi 1: Kërkohet harduer:

Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer
Kërkohet harduer

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. H3LIS331DL

2. Arduino Nano

3. Kabllo I2C

4. Mburoja I2C për Arduino Nano

Hapi 2: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe arduino nano. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

H3LIS331DL do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik. Gjithçka që ju nevojitet janë katër tela!

Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 3: Kodi Arduino për Matjen e Përshpejtimit:

Kodi Arduino për Matjen e Përshpejtimit
Kodi Arduino për Matjen e Përshpejtimit
Kodi Arduino për Matjen e Përshpejtimit
Kodi Arduino për Matjen e Përshpejtimit

Le të fillojmë me kodin arduino tani.

Ndërsa përdorim modulin e sensorit me arduino, ne përfshijmë bibliotekën Wire.h. Biblioteka "Wire" përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe bordit arduino.

I gjithë kodi arduino është dhënë më poshtë për lehtësinë e përdoruesit:

#përfshi

// Adresa H3LIS331DL I2C është 0x18 (24)

#përcaktoni Addr 0x18

void setup ()

{

// Filloni komunikimin I2C si MASTER

Wire.begin ();

// Filloni Komunikimin Serial, vendosur normën e baudit = 9600

Serial.filloj (9600);

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e kontrollit 1

Wire.write (0x20);

// Aktivizo boshtin X, Y, Z, modaliteti i ndezjes, shkalla e daljes së të dhënave 50Hz

Wire.write (0x27);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e kontrollit 4

Wire.write (0x23);

// Vendosni shkallën e plotë, +/- 100g, përditësim i vazhdueshëm

Wire.write (0x00);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (300);

}

lak void ()

{

të dhëna int të panënshkruara [6];

për (int i = 0; i <6; i ++)

{

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e të dhënave

Wire.write ((40+i));

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Kërkoni 1 bajt të dhëna

Tela. Kërkohet Nga (Addr, 1);

// Lexoni 6 bajt të dhëna

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

nëse (Wire.available () == 1)

{

të dhënat = Wire.read ();

}

}

vonesë (300);

// Shndërroni të dhënat

int xAccl = ((të dhënat [1] * 256) + të dhënat [0]);

int yAccl = ((të dhënat [3] * 256) + të dhënat [2]);

int zAccl = ((të dhënat [5] * 256) + të dhënat [4]);

// Dalja e të dhënave në monitorin serik

Serial.print ("Përshpejtimi në boshtin X:");

Serial.println (xAccl);

Serial.print ("Përshpejtimi në Boshtin Y:");

Serial.println (yAccl);

Serial.print ("Përshpejtimi në Boshtin Z:");

Serial.println (zAccl);

vonesë (300);

}

E tëra çfarë ju duhet të bëni është të digjni kodin në arduino dhe të kontrolloni leximet tuaja në portin serik. Rezultati është treguar në figurën e mësipërme.

Hapi 4: Aplikimet:

Aplikimet
Aplikimet

Përshpejtuesit si H3LIS331DL kryesisht gjejnë aplikimin e tij në ndërrimin e profilit të lojërave dhe ekranit. Ky modul sensor përdoret gjithashtu në sistemin e avancuar të menaxhimit të energjisë për aplikacionet mobile. H3LIS331DL është një sensor dixhital i nxitimit dixhital i cili është i përfshirë me një kontrollues ndërprerës të shkaktuar nga lëvizja inteligjente në çip.

Recommended: