Բովանդակություն:
Video: ADXL345 օգտագործելով Arduino Uno R3: 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս դասում մենք կսովորենք, թե ինչպես օգտագործել ADXL345 արագացման տվիչը:
Քայլ 1: Բաղադրիչներ
- Arduino Uno տախտակ * 1
- USB մալուխ * 1
- ADXL345 *1
- Հացաթուղթ * 1
- Jumper լարերը
Քայլ 2: Սկզբունք
Արագացուցիչը օգտագործվում է արագացման ընթացքում առաջացած ուժը չափելու համար: Առավել հիմնարարը սովորաբար հայտնի ծանրության արագացումն է, որը 1 գ է:
Ձգողականության հետևանքով առաջացած արագացումը չափելով ՝ կարող եք հաշվարկել սարքի թեքության անկյունը դեպի հարթ մակերևույթ: Դինամիկ արագացման վերլուծության միջոցով դուք կարող եք ասել, թե ինչպես է սարքը շարժվում: Օրինակ, ինքնահավասարակշռող տախտակը կամ hoverboard- ը կիրառում են արագացման սենսորը և գիրոսկոպը Կալմանի ֆիլտրի և կեցվածքի ուղղման համար:
ADXL345
ADXL345- ը փոքր, բարակ, ցածր հզորության, 3 առանցքի արագացուցիչ է ՝ բարձր լուծաչափով (13 բիթ) չափմամբ մինչև ± 16 գ: Թվային ելքային տվյալները ձևաչափվում են որպես 16-բիթ երկուսի լրացում և հասանելի են կամ SPI (3- կամ 4-մետաղալար) կամ I2C թվային ինտերֆեյսի միջոցով: Այս փորձարկումում օգտագործվում է I2C թվային ինտերֆեյսը:
Հարմար է չափել թեքության զգայարանների ձգողության ստատիկ արագացումը, ինչպես նաև շարժման կամ հարվածի հետևանքով առաջացած դինամիկ արագացումը: Դրա բարձր լուծաչափը (4 մգ/LSB) թույլ է տալիս թեքության փոփոխության չափումը 1.0 ° -ից պակաս: Իսկ գերազանց զգայունությունը (3.9 մգ/LSB @2 գ) ապահովում է մինչև 16 գ high բարձր ճշգրտության արտադրանք:
Ինչպես է աշխատում ADXL345- ը
ADXL345- ը հայտնաբերում է արագացումը առջևի զգայուն բաղադրիչով, այնուհետև էլեկտրական ազդանշանի զգայիչ բաղադրիչը այն փոխում է էլեկտրական ազդանշանի, որն անալոգային է: Հաջորդը, մոդուլի վրա ինտեգրված AD ադապտերը անալոգային ազդանշանը կփոխակերպի թվայինի:
X_OUT, Y_OUT և Z_OUT արժեքները համապատասխանաբար X, Y և Z առանցքներում են: Մոդուլը դրեք վերև. Z_OUT- ը կարող է հասնել առավելագույնը +1 գ -ի, X_OUT- ի նվազագույնը -1 գ է Ax- ի ուղղությամբ, իսկ Y_OUT- ի նվազագույնը `-1g դեպի Ay ուղղությամբ: Մյուս կողմից, մոդուլը գլխիվայր շրջեք. Z_OUT- ի նվազագույնը -1 գ է, առավելագույնը X_OUT- ը +1g է Ax- ի ուղղությամբ, իսկ Y_OUT- ի առավելագույնը +1g դեպի Ay ուղղությամբ:, ինչպես ցույց է տրված ստորև: Պտտեք ADXL345 մոդուլը և կտեսնեք երեք արժեքների փոփոխություն:
երբ ալիքը բարձր մակարդակից փոխվում է ցածր մակարդակի, եթե B ալիքը բարձր մակարդակի է, դա ցույց է տալիս, որ պտտվող կոդավորիչը պտտվում է ժամացույցի սլաքի ուղղությամբ (CW); եթե այդ պահին B ալիքը ցածր մակարդակի է, նշանակում է պտտվում է ժամացույցի սլաքի հակառակ ուղղությամբ (CCW): Այսպիսով, եթե կարդանք B ալիքի արժեքը, երբ A ալիքը ցածր մակարդակի վրա է, կարող ենք իմանալ, թե որ ուղղությամբ է պտտվում պտտվող կոդավորիչը:
Սկզբունք. Ստորև տեսեք Ռոտարի կոդավորիչի մոդուլի սխեմատիկ դիագրամը: Դրանից մենք կարող ենք տեսնել, որ պտտվող կոդավորիչի 3 -րդ կապը, այն է ՝ CLK մոդուլը, B. ալիքն է: Pin 5 -ը, որը DT- ն է, ալիքն է: Ձայնագրիչի պտտման ուղղությունը իմանալու համար պարզապես կարդացեք CLK- ի արժեքը և ԴՏ
Շղթայում կա 3.3 վ լարման կարգավորիչ չիպ, այնպես որ կարող եք միացնել մոդուլը 5 Վ կամ 3.3 Վ լարման միջոցով:
Քանի որ SDO- ն միացված է GND- ին, ADXL345- ի I2C հասցեն 0x53 է, 0xA6 ՝ գրելու համար, 0xA7 ՝ կարդալու համար
ADXL345 մոդուլի Pin գործառույթը:
Քայլ 3: Ընթացակարգեր
Քայլ 1. Կառուցեք շրջանը:
Քայլ 2:
Ներբեռնեք կոդը https://github.com/primerobotics/Arduino կայքից
Քայլ 3:
Վերբեռնեք ուրվագիծը Arduino Uno տախտակին
Կտտացրեք Վերբեռնման պատկերակին ՝ կոդը կառավարման տախտակին վերբեռնելու համար:
Եթե «Կատարված բեռնումը» հայտնվում է պատուհանի ներքևում, նշանակում է, որ ուրվագիծը հաջողությամբ բեռնվել է:
Վերբեռնելուց հետո բացեք Serial Monitor, որտեղ կարող եք տեսնել հայտնաբերված տվյալները: Երբ մոդուլի արագացումը փոխվում է, պատկերը համապատասխանաբար կփոխվի պատուհանի վրա:
Քայլ 4: Կոդ
// ADXL335
/********************************
ADXL335
նշում `vcc5v, բայց ADXL335 Vs- ը 3.3V է
Շղթա.
5V: VCC
անալոգային 0: x առանցք
անալոգ 1: y առանցք
անալոգ 2: z առանցք
Այրվելուց հետո
ծրագիրը, բացեք սերիական մոնիտորի կարգաբերման պատուհանը, որտեղ կարող եք տեսնել ցուցադրված տվյալների ցուցադրումը: Երբ արագացումը տատանվում է, ցուցանիշը համապատասխանաբար կփոխվի:
*********************************
/Էլ. Փոստ:
// Վեբ կայք: www.primerobotics.in
const int xpin =
A0; // արագացուցիչի x- առանցքը
const int ypin =
A1; // y առանցք
const int zpin =
A2; // z առանցք (միայն 3 առանցքի մոդելների դեպքում)
դատարկ կարգավորում ()
{
// սերիալային հաղորդակցությունների նախաստորագրում.
Serial.begin (9600);
}
դատարկ շրջան ()
{
int x = analogRead (xpin); // կարդալ xpin- ից
ուշացում (1); //
int y = analogRead (ypin); // կարդալ ypin- ից
ուշացում (1);
int z = analogRead (zpin); // կարդալ zpin- ից
բոց zero_G = 338.0; // 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 ");
բոց
zero_Gx = 331.5; // x առանցքի zero_G ելքը `(x_max + x_min)/2
բոց
զ_Gy = 329.5; // y առանցքի զրոյական ելքը `(y_max + y_min)/2
float zero_Gz = 340.0; // the
զ առանցքի զ առանցքի ելք ՝ (z_max + z_min)/2
բոց սանդղակ =
67.6; // էլեկտրամատակարարում Vs 3.3V- ով `3.3v/5v *1024/3.3v *330mv/g = 67.6g
բոց սանդղակ_ x =
65; // x առանցքի մասշտաբը `x_max/3.3v*330mv/g
float scale_y =
68.5; // y առանցքի մասշտաբը `y_max/3.3v*330mv/g
float scale_z =
68; // z առանցքի մասշտաբը ՝ z_max/3.3v*330mv/g
Serial.print (((float) x
- zero_Gx)/scale_x); // տպել x արժեքը սերիական մոնիտորի վրա
Serial.print ("\ t");
Serial.print (((float) y
- zero_Gy)/scale_y); // տպել y արժեքը սերիական մոնիտորի վրա
Serial.print ("\ t");
Serial.print (((float) z
- zero_Gz)/scale_z); // տպել z արժեքը սերիական մոնիտորի վրա
Serial.print ("\ n");
ուշացում (1000); // սպասեք 1 վայրկյան
}
Քայլ 5: Կոդի վերլուծություն
ADXL345 փորձի ծածկագիրը ներառում է 3 մաս. Սկզբնականացնել յուրաքանչյուր նավահանգիստ և սարք, ձեռք բերել և պահպանել տվիչներից ուղարկված տվյալները և փոխակերպել տվյալները:
Խորհուրդ ենք տալիս:
DIY ծրագրավորման մալուխ ՝ օգտագործելով Arduino Uno - Baofeng UV -9R Plus: 6 քայլ (նկարներով)
DIY ծրագրավորման մալուխ Arduino Uno-Baofeng UV-9R Plus- ի միջոցով: Ողջույն, սա պարզ ուղեցույց է այն մասին, թե ինչպես կարելի է ձեր Baofeng UV-9R (կամ գումարած) ականջակալների / ականջակալի մալուխը ծրագրավորման մալուխի վերածել Ardunio UNO- ի միջոցով որպես USB: Սերիական փոխարկիչ: [ՀՐԱՏԱՐՈԹՅՈՆ] Ես պատասխանատվություն չեմ կրում որևէ վնաս պատճառելու համար
Պարզ, շարժական շարունակական ԷՍԳ/ԷԿԳ մոնիտոր `օգտագործելով ATMega328 (Arduino Uno Chip) + AD8232: 3 քայլ
Պարզ, դյուրակիր շարունակական ԷՍԳ/ԷԿԳ մոնիտոր `օգտագործելով ATMega328 (Arduino Uno Chip) + AD8232. Այս հրահանգների էջը ցույց կտա ձեզ, թե ինչպես պատրաստել 3 դյուրակիր ԷԿԳ/ԷԿԳ պարզ շարժական մոնիտոր: Մոնիտորը օգտագործում է AD8232 ճեղքման տախտակ ՝ ԷԿԳ ազդանշանը չափելու և այն ավելի ուշ վերլուծելու համար microSD քարտի վրա պահելու համար: Պահանջվում են հիմնական պաշարներ ՝ 5 Վ լիցքավորվող
Օդային դաշնամուր ՝ օգտագործելով IR հարևանության տվիչ, բարձրախոս և Arduino Uno (արդիականացված/մաս 2). 6 քայլ
Օդային դաշնամուր ՝ օգտագործելով IR հարևանության տվիչ, բարձրախոս և Arduino Uno (արդիականացված/մաս 2). Սա օդային դաշնամուրի նախորդ նախագծի արդիացված տարբերակն է՞: Այստեղ ես օգտագործում եմ JBL բարձրախոս որպես ելք: Ես ներառել եմ նաև հպման զգայուն կոճակ ՝ ռեժիմները ըստ պահանջների փոխելու համար: Օրինակ ՝ Կոշտ բաս ռեժիմ, Նորմալ ռեժիմ, Բարձր
Ինչպես վերբեռնել Arduino Pro Mini 328P ծրագիրը ՝ օգտագործելով Arduino Uno: 6 քայլ
Ինչպես վերբեռնել Arduino Pro Mini 328P ծրագիրը Arduino Uno- ի միջոցով. Arduino Pro Mini- ն ամենափոքր տախտակն է, որն ունի 14 մուտք/ելք, այն աշխատում է 3.3 վոլտ - 5 վոլտ DC և հեշտ է վերբեռնել ծածկագիրը ծրագրավորման սարքում: Տեխնիկական բնութագիր. 14 թվային մուտքային/ելքային նավահանգիստներ RX, TX, D2 ~ D13, 8 անալոգային մուտքային պորտեր A0 ~ A7 1
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E - Rf հեռակառավարման պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախությամբ ՝ 5 քայլ
ՌԴ 433MHZ ռադիոկառավարում ՝ օգտագործելով HT12D HT12E | Rf հեռակառավարման սարքի պատրաստում ՝ օգտագործելով HT12E և HT12D ՝ 433 մՀց հաճախականությամբ. HT12D ապակոդավորող IC: Այս հրահանգով դուք կարող եք ուղարկել և ստանալ տվյալներ ՝ օգտագործելով շատ էժան բաղադրիչներ, ինչպիսիք են ՝ HT