Բովանդակություն:
- Քայլ 1: BMG160 ակնարկ
- Քայլ 2: Այն, ինչ ձեզ պետք է..
- Քայլ 3: Սարքավորման միացում
- Քայլ 4. 3-առանցքի գիրոսկոպի չափման մասնիկի ծածկագիր
- Քայլ 5: Դիմումներ
Video: 3 առանցքի գիրոսկոպի տվիչի փոխազդեցություն BMG160 մասնիկով `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Today'sամանակակից աշխարհում երիտասարդների և երեխաների կեսից ավելին սիրում է խաղեր, և բոլոր նրանք, ովքեր սիրում են այն, հիացած են խաղերի տեխնիկական կողմերով, գիտեն շարժման զգայարանների կարևորությունն այս ոլորտում: Մենք նույնպես ապշեցինք նույն բանից և պարզապես այն տախտակների վրա բերելու համար մենք մտածեցինք աշխատել գիրոսկոպի տվիչի վրա, որը կարող է չափել ցանկացած օբյեկտի անկյունային արագությունը: Այսպիսով, սենսորը, որը մենք վերցրեցինք առաջադրանքը լուծելու համար, BMG160 է: BMG160- ը 16-բիթանոց, թվային, եռակի, գիրոսկոպի տվիչ է, որը կարող է անկյունաչափը չափել սենյակի երեք ուղղահայաց հարթություններում:
Այս ձեռնարկում մենք ցույց կտանք BMG160- ի աշխատանքը Particle Photon- ի հետ:
Սարքավորումները, որոնք ձեզ անհրաժեշտ կլինեն այս նպատակով, հետևյալն են.
1. BMG160
2. Ֆոտոն մասնիկ
3. I2C մալուխ
4. I2C վահան մասնիկի ֆոտոնի համար
Քայլ 1: BMG160 ակնարկ
Առաջին հերթին մենք կցանկանայինք ձեզ ծանոթացնել սենսորային մոդուլի հիմնական հատկանիշներին, որն է BMG160- ը և հաղորդակցության արձանագրությունը, որի վրա այն աշխատում է:
BMG160- ը հիմնականում 16-բիթանոց, թվային, եռակի, գիրոսկոպի տվիչ է, որը կարող է չափել անկյունային արագությունները: Այն ունակ է հաշվել անկյունային արագությունները սենյակի երեք ուղղահայաց հարթություններում ՝ x-, y- և z առանցքները և ապահովել համապատասխան ելքային ազդանշաններ: Այն կարող է շփվել ազնվամորու pi տախտակի հետ ՝ օգտագործելով I2C հաղորդակցության արձանագրությունը: Այս մոդուլը նախատեսված է բավարարելու սպառողական ծրագրերի, ինչպես նաև արդյունաբերական նպատակների պահանջները:
Հաղորդակցության արձանագրությունը, որի վրա աշխատում է սենսորը, I2C է: I2C- ը նշանակում է ինտեգրված միացում: Այն հաղորդակցման արձանագրություն է, որի միջոցով հաղորդակցությունը տեղի է ունենում SDA (սերիական տվյալներ) և SCL (սերիական ժամացույց) գծերի միջոցով: Այն թույլ է տալիս միաժամանակ միացնել բազմաթիվ սարքեր: Այն ամենապարզ և ամենաարդյունավետ հաղորդակցման արձանագրություններից մեկն է:
Քայլ 2: Այն, ինչ ձեզ պետք է..
Նյութերը, որոնք մեզ անհրաժեշտ են մեր նպատակին հասնելու համար, ներառում են հետևյալ ապարատային բաղադրիչները.
1. BMG160
2. Ֆոտոն մասնիկ
3. I2C մալուխ
4. I2C վահան մասնիկի ֆոտոնի համար
Քայլ 3: Սարքավորման միացում
Սարքավորումների միացման բաժինը հիմնականում բացատրում է սենսորի և մասնիկի միջև պահանջվող լարերի միացումները: Connectionsանկալի ելքի համար ցանկացած համակարգի վրա աշխատելիս հիմնական անհրաժեշտությունն է հիմնական կապերի ապահովումը: Այսպիսով, անհրաժեշտ կապերը հետևյալն են.
BMG160- ը կաշխատի I2C- ով: Ահա միացման սխեմայի օրինակ, որը ցույց է տալիս, թե ինչպես միացնել սենսորի յուրաքանչյուր միջերեսը:
Տուփից դուրս, տախտակը կազմաձևված է I2C ինտերֆեյսի համար, ուստի խորհուրդ ենք տալիս օգտագործել այս կապը, եթե այլապես ագնոստիկ եք:
Ձեզ անհրաժեշտ է չորս լար: Միայն չորս միացում է պահանջվում Vcc, Gnd, SCL և SDA կապում, որոնք միացված են I2C մալուխի օգնությամբ:
Այս կապերը ցուցադրվում են վերը նշված նկարներում:
Քայլ 4. 3-առանցքի գիրոսկոպի չափման մասնիկի ծածկագիր
Եկեք հիմա սկսենք մասնիկների կոդով:
Arduino- ի հետ սենսորային մոդուլն օգտագործելիս մենք ներառում ենք application.h և spark_wiring_i2c.h գրադարանը: «application.h» և spark_wiring_i2c.h գրադարանը պարունակում են գործառույթներ, որոնք հեշտացնում են i2c հաղորդակցությունը սենսորի և մասնիկի միջև:
Օգտվողի հարմարության համար ստորև բերված է մասնիկների ամբողջ ծածկագիրը.
#ներառում
#ներառում
// BMG160 I2C հասցեն ՝ 0x68 (104)
#սահմանեք Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
դատարկ կարգավորում ()
{
// Սահմանել փոփոխական
Particle.variable («i2cdevice», «BMG160»);
Particle.variable («xGyro», xGyro);
Particle.variable («yGyro», yGyro);
Particle.variable («zGyro», zGyro);
// Նախնականացնել I2C հաղորդակցությունը որպես ՎԱՐՊԵՏ
Wire.begin ();
// Սերիական հաղորդակցության նախաստորագրում
Serial.begin (9600);
// Սկսել I2C փոխանցումը
Wire.beginTransmission (Addr);
// Ընտրեք Range register
Wire.write (0x0F);
// Կարգավորել 2000 dps ամբողջական մասշտաբը
Wire.write (0x80);
// Դադարեցնել I2C փոխանցումը
Wire.endTransmission ();
// Սկսել I2C փոխանցումը
Wire.beginTransmission (Addr);
// Ընտրեք թողունակության գրանցամատյան
Wire.write (0x10);
// Սահմանել թողունակություն = 200 Հց
Wire.write (0x04);
// Դադարեցնել I2C փոխանցումը
Wire.endTransmission ();
ուշացում (300);
}
դատարկ շրջան ()
{
անստորագիր int տվյալներ [6];
// Սկսել I2C փոխանցումը
Wire.beginTransmission (Addr);
// Ընտրեք տվյալների գրանցամատյան
Wire.write (0x02);
// Դադարեցնել I2C փոխանցումը
Wire.endTransmission ();
// Պահանջել 6 բայթ տվյալներ
Հաղորդալար. Խնդրում ենք (Addr, 6);
// Կարդացեք տվյալների 6 բայթ
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
եթե (Wire.available () == 6)
{
տվյալներ [0] = Wire.read ();
տվյալներ [1] = Wire.read ();
տվյալներ [2] = Wire.read ();
տվյալներ [3] = Wire.read ();
տվյալներ [4] = Wire.read ();
տվյալներ [5] = Wire.read ();
}
ուշացում (300);
// Փոխարկել տվյալները
xGyro = ((տվյալներ [1] * 256) + տվյալներ [0]);
եթե (xGyro> 32767)
{
xGyro -= 65536;
}
yGyro = ((տվյալներ [3] * 256) + տվյալներ [2]);
եթե (yGyro> 32767)
{
yGyro -= 65536;
}
zGyro = ((տվյալներ [5] * 256) + տվյալներ [4]);
եթե (zGyro> 32767)
{
zGyro -= 65536;
}
// Տվյալների մուտքագրում վահանակ
Particle.publish ("Պտտման առանցք.", Լարային (xGyro));
Particle.publish («Պտտման առանցք.», Լար (yGyro));
Particle.publish («Պտտման առանցք.», Լար (zGyro));
ուշացում (1000);
}
Քայլ 5: Դիմումներ
BMG160- ը բազմազան թվով ծրագրեր ունի այնպիսի սարքերում, ինչպիսիք են բջջային հեռախոսները, մարդկային մեքենաների ինտերֆեյսի սարքերը: Այս սենսորային մոդուլը նախագծված է սպառողների համար այնպիսի պահանջների բավարարման համար, ինչպիսիք են պատկերի կայունացումը (DSC և տեսախցիկ-հեռախոս), խաղային և ցուցիչ սարքերը: Այն օգտագործվում է նաև այն համակարգերում, որոնք պահանջում են ժեստերի ճանաչում և ներքին նավարկության մեջ օգտագործվող համակարգեր:
Խորհուրդ ենք տալիս:
Stone Lcd + Արագացման գիրոսկոպի տվիչ ՝ 5 քայլ
Stone Lcd +Acceleration Gyroscope Sensor: Այս փաստաթուղթը կսովորեցնի ձեզ, թե ինչպես օգտագործել STM32 MCU +MPU6050 արագացուցիչի գիրոսկոպի տվիչ +STONE STVC070WT սերիական նավահանգստի ցուցադրում DEMO- ի համար: , կարող եք գնալ մեզ մոտ
3 առանցքի գիրոսկոպի տվիչի BMG160 միջերեսումը Arduino Nano- ի հետ. 5 քայլ
3 առանցքի գիրոսկոպի տվիչի փոխազդեցություն BMG160- ի հետ Arduino Nano- ի հետ: worldամանակակից աշխարհում երիտասարդների և երեխաների կեսից ավելին սիրում է խաղը, և բոլոր նրանք, ովքեր հիացած են դրանով, հետաքրքրված են խաղերի տեխնիկական կողմերով, գիտեն շարժման զգայունության կարևորությունը: այս տիրույթում: Մենք նույնպես զարմացած էինք նույն բանից և
Arduino ինտերֆեյս ուլտրաձայնային տվիչի և անհպում ջերմաստիճանի տվիչի հետ `8 քայլ
Arduino- ի ինտերֆեյս ուլտրաձայնային տվիչի և ջերմաստիճանի անշփման սենսորի հետ. Մեր օրերում արտադրողները, ծրագրավորողները նախընտրում են Arduino- ն `նախագծերի նախատիպերի արագ զարգացման համար: Arduino- ն բաց կոդով էլեկտրոնիկայի հարթակ է, որը հիմնված է հեշտ օգտագործման ապարատային և ծրագրային ապահովման վրա: Arduino- ն ունի շատ լավ օգտագործողների համայնք: Այս նախագծում
3 առանցքի գիրոսկոպի տվիչի BMG160 ինտերֆեյս ՝ ազնվամորու Pi- ի հետ. 5 քայլ
BMG160 3 առանցքի գիրոսկոպի տվիչի միջերես Raspberry Pi- ի հետ. Today'sամանակակից աշխարհում երիտասարդների և երեխաների կեսից ավելին սիրում է խաղը, և բոլոր նրանք, ովքեր հիացած են դրանով, հետաքրքրված են խաղերի տեխնիկական կողմերով, գիտեն շարժման զգայունության կարևորությունը: այս տիրույթում: Մենք նույնպես զարմացած էինք նույն բանից և
Բջջային հեռախոսով ցանկացած Arduino- ի փոխազդեցություն. 6 քայլ (նկարներով)
Բջջային հեռախոսով ցանկացած Arduino- ի փոխազդեցություն. Arduino- ից օգտվելիս դա կարող է հանգեցնել բավականին տհաճության, եթե այն չկարողանաք օգտագործել միայն այն պատճառով, որ համակարգիչ հասանելի չէ: Միգուցե Windows- ը կամ Mac OS- ը համատեղելի չեն, ընդհանրապես որևէ համակարգիչ չունեք, կամ պարզապես ցանկանում եք ավելի շատ ազատություն ներ