Taula de continguts:

ADXL345 Ús d'Arduino Uno R3: 5 passos
ADXL345 Ús d'Arduino Uno R3: 5 passos

Vídeo: ADXL345 Ús d'Arduino Uno R3: 5 passos

Vídeo: ADXL345 Ús d'Arduino Uno R3: 5 passos
Vídeo: How to Use Accelerometers on the Arduino - Ultimate Guide to the Arduino #42 2024, De novembre
Anonim
ADXL345 Utilitzant Arduino Uno R3
ADXL345 Utilitzant Arduino Uno R3

En aquesta lliçó, aprendrem a utilitzar el sensor d’acceleració ADXL345.

Pas 1: components

- Tauler Arduino Uno * 1

Cable USB * 1

- ADXL345 * 1

- Taula de pa * 1

- Cavalls de pont

Pas 2: Principi

Un acceleròmetre s’utilitza per mesurar la força generada durant l’acceleració. El més fonamental és l’acceleració de gravetat coneguda habitualment, que és d’1 g.

Mesurant l’acceleració causada per la gravetat, podeu calcular l’angle d’inclinació del dispositiu cap a la superfície plana. Mitjançant l’anàlisi de l’acceleració dinàmica, es pot saber com es mou el dispositiu. Per exemple, el tauler o hoverboard d’autoequilibri aplica el sensor d’acceleració i el giroscopi per al filtre de Kalman i la correcció de postura.

ADXL345

L’ADXL345 és un acceleròmetre de 3 eixos petit, prim i de baixa potència, amb mesurament d’alta resolució (13 bits) fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles mitjançant una interfície digital SPI (de 3 o 4 fils) o I2C. En aquest experiment s’utilitza la interfície digital I2C.

És molt adequat per mesurar l’acceleració estàtica de la gravetat en aplicacions de detecció d’inclinació, així com l’acceleració dinàmica resultant del moviment o xoc. La seva alta resolució (4 mg / LSB) permet mesurar el canvi d’inclinació en menys d’1,0 °. I l’excel·lent sensibilitat (3,9 mg / LSB @ 2g) proporciona una sortida d’alta precisió de fins a ± 16 g.

Com funciona l'ADXL345

L’ADXL345 detecta l’acceleració amb el component de detecció a la part frontal i, a continuació, el component de detecció del senyal elèctric el canvia en senyal elèctric, que és analògic. A continuació, l'adaptador AD integrat al mòdul convertirà el senyal analògic en digital.

Els valors X_OUT, Y_OUT i Z_OUT són els eixos X, Y i Z respectivament. Col·loqueu el mòdul cap amunt: Z_OUT pot arribar a +1 g com a màxim, el mínim de X_OUT és de -1g cap a la direcció Ax i el mínim de Y_OUT és de -1g cap a la direcció Ay. D’altra banda, capgireu el mòdul: el mínim de Z_OUT és -1g, el màxim de X_OUT és de + 1g cap a la direcció Ax i el màxim de Y_OUT és +1g cap a la direcció Ay., com es mostra a continuació. Gireu el mòdul ADXL345 i veureu el canvi de tres valors.

quan el canal A canvia de nivell alt a nivell baix, si el canal B és de nivell alt, indica que el codificador rotatiu gira en sentit horari (CW); si en aquest moment el canal B té un nivell baix, vol dir que gira en sentit antihorari (CCW). Per tant, si llegim el valor del canal B quan el canal A és de baix nivell, podem saber en quina direcció gira el codificador rotatiu.

Principi: vegeu el diagrama esquemàtic del mòdul del codificador rotatiu a continuació. Des d’ell podem veure que el pin 3 del codificador rotatiu, és a dir, CLK del mòdul, és el canal B. El pin 5, que és DT, és el canal A. Per conèixer la direcció de rotació de la gravadora, només cal llegir el valor de CLK i DT.

Hi ha un xip regulador de voltatge de 3,3 V al circuit, de manera que podeu alimentar el mòdul amb 5 V o 3,3 V.

Com que SDO s'ha connectat a GND, l'adreça I2C de l'ADXL345 és 0x53, 0xA6 per a escriptura, 0xA7 per a lectura

Funció Pin del mòdul ADXL345.

Pas 3: Procediments

Pas 1. Construeix el circuit.

Pas 2:

Baixeu-vos el codi des de

Pas 3:

Pengeu l’esbós al tauler Arduino Uno

Feu clic a la icona Puja per penjar el codi al tauler de control.

Si "Càrrega finalitzada" apareix a la part inferior de la finestra, significa que l'esbós s'ha carregat correctament.

Després de carregar-lo, obriu Serial Monitor, on podreu veure les dades detectades. Quan canvia l’acceleració del mòdul, la figura canviarà en conseqüència a la finestra.

Pas 4: Codi

Codi
Codi

// ADXL335

/********************************

ADXL335

nota: vcc5v, però ADXL335 Vs és de 3,3V

El circuit:

5V: VCC

analògic 0: eix x

analògic 1: eix y

analògic 2: eix z

Després de cremar el

programa, obriu la finestra de depuració del monitor sèrie, on podreu veure que es mostren les dades detectades. Quan l’acceleració varia, la xifra variarà en conseqüència.

*********************************

/ Correu electrònic:

// Lloc web: www.primerobotics.in

const int xpin =

A0; // eix x de l’acceleròmetre

const int ypin =

A1; // eix y

const int zpin =

A2; // eix z (només en models de 3 eixos)

configuració nul·la ()

{

// inicialitzar les comunicacions en sèrie:

Serial.begin (9600);

}

bucle buit ()

{

int x = analogRead (xpin); // llegir des de xpin

retard (1); //

int y = analogRead (ypin); // llegir des de ypin

retard (1);

int z = analogRead (zpin); // llegir de zpin

zero flotant_G = 338,0; // Font d’alimentació ADXL335

per Vs 3.3V: 3.3V / 5V * 1024 = 676/2 = 338

//Serial.print(x);

//Serial.print("\t ");

//Serial.print(y);

//Serial.print("\t ");

//Serial.print(z);

//Serial.print("\n ");

flotar

zero_Gx = 331,5; // la sortida zero_G de l'eix x: (x_max + x_min) / 2

surar

zero_Gy = 329,5; // la sortida zero_G de l'eix y: (y_max + y_min) / 2

float zero_Gz = 340.0; // el

sortida zero_G de l'eix z: (z_max + z_min) / 2

escala flotant =

67,6; // font d'alimentació per Vs 3,3V: 3,3v / 5v * 1024 / 3,3v * 330mv / g = 67,6g

escala flotant_x =

65; // l’escala de l’eix x: x_max / 3,3 v * 330 mv / g

escala flotant_y =

68,5; // l’escala de l’eix y: y_max / 3,3v * 330mv / g

escala flotant_z =

68; // l'escala de l'eix z: z_max / 3,3 v * 330 mv / g

Serial.print (((flotant) x

- zero_Gx) / scale_x); // imprimeix el valor x al monitor sèrie

Serial.print ("\ t");

Serial.print (((flotant) y

- zero_Gy) / scale_y); // imprimeix el valor y al monitor sèrie

Serial.print ("\ t");

Serial.print (((flotant) z

- zero_Gz) / scale_z); // imprimeix el valor z al monitor sèrie

Serial.print ("\ n");

retard (1000); // espera 1 segon

}

Pas 5: anàlisi del codi

El codi de l’experiment ADXL345 inclou 3 parts: inicialitzar cada port i dispositiu, adquirir i emmagatzemar les dades enviades des dels sensors i convertir-les.

Recomanat: