
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11


Katika ulimwengu wa leo, zaidi ya nusu ya vijana na watoto wanapenda michezo ya kubahatisha na wale wote wanaopenda, wanavutiwa na mambo ya kiufundi ya uchezaji wanajua umuhimu wa kuhisi mwendo katika uwanja huu. Tulishangazwa pia na kitu hicho hicho na kuileta tu kwenye bodi, tulifikiria kufanya kazi kwa sensa ya gyroscope ambayo inaweza kupima kiwango cha angular cha kitu chochote. Kwa hivyo, sensa tuliyochukua kushughulikia kazi hiyo ni BMG160. BMG160 ni sensorer 16-bit, digital, triaxial, gyroscope ambayo inaweza kupima kiwango cha angular katika vipimo vitatu vya chumba.
Katika mafunzo haya, tutaonyesha kazi ya BMG160 na Raspberry pi, kwa kutumia Java kama lugha ya programu.
Vifaa ambavyo utahitaji kwa kusudi hili ni kama ifuatavyo:
1. BMG160
2. Raspberry Pi
3. Cable ya I2C
4. I2C Shield kwa Raspberry Pi
5. Cable ya Ethernet
Hatua ya 1: Muhtasari wa BMG160:

Kwanza kabisa tungependa kukujulisha na sifa za msingi za moduli ya sensorer ambayo ni BMG160 na itifaki ya mawasiliano ambayo inafanya kazi.
BMG160 kimsingi ni sensa ya 16-bit, dijiti, triaxial, gyroscope ambayo inaweza kupima viwango vya angular. Ina uwezo wa kuhesabu viwango vya angular katika vipimo vitatu vya chumba, x-, y- na z-mhimili, na kutoa ishara zinazofanana za pato. Inaweza kuwasiliana na bodi ya rasipberry pi kutumia itifaki ya mawasiliano ya I2C. Moduli hii imeundwa kukidhi mahitaji ya matumizi ya watumiaji na pia madhumuni ya viwanda.
Itifaki ya mawasiliano ambayo sensor inafanya kazi ni I2C. I2C inasimama kwa mzunguko uliounganishwa. Ni itifaki ya mawasiliano ambayo mawasiliano hufanyika kupitia SDA (data ya serial) na mistari ya SCL (saa ya serial). Inaruhusu kuunganisha vifaa vingi kwa wakati mmoja. Ni mojawapo ya itifaki rahisi na bora zaidi ya mawasiliano.
Hatua ya 2: Unachohitaji.. !



Vifaa ambavyo tunahitaji kutimiza lengo letu ni pamoja na vifaa vifuatavyo vya vifaa:
1. BMG160
2. Raspberry Pi
3. Cable ya I2C
4. I2C Shield Kwa Raspberry Pi
5. Cable ya Ethernet
Hatua ya 3: Kuunganishwa kwa vifaa:


Sehemu ya uunganishaji wa vifaa kimsingi inaelezea uunganisho wa wiring unaohitajika kati ya sensorer na pi ya raspberry. Kuhakikisha unganisho sahihi ni hitaji la msingi wakati unafanya kazi kwenye mfumo wowote wa pato unalotaka. Kwa hivyo, viunganisho vinavyohitajika ni kama ifuatavyo.
BMG160 itafanya kazi juu ya I2C. Hapa kuna mfano wa mchoro wa wiring, unaonyesha jinsi ya kuweka waya kila kiunganishi cha sensa.
Nje ya sanduku, bodi imesanidiwa kwa kiolesura cha I2C, kwa hivyo tunapendekeza utumie uunganisho huu ikiwa wewe ni agnostic. Unachohitaji ni waya nne!
Viunganisho vinne tu vinahitajika Vcc, Gnd, SCL na SDA pini na hizi zimeunganishwa kwa msaada wa kebo ya I2C.
Uunganisho huu umeonyeshwa kwenye picha hapo juu.
Hatua ya 4: Kipimo cha Gyroscope ya 3-Axis Kutumia Msimbo wa Java:


Faida ya kutumia rasipiberi pi ni kwamba, inakupa kubadilika kwa lugha ya programu ambayo unataka kupanga bodi ili kuunganisha kihisi nayo. Kuunganisha faida hii ya bodi hii, tunaonyesha hapa programu yake katika Java. Nambari ya Java ya BMG160 inaweza kupakuliwa kutoka kwa jamii yetu ya github ambayo ni Jumuiya ya Duka la Dcube.
Kama vile urahisi wa watumiaji, tunaelezea nambari hapa pia: Kama hatua ya kwanza ya kuweka alama unahitaji kupakua maktaba ya pi4j ikiwa ni java, kwa sababu maktaba hii inasaidia kazi zinazotumiwa kwenye nambari. Kwa hivyo, kupakua maktaba unaweza kutembelea kiunga kifuatacho:
pi4j.com/install.html
Unaweza kunakili nambari ya java inayofanya kazi ya sensa hii kutoka hapa pia:
kuagiza com.pi4j.io.i2c. I2CBus;
kuagiza com.pi4j.io.i2c. I2CDevice;
kuagiza com.pi4j.io.i2c. I2CFactory;
kuagiza java.io. IOException;
darasa la umma BMG160
{
umma tuli batili kuu (Kamba args ) hutupa Ubaguzi
{
// Unda basi ya I2C
Basi la I2C = I2CFactory.getInstance (I2CBus. BUS_1);
// Pata kifaa cha I2C, anwani ya BMG160 I2C ni 0x68 (104)
Kifaa cha I2CDevice = bus.getDevice (0x68);
// Chagua sajili ya masafa
// Sanidi kiwango kamili, 2000 dps
andika kifaa (0x0F, (byte) 0x80);
// Chagua rejista ya kipimo data
// Bandwidth 200 Hz
andika kifaa (0x10, (byte) 0x04);
Kulala (500);
// Soma ka 6 za data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
data data = byte mpya [6];
soma kifaa (0x02, data, 0, 6);
// Badilisha data
int xGyro = ((data [1] & 0xFF) * 256 + (data [0] & 0xFF));
ikiwa (xGyro> 32767)
{
xGyro - = 65536;
}
int yGyro = ((data [3] & 0xFF) * 256 + (data [2] & 0xFF));
ikiwa (yGyro> 32767)
{
yGyro - = 65536;
}
int zGyro = ((data [5] & 0xFF) * 256 + (data [4] & 0xFF));
ikiwa (zGyro> 32767)
{
zGyro - = 65536;
}
// Pato data kwa screen
System.out.printf ("X-Axis ya Mzunguko:% d% n", xGyro);
System.out.printf ("Y-axis ya Mzunguko:% d% n", yGyro);
System.out.printf ("Z-axis ya Mzunguko:% d% n", zGyro);
}
}
Maktaba ambayo inasaidia mawasiliano ya i2c kati ya sensa na bodi ni pi4j, vifurushi vyake anuwai I2CBus, I2CDevice na msaada wa I2CFactory kuanzisha unganisho.
kuagiza com.pi4j.io.i2c. I2CBus; kuagiza com.pi4j.io.i2c. I2CDevice; kuagiza com.pi4j.io.i2c. I2CFactory; kuagiza java.io. IOException;
Sehemu hii ya nambari hufanya sensorer kupima kiwango cha angular kwa kuandika amri husika kwa kutumia kazi ya kuandika () na kisha data inasomwa kwa kutumia kazi ya kusoma ().
// Chagua sajili ya masafa // Sanidi kiwango kamili, kifaa cha dps 2000. andika (0x0F, (byte) 0x80); // Chagua rejista ya bandwidth // Kifaa cha Bandwidth 200 Hz. Andika (0x10, (byte) 0x04); Kulala (500);
// Soma ka 6 za data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb byte data = new byte [6]; soma kifaa (0x02, data, 0, 6);
Takwimu zilizopokelewa kutoka kwa sensorer hubadilishwa kuwa fomati inayofaa kwa kutumia zifuatazo:
int xGyro = ((data [1] & 0xFF) * 256 + (data [0] & 0xFF)); ikiwa (xGyro> 32767) {xGyro - = 65536; } int yGyro = ((data [3] & 0xFF) * 256 + (data [2] & 0xFF)); ikiwa (yGyro> 32767) {yGyro - = 65536; } int zGyro = ((data [5] & 0xFF) * 256 + (data [4] & 0xFF)); ikiwa (zGyro> 32767) {zGyro - = 65536; }
Pato limechapishwa kwa kutumia kazi ya System.out.println (), katika muundo ufuatao.
System.out.println ("X-Axis ya Mzunguko:% d% n", xGyro); System.out.println ("Y-axis ya Mzunguko:% d% n", yGyro); System.out.println ("Z-mhimili wa Mzunguko:% d% n", zGyro);
Pato la sensor linaonyeshwa kwenye picha hapo juu.
Hatua ya 5: Maombi:

BMG160 ina idadi anuwai ya matumizi katika vifaa kama simu za rununu, vifaa vya kiunganishi vya mashine ya binadamu. Moduli hii ya sensorer imeundwa kukidhi mahitaji ya matumizi ya watumiaji kama vile utulivu wa picha (DSC na kamera-simu), vifaa vya michezo ya kubahatisha na kuelekeza. Inatumika pia katika mifumo ambayo inahitaji utambuzi wa ishara na mifumo inayotumika katika urambazaji wa ndani.
Ilipendekeza:
Kuingiliana kwa Moduli ya GPS na Raspberry Pi: Hatua 10

Kuingiliana kwa Moduli ya GPS na Raspberry Pi: Hey Guys !! Je! Unatamani kusanikisha moduli ya GPS na Raspberry Pi? Lakini inakabiliwa na ugumu wa kuifanya? "Usijali, niko hapa kukusaidia! Unaweza kuanza kwa kutumia sehemu zifuatazo:
Kuingiliana na Infineon DPS422 Sensor na Infineon XMC4700 na Kutuma Takwimu kwa NodeMCU: Hatua 13

Interfacing Infineon DPS422 Sensor With Infineon XMC4700 na Kutuma Data kwa NodeMCU: Katika mafunzo haya tutajifunza jinsi ya kutumia DPS422 kwa kupima joto na shinikizo la kibaometri na XMC4700. matumizi
Kuingiliana kwa Arduino na Sensor ya Ultrasonic na Sensor ya Joto isiyo na Mawasiliano: Hatua 8

Kuingiliana kwa Arduino na Sensorer ya Ultrasonic na Sensor ya Joto isiyo na Mawasiliano: Siku hizi, Watengenezaji, Watengenezaji wanapendelea Arduino kwa maendeleo ya haraka ya mfano wa miradi. Arduino ni jukwaa la elektroniki lenye chanzo wazi kulingana na vifaa rahisi kutumia na programu. Arduino ina jamii nzuri sana ya watumiaji. Katika mpango huu
Kuingiliana kwa LCD 20X4 Onyesho kwa Nodemcu: 3 Hatua

Kuingiliana kwa Onyesho la LCD 20X4 kwa Nodemcu: Niliamua kushiriki hii kwani nimekuwa nikikabiliwa na shida na kazi yangu ya hapo awali, nilijaribu kusanikisha LCD ya Graphic (128x64) na Nodemcu lakini sikufanikiwa, nilishindwa. Ninagundua kuwa hii lazima iwe jambo la kufanya na maktaba (Maktaba ya grafu
Kuingiliana kwa BMP180 (Sensor ya Shinikizo la Barometri) Na Arduino: Hatua 9

Kuingiliana kwa BMP180 (Sensor ya Shinikizo la Barometric) Na Arduino: BMP-180 ni sensorer ya dijiti ya Shinikizo la Barometri na kiolesura cha i2c. Kitambuzi hiki kidogo kutoka Bosch kinafaa sana kwa ukubwa wake mdogo, matumizi ya nguvu kidogo na usahihi wa hali ya juu.Kutokana na jinsi tunavyotafsiri usomaji wa sensa, tunaweza kufuatilia ch