Sisukord:
- 1. samm: BMG160 ülevaade:
- Samm: mida vajate..
- 3. samm: riistvara ühendamine:
- 4. samm: 3-teljeline güroskoobi mõõtmise osakeste kood:
- Samm: rakendused:
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Tänapäeva maailmas armastavad rohkem kui pooled noored ja lapsed mängimist ning kõik, kellele see meeldib, on hasartmängude tehnilistest aspektidest lummatud, teavad selles valdkonnas liikumisandurite tähtsust. Meid hämmastas see sama asi ja lihtsalt selle tahvlitele toomiseks mõtlesime töötada güroskoobi anduri kallal, mis suudab mõõta mis tahes objekti nurkkiirust. Niisiis, andur, mille ülesande lahendamiseks kasutasime, on BMG160. BMG160 on 16-bitine digitaalne, kolmeteljeline güroskoobi andur, mis suudab mõõta nurgakiirust kolmes risti asetsevas ruumis.
Selles õpetuses demonstreerime BMG160 tööd osakeste footoniga.
Riistvara, mida selleks vajate, on järgmine:
1. BMG160
2. Osakeste footon
3. I2C kaabel
4. I2C kilp osakeste footonile
1. samm: BMG160 ülevaade:
Kõigepealt soovime tutvustada teile BMG160 andurimooduli põhiomadusi ja sideprotokolli, millel see töötab.
BMG160 on põhimõtteliselt 16-bitine digitaalne, kolmeteljeline güroskoobisensor, mis suudab mõõta nurkkiirust. See on võimeline arvutama nurkkiirusi kolmes risti asetsevas ruumimõõdus, x-, y- ja z-teljel, ning andma vastavad väljundsignaalid. See saab suhelda vaarika pi plaadiga, kasutades I2C sideprotokolli. See konkreetne moodul on loodud nii tarbijate kui ka tööstuse jaoks.
Sideprotokoll, millel andur töötab, on I2C. I2C tähistab integraallülitust. See on suhtlusprotokoll, milles side toimub SDA (jadaandmed) ja SCL (jadakell) liinide kaudu. See võimaldab ühendada mitu seadet korraga. See on üks lihtsamaid ja tõhusamaid suhtlusprotokolle.
Samm: mida vajate..
Eesmärgi saavutamiseks vajalikud materjalid sisaldavad järgmisi riistvarakomponente:
1. BMG160
2. Osakeste footon
3. I2C kaabel
4. I2C kilp osakeste footonile
3. samm: riistvara ühendamine:
Riistvara ühendamise jaotis selgitab põhimõtteliselt anduri ja osakese vahel vajalikke juhtmestiku ühendusi. Soovitud väljundi mis tahes süsteemiga töötamisel on põhivajadus õigete ühenduste tagamine. Seega on vajalikud ühendused järgmised:
BMG160 töötab üle I2C. Siin on näide ühendusskeemist, mis näitab, kuidas anduri iga liidest ühendada.
Valmis plaat on konfigureeritud I2C liidese jaoks, seega soovitame seda ühendamist kasutada, kui olete muidu agnostik.
Kõik, mida vajate, on neli juhtmest! Vaja on ainult nelja ühendust Vcc, Gnd, SCL ja SDA ning need ühendatakse I2C kaabli abil.
Neid seoseid on näidatud ülaltoodud piltidel.
4. samm: 3-teljeline güroskoobi mõõtmise osakeste kood:
Alustame nüüd osakeste koodiga.
Andurimoodulit koos arduinoga kasutades kaasame teeki application.h ja spark_wiring_i2c.h. Raamatukogu "application.h" ja spark_wiring_i2c.h sisaldab funktsioone, mis hõlbustavad i2c suhtlust anduri ja osakese vahel.
Kogu osakeste kood on kasutaja mugavuse huvides toodud allpool:
#kaasake
#kaasake
// BMG160 I2C aadress on 0x68 (104)
#define Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
tühine seadistus ()
{
// Määra muutuja
Particle.variable ("i2cdevice", "BMG160");
Particle.variable ("xGyro", xGyro);
Osake.muutuja ("yGyro", yGyro);
Osake.muutuja ("zGyro", zGyro);
// Initsialiseeri I2C side kui MASTER
Wire.begin ();
// Initsialiseeri jadakommunikatsioon
Seriaalne algus (9600);
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige vahemiku register
Wire.write (0x0F);
// Täisskaala seadistamine 2000 dps
Wire.write (0x80);
// Peata I2C edastamine
Wire.endTransmission ();
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige ribalaiuse register
Wire.write (0x10);
// Määra ribalaius = 200 Hz
Wire.write (0x04);
// Peata I2C edastamine
Wire.endTransmission ();
viivitus (300);
}
tühine tsükkel ()
{
allkirjastamata int andmed [6];
// Käivitage I2C edastamine
Wire.beginTransmission (Addr);
// Valige andmeregister
Wire.write (0x02);
// Peata I2C edastamine
Wire.endTransmission ();
// Taotlege 6 baiti andmeid
Wire.requestFrom (Addr, 6);
// Lugege 6 baiti andmeid
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
kui (Wire.available () == 6)
{
andmed [0] = Wire.read ();
andmed [1] = Wire.read ();
andmed [2] = Wire.read ();
andmed [3] = Wire.read ();
andmed [4] = Wire.read ();
andmed [5] = Wire.read ();
}
viivitus (300);
// Teisendage andmed
xGyro = ((andmed [1] * 256) + andmed [0]);
kui (xGyro> 32767)
{
xGyro -= 65536;
}
yGyro = ((andmed [3] * 256) + andmed [2]);
kui (yGyro> 32767)
{
yGyro -= 65536;
}
zGyro = ((andmed [5] * 256) + andmed [4]);
kui (zGyro> 32767)
{
zGyro -= 65536;
}
// Andmete väljastamine armatuurlauale
Particle.publish ("Pöörlemise X-telg:", String (xGyro));
Particle.publish ("Y-pöörlemistelg:", string (yGyro));
Particle.publish ("Z-telg pöörlemisel:", string (zGyro));
viivitus (1000);
}
Samm: rakendused:
BMG160 -l on mitmesuguseid rakendusi sellistes seadmetes nagu mobiiltelefonid, inimese ja masina liideseadmed. See andurimoodul on loodud vastama tarbijatele mõeldud rakendustele, nagu pildistabilisaator (DSC ja kaamera-telefon), mängudele ja osutusseadmetele. Seda kasutatakse ka süsteemides, mis nõuavad žestide tuvastamist, ja süsteemides, mida kasutatakse siseruumides navigeerimiseks.
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust