Kazalo:
Video: ADXL345 Uporaba Arduino Uno R3: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
V tej lekciji se bomo naučili uporabljati senzor pospeška ADXL345.
1. korak: Komponente
- plošča Arduino Uno * 1
- USB kabel * 1
- ADXL345 *1
- Okvir * 1
- Mostične žice
2. korak: Načelo
Merilnik pospeška se uporablja za merjenje sile, ki nastane med pospeševanjem. Najbolj temeljni je splošno znani pospešek gravitacije, ki znaša 1 g.
Z merjenjem pospeška, ki ga povzroča gravitacija, lahko izračunate kot nagiba naprave do ravni površine. Z analizo dinamičnega pospeška lahko ugotovite, kako se naprava premika. Na primer, samo uravnoteževalna plošča ali hoverboard uporablja senzor pospeška in žiroskop za Kalmanov filter in popravljanje drže.
ADXL345
ADXL345 je majhen, tanek, 3-osni merilnik pospeška z nizko porabo energije z visoko ločljivostjo (13-bitnimi) meritvami do ± 16 g. Digitalni izhodni podatki so oblikovani kot 16-bitno dopolnilo dveh in so dostopni prek SPI (3- ali 4-žičnega) ali I2C digitalnega vmesnika. V tem poskusu se uporablja digitalni vmesnik I2C.
Zelo primeren je za merjenje statičnega pospeška gravitacije v aplikacijah za zaznavanje nagiba, pa tudi dinamičnega pospeška, ki je posledica gibanja ali udarca. Njegova visoka ločljivost (4 mg/LSB) omogoča merjenje spremembe naklona za manj kot 1,0 °. Odlična občutljivost (3,9 mg/LSB pri 2 g) zagotavlja visoko natančnost do ± 16 g.
Kako deluje ADXL345
ADXL345 zazna pospešek s komponento zaznavanja na sprednji strani, nato pa jo komponenta zaznavanja električnega signala spremeni v električni signal, ki je analogen. Nato AD adapter, vgrajen v modul, pretvori analogni signal v digitalni.
X_OUT, Y_OUT in Z_OUT so vrednosti na osi X, Y in Z. Modul postavite z licem navzgor: Z_OUT lahko doseže največ +1 g, najmanj X_OUT je -1 g proti smeri osi, najmanjši Y_OUT pa -1 g proti smeri Ay. Po drugi strani pa modul obrnite na glavo: najmanj Z_OUT je -1 g, največ X_OUT je +1 g proti smeri osi, največ Y_OUT pa +1 g proti smeri Ay., kot je prikazano spodaj. Zavrtite modul ADXL345 in videli boste spremembo treh vrednosti.
ko kanal A preide iz visokega v nizki nivo, če je kanal B v visokem nivoju, to kaže, da se vrtljivi dajalnik vrti v smeri urinega kazalca (CW); če je v tem trenutku kanal B nizek, to pomeni, da se vrti v nasprotni smeri urinega kazalca (CCW). Če torej preberemo vrednost kanala B, ko je kanal A nizek, lahko vemo, v katero smer se vrti rotacijski dajalnik.
Načelo: Glejte shematski diagram modula rotacijskega dajalnika spodaj. Iz nje lahko vidimo, da je pin 3 rotacijskega dajalnika, in sicer CLK na modulu, kanal B. Pin 5, ki je DT, je kanal A. Če želite vedeti smer vrtenja snemalnika, samo preberite vrednost CLK in DT.
V vezju je čip regulatorja napetosti 3,3 V, zato lahko modul napajate s 5V ali 3.3V.
Ker je SDO povezan z GND, je naslov I2C ADXL345 0x53, 0xA6 za pisanje, 0xA7 za branje
Pin funkcija modula ADXL345.
3. korak: Postopki
Korak 1. Zgradite vezje.
2. korak:
Prenesite kodo s spletnega mesta
3. korak:
Skico naložite na ploščo Arduino Uno
Kliknite ikono za nalaganje, da kodo naložite na nadzorno ploščo.
Če se na dnu okna prikaže "Končano nalaganje", to pomeni, da je bila skica uspešno naložena.
Po nalaganju odprite Serial Monitor, kjer si lahko ogledate zaznane podatke. Ko se pospešek modula spremeni, se bo v oknu ustrezno spremenila tudi številka.
4. korak: Koda
// ADXL335
/********************************
ADXL335
opomba: vcc5v, vendar je ADXL335 Vs 3.3V
Vezje:
5V: VCC
analogno 0: os x
analogni 1: os y
analog 2: os z
Po sežiganju
program, odprite okno za odpravljanje napak serijskega monitorja, kjer si lahko ogledate prikazane podatke. Ko se pospešek spreminja, se bo tudi številka ustrezno spreminjala.
*********************************
/E-naslov:
//Spletno mesto: www.primerobotics.in
const int xpin =
A0; // os x merilnika pospeška
const int ypin =
A1; // os y
const int zpin =
A2; // os z (samo pri 3-osnih modelih)
void setup ()
{
// inicializiramo serijsko komunikacijo:
Serial.begin (9600);
}
void loop ()
{
int x = analogRead (xpin); // branje s xpina
zamuda (1); //
int y = analogRead (ypin); // branje z ypina
zamuda (1);
int z = analogRead (zpin); // branje iz zpin
plavajoča ničla_G = 338,0; // napajanje ADXL335
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 ");
plavati
nič_Gx = 331,5; // izhod nič_G osi x: (x_max + x_min)/2
plavati
zero_Gy = 329,5; // izhod zero_G osi y: (y_max + y_min)/2
float zero_Gz = 340,0; //
zero_G izhod osi z: (z_max + z_min)/2
lebdeča lestvica =
67,6; // napajanje z Vs 3,3 V: 3,3 v/5 v *1024/3,3 v *330 mv/g = 67,6 g
lebdeča lestvica_x =
65; // merilo osi x: x_max/3,3v*330mv/g
lebdeča lestvica_y =
68,5; // merilo osi y: y_max/3,3v*330mv/g
lebdeča lestvica_z =
68; // merilo osi z: z_max/3,3v*330mv/g
Serial.print (((float) x
- nič_Gx)/merilo_x); // natisni vrednost x na serijski monitor
Serial.print ("\ t");
Serial.print (((float) y
- nič_Gy)/merilo_y); // natisnite vrednost y na serijski monitor
Serial.print ("\ t");
Serial.print (((float) z
- nič_Gz)/merilo_z); // natisnite vrednost z na serijski monitor
Serial.print ("\ n");
zamuda (1000); // počakajte 1 sekundo
}
5. korak: Analiza kode
Koda za poskus ADXL345 vključuje 3 dele: inicializira vsaka vrata in napravo, pridobi in shrani podatke, poslane s senzorjev, ter jih pretvori.
Priporočena:
Uporaba STM32 kot Arduino vadnica - STM32F103C8: 5 korakov
Uporaba STM32 kot Arduino vadnica | STM32F103C8: Hej, kaj je, fantje! Akarsh tukaj iz CETech -a. V naslednji vadnici bomo pogledali različne mikrokrmilnike, ki jih ponuja STM, kot so STM32F103C8, STM32F030F4 in STM8S103F3. Te mikroorganizme bomo primerjali skupaj z
Uporaba ščita za tipkovnico LCD z zaslonom 1602 W/ Arduino [+Praktični projekti]: 7 korakov
Uporaba 1602 LCD tipkovnice ščit W/ Arduino [+Praktični projekti]: To in druge neverjetne vaje lahko preberete na uradni spletni strani ElectroPeak Pregled V tej vadnici se boste naučili uporabljati ščit tipkovnice Arduino LCD s tremi praktičnimi projekti. Kaj se boste naučili: Kako nastaviti ščit in prepoznati ključe
Glasbeno reaktivni RGB LED trak s kodo - WS1228b - Uporaba modula Arduino in mikrofona: 11 korakov
Glasbeno reaktivni RGB LED trak s kodo | WS1228b | Uporaba modula Arduino in mikrofona: Izdelava glasbeno reaktivnega LED traku WS1228B z uporabo modula Arduino in mikrofona. Uporabljeni deli: Arduino WS1228b zvočni senzor z zvočnim senzorjem, skakalci, 5V 5A napajalnik
Uporaba mostu H (293D) za vožnjo dveh motorjev z motorjem z motorjem Ans Arduino; pregled vezja: 9 korakov
Uporaba mostu H (293D) za pogon dveh motorjev z motorjem za hobi Ans Arduino; pregled vezja: most H 293D je integrirano vezje, ki lahko poganja 2 motorja. Prednost mostu H pred tranzistorjem ali krmilnimi vezji MOSFET je lahko vozite 2 motorja dvosmerno (naprej in nazaj) s kodo
Uporaba Arduino Uno za XYZ pozicioniranje 6 DOF robotske roke: 4 koraki
Uporaba Arduino Uno za XYZ pozicioniranje robotske roke 6 DOF: Ta projekt govori o izvajanju kratke in razmeroma enostavne skice Arduino za zagotavljanje inverzne kinematične postavitve XYZ. Zgradil sem 6 servo robotsko roko, a ko sem prišel do iskanja programske opreme za njeno izvajanje, ni bilo veliko razen custa