Përmbajtje:

ADXL345 Duke përdorur Arduino Uno R3: 5 hapa
ADXL345 Duke përdorur Arduino Uno R3: 5 hapa

Video: ADXL345 Duke përdorur Arduino Uno R3: 5 hapa

Video: ADXL345 Duke përdorur Arduino Uno R3: 5 hapa
Video: Как использовать акселерометр и гироскоп MPU-6050 с кодом Arduino 2024, Nëntor
Anonim
ADXL345 Duke përdorur Arduino Uno R3
ADXL345 Duke përdorur Arduino Uno R3

Në këtë mësim, ne do të mësojmë se si të përdorim sensorin e përshpejtimit ADXL345.

Hapi 1: Përbërësit

- Arduino Uno bordi * 1

- Kabllo USB * 1

- ADXL345 *1

- Breadboard * 1

- Telat e kërcyesit

Hapi 2: Parimi

Një akselerometër përdoret për të matur forcën e krijuar gjatë nxitimit. Më themelorja është përshpejtimi i rëndomtë i gravitetit i cili është 1g.

Duke matur nxitimin e shkaktuar nga graviteti, mund të llogaritni këndin e pjerrësisë së pajisjes në sipërfaqen e nivelit. Duke analizuar nxitimin dinamik, mund të tregoni mënyrën sesi lëviz pajisja. Për shembull, bordi vetë-balancues ose hoverboard aplikon sensorin e përshpejtimit dhe xhiroskopin për filtrin Kalman dhe korrigjimin e qëndrimit.

ADXL345

ADXL345 është një akselerometër i vogël, i hollë, me fuqi të ulët, me 3 boshte dhe matje me rezolucion të lartë (13-bit) deri në ± 16 g. Të dhënat dalëse dixhitale janë të formatuara si plotësuese 16-bit të dy dhe janë të arritshme përmes një ndërfaqe dixhitale SPI (3- ose 4-tela) ose I2C. Në këtë eksperiment, ndërfaqja dixhitale I2C përdoret.

Isshtë i përshtatshëm për të matur nxitimin statik të gravitetit në aplikimet e ndjeshmërisë së pjerrësisë, si dhe nxitimin dinamik që rezulton nga lëvizja ose goditja. Rezolucioni i tij i lartë (4 mg/LSB) mundëson matjen e ndryshimit të prirjes me më pak se 1.0 °. Dhe ndjeshmëria e shkëlqyer (3.9mg/LSB @2g) siguron një prodhim me precizion të lartë deri në 16g.

Si funksionon ADXL345

ADXL345 zbulon nxitimin me komponentin ndijues në pjesën e përparme, dhe më pas komponenti i ndijimit të sinjalit elektrik e ndryshon atë në sinjal elektrik, i cili është analog. Tjetra, përshtatësi AD i integruar në modul do të shndërrojë sinjalin analog në atë dixhital.

X_OUT, Y_OUT dhe Z_OUT janë vlerat në boshtin X, Y dhe Z respektivisht. Vendoseni modulin me fytyrë lart: Z_OUT mund të arrijë +1g më së shumti, minimumi i X_OUT është -1g drejt drejtimit Axe, dhe minimumi Y_OUT është -1g drejt drejtimit Ay. Nga ana tjetër, përmbyseni modulin me kokë poshtë: minimumi i Z_OUT është -1g, maksimumi i X_OUT është +1g në drejtim të Ax, dhe maksimumi i Y_OUT është +1g në drejtim të Ay., siç tregohet më poshtë. Rrotulloni modulin ADXL345 dhe do të shihni ndryshimin e tre vlerave.

kur kanali A ndryshon nga niveli i lartë në nivel të ulët, nëse kanali B është nivel i lartë, ai tregon koduesin rrotullues që rrotullohet në drejtim të akrepave të orës (CW); nëse në atë moment kanali B është i nivelit të ulët, do të thotë rrotullime në drejtim të kundërt të orës (CCW). Pra, nëse lexojmë vlerën e kanalit B kur kanali A është në nivel të ulët, mund të dimë se në cilin drejtim rrotullohet kodifikuesi rrotullues.

Parimi: Shihni diagramin skematik të modulit Rodary Encoder më poshtë. Nga ajo mund të shohim që kunja 3 e kodifikuesit rrotullues, përkatësisht CLK në modul, është kanali B. Pin 5, i cili është DT, është kanali A. Për të ditur drejtimin rrotullues të regjistruesit, thjesht lexoni vlerën e CLK dhe DT

Ekziston një çip rregullator i tensionit 3.3v në qark, kështu që ju mund të fuqizoni modulin me 5V ose 3.3V.

Meqenëse SDO është lidhur me GND, adresa I2C e ADXL345 është 0x53, 0xA6 për shkrim, 0xA7 për lexim

Funksioni Pin i modulit ADXL345.

Hapi 3: Procedurat

Hapi 1. Ndërtoni qarkun.

Hapi 2:

Shkarkoni kodin nga

Hapi 3:

Ngarko skicën në tabelën Arduino Uno

Klikoni në ikonën Ngarko për të ngarkuar kodin në tabelën e kontrollit.

Nëse "Done uploading" shfaqet në fund të dritares, kjo do të thotë që skica është ngarkuar me sukses.

Pas ngarkimit, hapni Serial Monitor, ku mund të shihni të dhënat e zbuluara. Kur ndryshon përshpejtimi i modulit, figura do të ndryshojë në përputhje me rrethanat në dritare.

Hapi 4: Kodi

Kodi
Kodi

// ADXL335

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

ADXL335

shënim: vcc5v, por ADXL335 Vs është 3.3V

Qarku:

5V: KQV

analoge 0: boshti x

analog 1: boshti y

analog 2: boshti z

Pas djegies së

program, hapni dritaren e korrigjimit të monitorit serik, ku mund të shihni që shfaqen të dhënat e zbuluara. Kur nxitimi ndryshon, shifra do të ndryshojë në përputhje me rrethanat.

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

/Email:

// Faqja e internetit: www.primerobotics.in

const int xpin =

A0; // boshti x i përshpejtuesit

const int ypin =

A1; // boshti y

const int zpin =

A2; // boshti z (vetëm në modelet me 3 boshte)

void setup ()

{

// filloni komunikimet serike:

Serial.filloj (9600);

}

lak void ()

{

int x = analogRead (xpin); // lexuar nga xpin

vonesa (1); //

int y = analogRead (ypin); // lexuar nga ypin

vonesa (1);

int z = analogRead (zpin); // lexuar nga zpin

noton zero_G = 338.0; // Furnizimi me energji ADXL335

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

noton

zero_Gx = 331.5; // dalja zero_G e boshtit x: (x_max + x_min)/2

noton

zero_Gy = 329.5; // dalja zero_G e boshtit y: (y_max + y_min)/2

noton zero_Gz = 340.0; // the

zero_G dalja e boshtit z: (z_max + z_min)/2

shkalla notuese =

67.6; // furnizimi me energji elektrike nga Vs 3.3V: 3.3v/5v *1024/3.3v *330mv/g = 67.6g

shkalla notuese_x =

65; // shkalla e boshtit x: x_max/3.3v*330mv/g

shkalla notuese_y =

68.5; // shkalla e boshtit y: y_max/3.3v*330mv/g

shkalla notuese_z =

68; // shkalla e boshtit z: z_max/3.3v*330mv/g

Serial.print (((noton) x

- zero_Gx)/shkallë_x); // printoni vlerën x në monitorin serik

Serial.print ("\ t");

Serial.print (((noton) y

- zero_Gy)/scale_y); // printoni vlerën y në monitorin serik

Serial.print ("\ t");

Serial.print (((noton) z

- zero_Gz)/scale_z); // printoni vlerën z në monitorin serik

Serial.print ("\ n");

vonesa (1000); // prisni 1 sekondë

}

Hapi 5: Analiza e Kodit

Kodi për eksperimentin ADXL345 përfshin 3 pjesë: inicializoni secilën port dhe pajisje, merrni dhe ruani të dhënat e dërguara nga sensorët dhe konvertoni të dhënat.

Recommended: