Përmbajtje:
- Hapi 1: Vështrim BMG160:
- Hapi 2: Ajo që ju nevojitet.. !
- Hapi 3: Bashkimi i harduerit:
- Hapi 4: Kodi i grimcës së matjes së xhiroskopit me 3 boshte:
- Hapi 5: Aplikimet:
Video: Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me grimcë: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
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:
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.. !
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:
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:
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:
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:
Ndërfaqja e sensorit kapacitiv të gjurmëve të gishtërinjve me Arduino UNO: 7 hapa
Ndërfaqja e sensorit kapacitiv të gjurmëve të gishtërinjve me Arduino UNO: Hej, çfarë ka, djema! Akarsh këtu nga CETech. Sot ne do të shtojmë një shtresë mbrojtëse në projektet tona. Mos u shqetësoni ne nuk do të caktojmë asnjë truprojë për të njëjtën gjë. Do të jetë një sensor gjurmë gishtash pak i bukur dhe i bukur nga DFRobot. Pra
Ndërfaqja e sensorit të gazit me Arduino: 4 hapa
Ndërfaqja e sensorit të gazit me Arduino: Sensori i tymit MQ-2 është i ndjeshëm ndaj tymit dhe ndaj gazeve të mëposhtëm të ndezshëm: LPG, Butan, Propan, Metan, Alkool, Hidrogjen. Rezistenca e sensorit është e ndryshme në varësi të llojit të gazit. Sensori i tymit ka një potenciometër të integruar
Ndërfaqja e sensorit të temperaturës LM35 me Arduino: 4 hapa
Ndërfaqja e sensorit të temperaturës LM35 Me Arduino: Termometrat janë aparate të dobishëm që përdoren për një kohë të gjatë për matjen e temperaturës. Në këtë projekt, ne kemi bërë një termometër dixhital të bazuar në Arduino për të shfaqur temperaturën aktuale të ambientit dhe ndryshimet e temperaturës në një LCD. Mund të jetë depl
Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me Arduino Nano: 5 hapa
Ndërfaqja e Sensorit të Xhiroskopit 3-Bosht BMG160 Me Arduino Nano: 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ë janë të dhënë pas saj, të magjepsur nga aspektet teknike të lojrave e dinë rëndësinë e ndijimit të lëvizjes në këtë fushë. Ne gjithashtu u mahnitëm nga e njëjta gjë dhe
Ndërfaqja e sensorit të xhiroskopit me 3 boshte BMG160 me mjedër Pi: 5 hapa
Ndërfaqja e Sensorit të Xhiroskopit 3-Bosht BMG160 Me Raspberry Pi: Në botën e sotme, më shumë se gjysma e të rinjve dhe fëmijëve janë të dhënë pas lojërave dhe të gjithë ata që janë të dhënë pas saj, të magjepsur nga aspektet teknike të lojrave e dinë rëndësinë e ndijimit të lëvizjes në këtë fushë. Ne gjithashtu u mahnitëm nga e njëjta gjë dhe