Tartalomjegyzék:
Videó: ADXL345 Arduino Uno R3 használata: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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
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:
Oktatóanyag: A TCS230 RGB színérzékelő érzékelő használata Arduino UNO -val: 3 lépés
Oktatóanyag: A TCS230 RGB színérzékelő érzékelőjének használata az Arduino UNO -val: Leírás: Ez az oktatóanyag néhány egyszerű lépést mutat be az RGB színérzékelő érzékelő Arduino Uno használatával történő használatáról. Ennek az oktatóanyagnak a végén számos összehasonlítási eredményt kap néhány szín között. A TCS3200 teljes színmeghatározást biztosít
Oktatóanyag: A HC-SR 505 mini PIR mozgásérzékelő használata Arduino UNO-val: 3 lépés
Oktatóanyag: A HC-SR 505 Mini PIR mozgásérzékelő használata Arduino UNO-val: Leírás: Ez az oktatóanyag néhány egyszerű lépést mutat be a mozgásérzékelő modul Arduino Uno használatával történő használatáról. Ennek az oktatóanyagnak a végén összehasonlítási eredményt kap, amikor az érzékelő képes mozgást észlelni, és nem tud észlelni semmilyen mozgást
Oktatóanyag: Az US-016 analóg ultrahangos távolságérzékelő használata Arduino UNO-val: 3 lépés
Oktatóanyag: Az US-016 analóg ultrahangos távolságérzékelő használata Arduino UNO-val: Leírás: Az US-016 ultrahangos indítómodul lehetővé teszi a 2–3 m-es nem mérési képességeket, a tápfeszültséget 5 V-ot, az üzemi áramot 3,8 mA, támogatja az analóg kimeneti feszültséget, stabil és megbízható. Ez a modul az alkalmazástól függően eltérő lehet
LED -ek használata Arduino UNO használatával TinkerCAD áramkörökben: 7 lépés
LED -ek használata az Arduino UNO használatával a TinkerCAD áramkörökben: Ez a projekt bemutatja a LED és az Arduino használatát a TinkerCAD áramkörökben
I2C / IIC LCD kijelző - SPI LCD használata az I2C LCD kijelzőhöz Az SPI to IIC modul használata Arduino -val: 5 lépés
I2C / IIC LCD kijelző | Használjon SPI LCD -t az I2C LCD -kijelzőhöz Az SPI -IIC modul használata Arduino -val: Sziasztok, mivel egy normál SPI LCD 1602 -nek túl sok vezetékét kell csatlakoztatni, ezért nagyon nehéz összekapcsolni az arduino -val, de a piacon elérhető egy modul konvertálja az SPI kijelzőt IIC kijelzővé, így csak 4 vezetéket kell csatlakoztatnia