Orodha ya maudhui:

ADXL345 Kutumia Arduino Uno R3: Hatua 5
ADXL345 Kutumia Arduino Uno R3: Hatua 5

Video: ADXL345 Kutumia Arduino Uno R3: Hatua 5

Video: ADXL345 Kutumia Arduino Uno R3: Hatua 5
Video: How to Interface ADXL345 Accelerometer with Arduino UNO 2024, Julai
Anonim
ADXL345 Kutumia Arduino Uno R3
ADXL345 Kutumia Arduino Uno R3

Katika somo hili, tutajifunza jinsi ya kutumia sensorer ya kuongeza kasi ADXL345.

Hatua ya 1: Vipengele

- Bodi ya Arduino Uno * 1

- kebo ya USB * 1

- ADXL345 * 1

- Bodi ya mkate * 1

- waya za jumper

Hatua ya 2: Kanuni

Accemometer hutumiwa kupima nguvu inayozalishwa wakati wa kuongeza kasi. Ya msingi zaidi ni kasi inayojulikana ya kawaida ya mvuto ambayo ni 1g.

Kwa kupima kasi inayosababishwa na mvuto, unaweza kuhesabu pembe ya kifaa kuelekea uso wa kiwango. Kupitia kuchambua kasi ya nguvu, unaweza kujua jinsi kifaa kinasonga. Kwa mfano, bodi ya kusawazisha au hoverboard hutumia sensorer ya kuongeza kasi na gyroscope kwa chujio cha Kalman na marekebisho ya mkao.

355. Mti wa mseto

ADXL345 ni nguvu ndogo, nyembamba, ndogo, kasi ya 3-mhimili na kipimo cha juu (13-bit) hadi ± 16 g. Takwimu za pato la dijiti zimepangwa kama nyongeza ya mbili-mbili na inaweza kupatikana kupitia SPI (3- au 4-waya) au I2C interface ya dijiti. Katika jaribio hili, interface ya dijiti ya I2C inatumiwa.

Inafaa kupima kasi ya kasi ya mvuto katika matumizi ya kuhisi tilt, na pia kasi ya nguvu inayotokana na mwendo au mshtuko. Azimio lake kubwa (4 mg / LSB) huwezesha kipimo cha mabadiliko ya mwelekeo na chini ya 1.0 °. Na unyeti bora (3.9mg / LSB @ 2g) hutoa pato la usahihi wa juu hadi ± 16g.

Jinsi ADXL345 inavyofanya kazi

ADXL345 hugundua kuongeza kasi na sehemu ya kuhisi mbele, halafu sehemu ya kuhisi ishara ya umeme inabadilisha kuwa ishara ya umeme, ambayo ni analog. Ifuatayo, adapta ya AD iliyojumuishwa kwenye moduli itabadilisha ishara ya analog kuwa moja ya dijiti.

X_OUT, Y_OUT na Z_OUT ni maadili katika mhimili wa X, Y, na Z mtawaliwa. Weka moduli uso juu: Z_OUT inaweza kufikia 1g zaidi, kiwango cha chini cha X_OUT ni -1g kuelekea mwelekeo wa Axe, na kiwango cha chini cha Y_OUT ni -1g kuelekea mwelekeo wa Ay. Kwa upande mwingine, geuza moduli chini: kiwango cha chini cha Z_OUT ni -1g, kiwango cha juu cha X_OUT ni + 1g kuelekea mwelekeo wa Axe, na kiwango cha juu cha Y_OUT ni + 1g kuelekea mwelekeo wa Ay., kama inavyoonyeshwa hapa chini. Zungusha moduli ya ADXL345 na utaona mabadiliko ya maadili matatu.

wakati kituo A kinabadilika kutoka kiwango cha juu kwenda kiwango cha chini, ikiwa kituo B ni kiwango cha juu, inaonyesha kuwa encoder ya rotary inazunguka kwa saa (CW); ikiwa wakati huo kituo B ni cha chini, inamaanisha kuzunguka kinyume cha saa (CCW). Kwa hivyo ikiwa tunasoma thamani ya kituo B wakati kituo A kiko chini, tunaweza kujua ni wapi mwelekeo encoder ya rotary inapozunguka.

Kanuni: Tazama mchoro wa skimu ya moduli ya Encoder ya Rotary hapa chini. Kutoka kwake tunaweza kuona kwamba pini 3 ya encoder ya rotary, ambayo ni CLK kwenye moduli, ni kituo B. Pin 5, ambayo ni DT, ni kituo A. Ili kujua mwelekeo wa mzunguko wa kinasa sauti, soma tu thamani ya CLK na DT.

Kuna chip ya mdhibiti wa voltage 3.3v kwenye mzunguko, kwa hivyo unaweza kuongeza moduli na 5V au 3.3V.

Kwa kuwa SDO imeunganishwa na GND, anwani ya I2C ya ADXL345 ni 0x53, 0xA6 ya kuandika, 0xA7 ya kusoma

Kazi ya Pini ya Moduli ya ADXL345.

Hatua ya 3: Taratibu

Hatua ya 1. Jenga mzunguko.

Hatua ya 2:

Pakua nambari kutoka

Hatua ya 3:

Pakia mchoro kwenye ubao wa Arduino Uno

Bonyeza ikoni ya Pakia ili kupakia nambari kwenye bodi ya kudhibiti.

Ikiwa "Umefanya upakiaji" ukionekana chini ya dirisha, inamaanisha mchoro umepakiwa vizuri.

Baada ya kupakia, fungua Serial Monitor, ambapo unaweza kuona data imegunduliwa. Wakati kuongeza kasi kwa moduli kunabadilika, takwimu itabadilika ipasavyo kwenye dirisha.

Hatua ya 4: Kanuni

Kanuni
Kanuni

// ADXL335

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

333. Mchezaji hajali

kumbuka: vcc5v, lakini ADXL335 Vs ni 3.3V

Mzunguko:

5V: VCC

analog 0: x-mhimili

Analog 1: mhimili

analog 2: z-mhimili

Baada ya kuchoma

mpango, fungua dirisha la utatuzi wa ufuatiliaji wa serial, ambapo unaweza kuona data iliyogunduliwa ikionyeshwa. Wakati kuongeza kasi kutofautiana, takwimu itatofautiana ipasavyo.

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

/ Barua pepe:

// Wavuti: www.primerobotics.in

const int xpin =

A0; // x-mhimili wa accelerometer

const int ypin =

A1; // mhimili

const int zpin =

A2; // z-axis (tu kwenye modeli-3-mhimili)

kuanzisha batili ()

{

// anzisha mawasiliano ya serial:

Kuanzia Serial (9600);

}

kitanzi batili ()

{

int x = AnalogSoma (xpin); // soma kutoka xpin

kuchelewesha (1); //

int y = analogSoma (ypin); // soma kutoka ypin

kuchelewesha (1);

int z = AnalogSoma (zpin); // soma kutoka zpin

kuelea zero_G = 338.0; // ADXL335 usambazaji wa umeme

na 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 ");

kuelea

zero_Gx = 331.5; // pato la zero_G ya mhimili x: (x_max + x_min) / 2

kuelea

zero_Gy = 329.5; // kutolewa kwa sifuri_G ya mhimili: y

kuelea zero_Gz = 340.0; // the

zero_G pato la mhimili wa z: (z_max + z_min) / 2

kiwango cha kuelea =

Ugavi wa umeme na Vs 3.3V: 3.3v / 5v * 1024 / 3.3v * 330mv / g = 67.6g

kuelea scale_x =

65; // kipimo cha mhimili x: x_max / 3.3v * 330mv / g

kuelea scale_y =

68.5; // kipimo cha mhimili y: y_max / 3.3v * 330mv / g

kuelea scale_z =

68; // kipimo cha mhimili wa z: z_max / 3.3v * 330mv / g

Rekodi ya serial (((kuelea) x

- zero_Gx) / scale_x); // printa x thamani kwenye mfuatiliaji wa serial

Serial.print ("\ t");

Rekodi ya serial (((kuelea) y

- zero_Gy) / scale_y); // thamani ya kuchapisha kwenye mfuatiliaji wa serial

Serial.print ("\ t");

Rekodi ya serial (((kuelea) z

- zero_Gz) / scale_z); // printa z thamani kwenye ufuatiliaji wa serial

Serial.print ("\ n");

kuchelewesha (1000); // subiri kwa sekunde 1

}

Hatua ya 5: Uchambuzi wa Kanuni

Nambari ya jaribio la ADXL345 inajumuisha sehemu 3: anzisha kila bandari na kifaa, pata na uhifadhi data iliyotumwa kutoka kwa sensorer, na ubadilishe data.

Ilipendekeza: