Përmbajtje:

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

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

Video: Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me Arduino Nano: 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 Arduino Nano.

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

1. BMG160

2. Arduino Nano

3. Kabllo I2C

4. Mburoja I2C Për Arduino Nano

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. Arduino Nano

3. Kabllo I2C

4. Mburoja I2C për Arduino Nano

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 Arduino. 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: Matja e Xhiroskopit me 3 Aks Kodi Arduino:

Kodi Arduino i Matjes së Xhiroskopit me 3 Bosht
Kodi Arduino i Matjes së Xhiroskopit me 3 Bosht
Kodi Arduino i Matjes së Xhiroskopit me 3 Bosht
Kodi Arduino i Matjes së Xhiroskopit me 3 Bosht

Le të fillojmë me kodin arduino tani.

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

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

#përfshi // Adresa BMG160 I2C është 0x68 (104)

#përcaktoni Addr 0x68

void setup ()

{

// Filloni komunikimin I2C si MASTER

Wire.begin ();

// Filloni Komunikimin Serial, vendosur normën e baudit = 9600

Serial.filloj (9600);

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni Regjistrin e diapazonit

Wire.write (0x0F);

// Konfiguro gamën e plotë të shkallës 2000 dps

Wire.write (0x80);

// Ndaloni Transmetimin I2C

Wire.endTransmission ();

// Filloni Transmetimin I2C

Wire.beginTransmetimi (Addr);

// Zgjidhni regjistrin e Bandwidth

Wire.write (0x10);

// Vendosni gjerësinë e brezit = 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);

// Zgjidhni regjistrin e të dhënave të Gyrometer

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

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

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

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

// Dalja e të dhënave në monitorin serik

Serial.print ("Boshti X i rrotullimit:");

Serial.println (xGyro); Serial.print ("Y-Boshti i Rrotullimit:");

Serial.println (yGyro); Serial.print ("Z-Boshti i Rrotullimit:");

Serial.println (zGyro);

vonesë (500);

}

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: