Tartalomjegyzék:

ADXL345 Arduino Uno R3 használata: 5 lépés
ADXL345 Arduino Uno R3 használata: 5 lépés

Videó: ADXL345 Arduino Uno R3 használata: 5 lépés

Videó: ADXL345 Arduino Uno R3 használata: 5 lépés
Videó: How to use RFID with Arduino | How to use the RC522 RFID module with an Arduino - Tutorial 2024, November
Anonim
ADXL345 Arduino Uno R3 használata
ADXL345 Arduino Uno R3 használata

Ebben a leckében megtanuljuk az ADXL345 gyorsulásérzékelő használatát.

1. lépés: Alkatrészek

- Arduino Uno tábla * 1

- USB kábel * 1

- ADXL345 *1

- Kenyeretábla * 1

- Jumper vezetékek

2. lépés: Alapelv

Gyorsulásmérővel mérik a gyorsulás során keletkező erőt. A legalapvetőbb a közismert gravitációs gyorsulás, amely 1 g.

A gravitáció okozta gyorsulás mérésével kiszámíthatja a készülék dőlésszögét a vízszintes felülethez képest. A dinamikus gyorsulás elemzésével megállapíthatja az eszköz mozgását. Például az önkiegyenlítő tábla vagy a hoverboard a gyorsulási érzékelőt és a giroszkópot alkalmazza a Kalman szűrőhöz és a testtartás korrekciójához.

ADXL345

Az ADXL345 egy kicsi, vékony, kis teljesítményű, 3 tengelyes gyorsulásmérő, nagy felbontású (13 bites) méréssel, ± 16 g-ig. A digitális kimeneti adatok 16 bites kettős kiegészítőként vannak formázva, és SPI (3 vagy 4 vezetékes) vagy I2C digitális interfészen keresztül érhetők el. Ebben a kísérletben az I2C digitális interfészt használják.

Kiválóan alkalmas a gravitáció statikus gyorsulásának mérésére dőlésérzékelő alkalmazásokban, valamint a mozgásból vagy ütésből származó dinamikus gyorsulás mérésére. Nagy felbontása (4 mg/LSB) lehetővé teszi a dőlésváltozás mérését kevesebb, mint 1,0 ° -kal. A kiváló érzékenység (3,9 mg/LSB @2 g) pedig nagy pontosságú, akár 16 g-os kimenetet biztosít.

Hogyan működik az ADXL345?

Az ADXL345 érzékeli a gyorsulást az elülső érzékelő komponenssel, majd az elektromos jelérzékelő komponens átalakítja azt elektromos jellé, amely analóg. Ezután a modulba integrált AD adapter átalakítja az analóg jelet digitálisvá.

Az X_OUT, Y_OUT és Z_OUT értékek az X, Y és Z tengelyen találhatók. Helyezze a modult felfelé: a Z_OUT legfeljebb +1 g -ot érhet el, az X_OUT minimum -1 g a tengely irányába, és az Y_OUT minimum -1 g az Ay irány felé. Másrészt fordítsa fejjel lefelé a modult: a Z_OUT minimuma -1 g, az X_OUT maximális értéke +1 g a tengely irányába, és az Y_OUT maximális értéke +1 g az Ay irány felé., ahogy az alább látható. Forgassa el az ADXL345 modult, és látni fogja a három érték változását.

ha az A csatorna magas szintről alacsony szintre változik, ha a B csatorna magas szintű, akkor ez azt jelzi, hogy a forgó jeladó az óramutató járásával megegyező irányban forog (CW); ha abban a pillanatban a B csatorna alacsony szinten van, az azt jelenti, hogy az óramutató járásával ellentétes irányban forog (CCW). Tehát ha leolvassuk a B csatorna értékét, amikor az A csatorna alacsony szinten van, akkor tudjuk, hogy a forgó jeladó melyik irányba forog.

Alapelv: Lásd az alábbi rotációs kódoló modul sematikus diagramját. Ebből láthatjuk, hogy a forgó jeladó 3. csapja, nevezetesen a modul CLK, a B csatorna. Az 5. tű, amely a DT, az A. csatorna. A felvevő forgásirányának megismeréséhez olvassa el a CLK és DT.

Az áramkörben van egy 3,3 V -os feszültségszabályozó chip, így a modult 5 V -os vagy 3,3 V -os feszültséggel lehet táplálni.

Mivel az SDO csatlakozik a GND -hez, az ADXL345 I2C címe 0x53, 0xA6 íráshoz, 0xA7 olvasáshoz

Az ADXL345 modul tűs funkciója.

3. lépés: Eljárások

1. lépés. Építse fel az áramkört.

2. lépés:

Töltse le a kódot a https://github.com/primerobotics/Arduino webhelyről

3. lépés:

Töltse fel a vázlatot az Arduino Uno táblára

Kattintson a Feltöltés ikonra a kód feltöltéséhez a vezérlőpultra.

Ha a "Kész feltöltés" felirat jelenik meg az ablak alján, az azt jelenti, hogy a vázlat sikeresen feltöltődött.

A feltöltés után nyissa meg a Serial Monitor alkalmazást, ahol megtekintheti az észlelt adatokat. Amikor a modul gyorsulása megváltozik, az ábra ennek megfelelően változik az ablakban.

4. lépés: Kód

Kód
Kód

ADXL335

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

ADXL335

megjegyzés: vcc5v, de az ADXL335 Vs 3.3V

Az áramkör:

5V: VCC

analóg 0: x tengely

analóg 1: y tengely

analóg 2: z tengely

Elégetése után a

program, nyissa meg a soros monitor hibakeresési ablakát, ahol láthatja az észlelt adatok megjelenítését. Ha a gyorsulás változik, akkor a szám ennek megfelelően változik.

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

/Email:

//Weboldal: www.primerobotics.in

const int xpin =

A0; // a gyorsulásmérő x tengelye

const int ypin =

A1; // y tengely

const int zpin =

A2; // z tengely (csak 3 tengelyes modelleken)

üres beállítás ()

{

// inicializálja a soros kommunikációt:

Sorozat.kezdet (9600);

}

üres hurok ()

{

int x = analogRead (xpin); // olvassa el az xpin -ből

késleltetés (1); //

int y = analóg olvasás (ypin); // olvasni az ypin -ből

késleltetés (1);

int z = analogRead (zpin); // olvassa el a zpin -ből

float zero_G = 338,0; // ADXL335 tápegység

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

// Sorozatnyomat (x);

// Sorozat.nyomat ("\t ");

// Sorozatnyomat (y);

// Sorozat.nyomat ("\t ");

// Sorozat.nyomat (z);

// Sorozat.nyom ("\n ");

úszó

zero_Gx = 331.5; // az x tengely nulla_G kimenete: (x_max + x_min)/2

úszó

zero_Gy = 329,5; // az y tengely nulla_G kimenete: (y_max + y_min)/2

float zero_Gz = 340.0; // az

z tengely nulla_G kimenete: (z_max + z_min)/2

úszó skála =

67,6; // Vs 3.3V tápegység: 3.3v/5v *1024/3.3v *330mv/g = 67,6g

float scale_x =

65; // az x tengely skálája: x_max/3.3v*330mv/g

float scale_y =

68,5; // y tengely skála: y_max/3.3v*330mv/g

float scale_z =

68; // a z tengely skálája: z_max/3.3v*330mv/g

Soros.nyomat (((float) x

- nulla_Gx)/skála_x); // x érték nyomtatása soros monitoron

Serial.print ("\ t");

Serial.print (((float) y

- nulla_Gy)/skála_y); // y érték nyomtatása soros monitoron

Serial.print ("\ t");

Soros.nyomat (((úszó) z

- nulla_Gz)/skála_z); // z érték nyomtatása soros monitoron

Serial.print ("\ n");

késleltetés (1000); // várjon 1 másodpercet

}

5. lépés: Kódelemzés

Az ADXL345 kísérlet kódja 3 részből áll: minden port és eszköz inicializálása, az érzékelőkről küldött adatok beszerzése és tárolása, valamint az adatok konvertálása.

Ajánlott: