Taula de continguts:
Vídeo: ADXL345 Ús d'Arduino Uno R3: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
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
// 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:
Raspberry Pi - Tutorial d’acceleròmetre de 3 eixos ADXL345 Python: 4 passos
Raspberry Pi: tutorial d’acceleròmetre de 3 eixos ADXL345: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, amb un mesurament d’alta resolució (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el
Mesura de l’acceleració mitjançant ADXL345 i fotó de partícules: 4 passos
Mesura de l’acceleració mitjançant l’ADXL345 i el fotó de partícules: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, amb una resolució alta (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el
Raspberry Pi - Tutorial de Java accelerador de 3 eixos ADXL345: 4 passos
Raspberry Pi - Acceleròmetre de 3 eixos ADXL345 Tutorial de Java: l'ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, amb una resolució alta (13 bits) de mesura de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el
Mesura de l’acceleració mitjançant ADXL345 i Raspberry Pi: 4 passos
Mesura de l’acceleració mitjançant ADXL345 i Raspberry Pi: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, amb una resolució alta (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el
Mesura de l’acceleració mitjançant ADXL345 i Arduino Nano: 4 passos
Mesura de l’acceleració mitjançant ADXL345 i Arduino Nano: l’ADXL345 és un acceleròmetre de 3 eixos petit, prim i de poca potència, amb un mesurament d’alta resolució (13 bits) de fins a ± 16 g. Les dades de sortida digital es formaten com a complement de dos bits de 16 bits i són accessibles a través de la interfície digital I2 C. Mesura el