Taula de continguts:

Mesura de l’acceleració mitjançant H3LIS331DL i Arduino Nano: 4 passos
Mesura de l’acceleració mitjançant H3LIS331DL i Arduino Nano: 4 passos

Vídeo: Mesura de l’acceleració mitjançant H3LIS331DL i Arduino Nano: 4 passos

Vídeo: Mesura de l’acceleració mitjançant H3LIS331DL i Arduino Nano: 4 passos
Vídeo: Saló Nàutic 2023 | Accions del Pla Litoral de Barcelona 2018- 2028 2024, Juliol
Anonim
Image
Image

H3LIS331DL, és un acceleròmetre lineal de 3 eixos d'alt rendiment de baixa potència que pertany a la família "nano", amb interfície sèrie I²C digital. H3LIS331DL té una escala completa seleccionable per l'usuari de ± 100g / ± 200g / ± 400g i és capaç de mesurar acceleracions amb velocitats de dades de sortida de 0,5 Hz a 1 kHz. Es garanteix que el H3LIS331DL funciona en un interval de temperatura ampliat de -40 ° C a +85 ° C.

En aquest tutorial demostrarem la interfície de H3LIS331DL amb Arduino Nano.

Pas 1: maquinari necessari:

Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari
Maquinari necessari

Els materials que necessitem per assolir el nostre objectiu inclouen els components de maquinari següents:

1. H3LIS331DL

2. Arduino Nano

3. Cable I2C

4. Escut I2C per a Arduino Nano

Pas 2: connexió de maquinari:

Connexió de maquinari
Connexió de maquinari
Connexió de maquinari
Connexió de maquinari

La secció de connexió de maquinari explica bàsicament les connexions de cablejat necessàries entre el sensor i l'arduino nano. Garantir connexions correctes és la necessitat bàsica mentre es treballa en qualsevol sistema per a la sortida desitjada. Per tant, les connexions necessàries són les següents:

El H3LIS331DL funcionarà sobre I2C. Aquí teniu un exemple de diagrama de cablejat, que demostra com connectar cada interfície del sensor.

Fora de la caixa, el tauler està configurat per a una interfície I2C, per tant, us recomanem que utilitzeu aquesta connexió si no sou agnòstic. Tot el que necessiteu són quatre cables.

Només es necessiten quatre connexions pins Vcc, Gnd, SCL i SDA i es connecten amb l'ajut del cable I2C.

Aquestes connexions es mostren a les imatges anteriors.

Pas 3: Codi Arduino per a la mesura de l’acceleració:

Codi Arduino per a la mesura de l’acceleració
Codi Arduino per a la mesura de l’acceleració
Codi Arduino per a la mesura de l’acceleració
Codi Arduino per a la mesura de l’acceleració

Comencem ara amb el codi arduino.

Mentre s’utilitza el mòdul de sensor amb l’arduino, incloem la biblioteca Wire.h. La biblioteca "Wire" conté les funcions que faciliten la comunicació i2c entre el sensor i la placa arduino.

A continuació es proporciona tot el codi arduino per a la comoditat de l'usuari:

#incloure

// L’adreça I2C H3LIS331DL és 0x18 (24)

#define Addr 0x18

configuració nul·la ()

{

// Inicialitzar la comunicació I2C com a MASTER

Wire.begin ();

// Inicialitzar la comunicació en sèrie, establir la velocitat de transmissió = 9600

Serial.begin (9600);

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Seleccioneu registre de control 1

Wire.write (0x20);

// Activa l’eix X, Y, Z, mode d’encesa, velocitat de sortida de dades 50Hz

Wire.write (0x27);

// Atura la transmissió I2C

Wire.endTransmission ();

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Seleccioneu el registre de control 4

Wire.write (0x23);

// Estableix a escala completa, +/- 100 g, actualització contínua

Wire.write (0x00);

// Atura la transmissió I2C

Wire.endTransmission ();

retard (300);

}

bucle buit ()

{

dades int sense signar [6];

per a (int i = 0; i <6; i ++)

{

// Inicieu la transmissió I2C

Wire.beginTransmission (Addr);

// Selecciona el registre de dades

Wire.write ((40 + i));

// Atura la transmissió I2C

Wire.endTransmission ();

// Sol·liciteu 1 byte de dades

Wire.requestFrom (Addr, 1);

// Llegiu 6 bytes de dades

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

if (Wire.available () == 1)

{

dades = Wire.read ();

}

}

retard (300);

// Converteix les dades

int xAccl = ((dades [1] * 256) + dades [0]);

int yAccl = ((dades [3] * 256) + dades [2]);

int zAccl = ((dades [5] * 256) + dades [4]);

// Sortida de dades al monitor sèrie

Serial.print ("Acceleració a l'eix X:");

Serial.println (xAccl);

Serial.print ("Acceleració a l'eix Y:");

Serial.println (yAccl);

Serial.print ("Acceleració a l'eix Z:");

Serial.println (zAccl);

retard (300);

}

Tot el que heu de fer és gravar el codi en arduino i comprovar les vostres lectures al port sèrie. La sortida es mostra a la imatge superior.

Pas 4: aplicacions:

Aplicacions
Aplicacions

Els acceleròmetres com H3LIS331DL troben principalment la seva aplicació en els jocs i el canvi de perfil de pantalla. Aquest mòdul de sensor també s'utilitza en el sistema avançat de gestió d'energia per a aplicacions mòbils. H3LIS331DL és un sensor d’acceleració digital triaxial que s’incorpora amb un controlador d’interrupció activat per moviment de xip intel·ligent.

Recomanat: