Përmbajtje:

Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me grimcë: 5 hapa
Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me grimcë: 5 hapa

Video: Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me grimcë: 5 hapa

Video: Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me grimcë: 5 hapa
Video: RC Crash Arrma Limitless 8s 200+ км/ч. 2024, Nëntor
Anonim
Image
Image

Në botën e sotme, më shumë se gjysma e të rinjve dhe fëmijëve janë të dhënë pas lojrave dhe të gjithë ata që e duan atë, të magjepsur nga aspektet teknike të lojrave e dinë rëndësinë e ndjeshmërisë së lëvizjes në këtë fushë. Ne gjithashtu u mahnitëm nga e njëjta gjë dhe vetëm për ta sjellë atë në dërrasa, ne menduam të punojmë në një sensor xhiroskopi i cili mund të masë shkallën këndore të çdo objekti. Pra, sensori që morëm për t'u marrë me detyrën është BMG160. BMG160 është një sensor xhiroskop 16-bit, dixhital, treaksial, i cili mund të masë shkallën këndore në tre dimensione të dhomës pingul.

Në këtë tutorial, ne do të demonstrojmë punën e BMG160 me Parton Photon.

Pajisjet kompjuterike që do t'ju nevojiten për këtë qëllim janë si më poshtë:

1. BMG160

2. Fotoni i grimcave

3. Kabllo I2C

4. Mburoja I2C për fotonin e grimcave

Hapi 1: Vështrim BMG160:

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

Para së gjithash, ne dëshirojmë t'ju njohim me veçoritë themelore të modulit të sensorit që është BMG160 dhe protokollin e komunikimit në të cilin funksionon.

BMG160 është në thelb një sensor xhiroskop 16-bit, dixhital, treaksial, i cili mund të masë normat këndore. Shtë i aftë të llogarisë ritmet këndore në tre dimensione të dhomës pingul, boshtin x-, y- dhe z, dhe të sigurojë sinjalet përkatëse të daljes. Mund të komunikojë me bordin e mjedrës pi duke përdorur protokollin e komunikimit I2C. Ky modul i veçantë është krijuar për të përmbushur kërkesat për aplikimet e konsumatorit, si dhe qëllimet industriale.

Protokolli i komunikimit në të cilin punon sensori është I2C. I2C qëndron për qarkun e integruar. Shtë një protokoll komunikimi në të cilin komunikimi zhvillohet përmes linjave SDA (të dhëna serike) dhe SCL (ora seriale). Mundëson lidhjen e shumë pajisjeve në të njëjtën kohë. Shtë një nga protokollet më të thjeshtë dhe më efikas të komunikimit.

Hapi 2: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. BMG160

2. Fotoni i grimcave

3. Kabllo I2C

4. Mburoja I2C Për Foton Grimcash

Hapi 3: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe Grimcës. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

BMG160 do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik.

Gjithçka që ju nevojitet janë katër tela! Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 4: Kodi i grimcës së matjes së xhiroskopit me 3 boshte:

Kodi i grimcës së matjes së xhiroskopit me 3 boshte
Kodi i grimcës së matjes së xhiroskopit me 3 boshte
Kodi i grimcës së matjes së xhiroskopit me 3 boshte
Kodi i grimcës së matjes së xhiroskopit me 3 boshte

Le të fillojmë me kodin e grimcave tani.

Ndërsa përdorim modulin e sensorit me arduino, ne përfshijmë bibliotekën application.h dhe spark_wiring_i2c.h. Biblioteka "application.h" dhe spark_wiring_i2c.h përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe grimcës.

I gjithë kodi i grimcave është dhënë më poshtë për lehtësinë e përdoruesit:

#përfshi

#përfshi

// Adresa BMG160 I2C është 0x68 (104)

#përcaktoni Addr 0x68

int xGyro = 0, yGyro = 0, zGyro = 0;

void setup ()

{

// Vendos ndryshoren

Particle.variable ("i2cdevice", "BMG160");

Grimca. E ndryshueshme ("xGyro", xGyro);

Grimca. E ndryshueshme ("yGyro", yGyro);

Grimca. E ndryshueshme ("zGyro", zGyro);

// Filloni komunikimin I2C si MASTER

Wire.begin ();

// Filloni Komunikimin Serial

Serial.filloj (9600);

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni Regjistrin e diapazonit

Wire.write (0x0F);

// Konfiguro shkallën e plotë 2000 dps

Wire.write (0x80);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e Bandwidth

Wire.write (0x10);

// Set Bandwidth = 200 Hz

Wire.write (0x04);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

vonesë (300);

}

lak void ()

{

të dhëna int të panënshkruara [6];

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidh regjistrin e të dhënave

Wire.write (0x02);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Kërkoni 6 bajt të dhëna

Tela. Kërkohet Nga (Addr, 6);

// Lexoni 6 bajt të dhëna

// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb

nëse (Wire. në dispozicion () == 6)

{

të dhëna [0] = Wire.read ();

të dhëna [1] = Wire.read ();

të dhëna [2] = Wire.read ();

të dhëna [3] = Wire.read ();

të dhëna [4] = Wire.read ();

të dhëna [5] = Wire.read ();

}

vonesë (300);

// Shndërroni të dhënat

xGyro = ((të dhënat [1] * 256) + të dhënat [0]);

nëse (xGyro> 32767)

{

xGyro -= 65536;

}

yGyro = ((të dhënat [3] * 256) + të dhënat [2]);

nëse (yGyro> 32767)

{

yGyro -= 65536;

}

zGyro = ((të dhënat [5] * 256) + të dhënat [4]);

nëse (zGyro> 32767)

{

zGyro -= 65536;

}

// Dalja e të dhënave në pult

Particle.publish ("Boshti X i rrotullimit:", String (xGyro));

Particle.publish ("Y-Axis of Rotation:", String (yGyro));

Particle.publish ("Z-Boshti i Rrotullimit:", String (zGyro));

vonesa (1000);

}

Hapi 5: Aplikimet:

Aplikimet
Aplikimet

BMG160 ka një numër të larmishëm aplikimesh në pajisje si celularët, pajisjet e ndërfaqes së makinerisë njerëzore. Ky modul sensor është projektuar për të përmbushur kërkesat për aplikimet e konsumatorëve, të tilla si stabilizimi i imazhit (DSC dhe aparati-telefon), lojërat dhe pajisjet e drejtimit. Gjithashtu përdoret në sistemet që kërkojnë njohjen e gjesteve dhe sistemet e përdorura në navigimin e brendshëm.

Recommended: