Talaan ng mga Nilalaman:
- Hakbang 1: Pangkalahatang-ideya ng BMG160:
- Hakbang 2: Ano ang Kailangan Mo.. !
- Hakbang 3: Hardware Hookup:
- Hakbang 4: Pagsukat ng 3-Axis Gyroscope Gamit ang Java Code:
- Hakbang 5: Mga Aplikasyon:
Video: Pag-interfacing ng 3-Axis Gyroscope Sensor BMG160 Sa Raspberry Pi: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Sa panahon ngayon, higit sa kalahati ng kabataan at mga bata ay mahilig sa paglalaro at lahat ng mga mahilig dito, na nabighani ng mga teknikal na aspeto ng paglalaro ay alam ang kahalagahan ng paggalaw ng pakiramdam sa domain na ito. Namangha rin kami sa parehong bagay at dalhin lamang ito sa mga board, naisip naming magtrabaho sa isang gyroscope sensor na maaaring masukat ang angular rate ng anumang bagay. Kaya, ang sensor na kinuha namin upang harapin ang gawain ay ang BMG160. Ang BMG160 ay isang 16-bit, digital, triaxial, sensor ng gyroscope na maaaring sukatin ang angular rate sa tatlong patas na sukat ng silid.
Sa tutorial na ito, ipapakita namin ang pagtatrabaho ng BMG160 sa Raspberry pi, gamit ang Java bilang wika ng programa.
Ang hardware na kakailanganin mo para sa hangaring ito ay ang mga sumusunod:
1. BMG160
2. Raspberry Pi
3. I2C Cable
4. I2C Shield para sa Raspberry Pi
5. Ethernet Cable
Hakbang 1: Pangkalahatang-ideya ng BMG160:
Una sa lahat nais naming pamilyar ka sa mga pangunahing tampok ng module ng sensor na ang BMG160 at ang protocol ng komunikasyon kung saan ito gumagana.
Ang BMG160 ay karaniwang isang 16-bit, digital, triaxial, sensor ng gyroscope na maaaring sukatin ang mga rate ng angular. Ito ay may kakayahang computing angular rate sa tatlong patas na sukat ng silid, ang x-, y- at z-axis, at pagbibigay ng kaukulang mga signal ng output. Maaari itong makipag-usap sa board ng raspberry pi gamit ang I2C komunikasyon sa komunikasyon. Ang partikular na modyul na ito ay dinisenyo upang matugunan ang mga kinakailangan para sa mga aplikasyon ng consumer pati na rin mga hangarin sa industriya.
Ang protocol ng komunikasyon kung saan gumagana ang sensor ay I2C. Ang I2C ay nangangahulugang inter-integrated circuit. Ito ay isang protocol ng komunikasyon kung saan nagaganap ang komunikasyon sa pamamagitan ng mga linya ng SDA (serial data) at SCL (serial clock). Pinapayagan ang pagkonekta ng maraming mga aparato nang sabay. Ito ay isa sa pinakasimpleng at pinaka mahusay na protocol ng komunikasyon.
Hakbang 2: Ano ang Kailangan Mo.. !
Ang mga materyal na kailangan namin para makamit ang aming layunin ay may kasamang mga sumusunod na bahagi ng hardware:
1. BMG160
2. Raspberry Pi
3. I2C Cable
4. I2C Shield Para sa Raspberry Pi
5. Ethernet Cable
Hakbang 3: Hardware Hookup:
Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng raspberry pi. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:
Gagana ang BMG160 sa paglipas ng I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.
Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko. Ang kailangan mo lang ay apat na wires!
Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.
Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.
Hakbang 4: Pagsukat ng 3-Axis Gyroscope Gamit ang Java Code:
Ang bentahe ng paggamit ng raspberry pi ay, nagbibigay sa iyo ng kakayahang umangkop ng wika ng programa kung saan nais mong i-program ang board upang ma-interface ang sensor kasama nito. Ginagamit ang kalamangan na ito ng board na ito, ipinapakita namin dito ang programa nito sa Java. Ang Java code para sa BMG160 ay maaaring ma-download mula sa aming komunidad na github na Dcube Store Community.
Pati na rin para sa kadalian ng mga gumagamit, ipinapaliwanag din namin ang code dito: Bilang unang hakbang ng pag-coding kailangan mong i-download ang pi4j library sa kaso ng java, dahil sinusuportahan ng library na ito ang mga pagpapaandar na ginamit sa code. Kaya, upang mai-download ang library maaari mong bisitahin ang sumusunod na link:
pi4j.com/install.html
Maaari mong kopyahin ang gumaganang java code para sa sensor na ito mula dito din:
import com.pi4j.io.i2c. I2CBus;
import com.pi4j.io.i2c. I2CDevice;
import com.pi4j.io.i2c. I2CFactory;
i-import ang java.io. IOException;
pampublikong klase BMG160
{
public static void main (String args ) nagtatapon ng Exception
{
// Lumikha ng I2C bus
I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Kumuha ng I2C device, ang address ng BMG160 I2C ay 0x68 (104)
I2CDevice aparato = bus.getDevice (0x68);
// Piliin ang rehistro ng saklaw
// I-configure ang saklaw ng buong sukat, 2000 dps
aparato. magsulat (0x0F, (byte) 0x80);
// Piliin ang rehistro ng bandwidth
// Bandwidth 200 Hz
aparato. magsulat (0x10, (byte) 0x04);
Thread.tulog (500);
// Basahin ang 6 bytes ng data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
byte data = bagong byte [6];
aparato.read (0x02, data, 0, 6);
// I-convert ang data
int xGyro = ((data [1] & 0xFF) * 256 + (data [0] & 0xFF));
kung (xGyro> 32767)
{
xGyro - = 65536;
}
int yGyro = ((data [3] & 0xFF) * 256 + (data [2] & 0xFF));
kung (yGyro> 32767)
{
yGyro - = 65536;
}
int zGyro = ((data [5] & 0xFF) * 256 + (data [4] & 0xFF));
kung (zGyro> 32767)
{
zGyro - = 65536;
}
// Output data sa screen
System.out.printf ("X-Axis of Rotation:% d% n", xGyro);
System.out.printf ("Y-axis ng Pag-ikot:% d% n", yGyro);
System.out.printf ("Z-axis ng Pag-ikot:% d% n", zGyro);
}
}
Ang silid-aklatan na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at board ay pi4j, ang iba't ibang mga package na I2CBus, I2CDevice at I2CFactory ay makakatulong upang maitaguyod ang koneksyon.
import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; i-import ang java.io. IOException;
Ginagawa ng bahaging ito ng code na sukatin ng sensor ang angular rate sa pamamagitan ng pagsulat ng kani-kanilang mga utos gamit ang function na magsulat () at pagkatapos ay basahin ang data gamit ang read () function.
// Select range register // Configure full scale range, 2000 dps device.write (0x0F, (byte) 0x80); // Piliin ang rehistro ng bandwidth // Bandwidth 200 Hz aparato. Magsulat (0x10, (byte) 0x04); Thread.tulog (500);
// Basahin ang 6 bytes ng data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb byte data = bagong byte [6]; aparato.read (0x02, data, 0, 6);
Ang natanggap na data mula sa sensor ay na-convert sa naaangkop na format sa pamamagitan ng paggamit ng sumusunod:
int xGyro = ((data [1] & 0xFF) * 256 + (data [0] & 0xFF)); kung (xGyro> 32767) {xGyro - = 65536; } int yGyro = ((data [3] & 0xFF) * 256 + (data [2] & 0xFF)); kung (yGyro> 32767) {yGyro - = 65536; } int zGyro = ((data [5] & 0xFF) * 256 + (data [4] & 0xFF)); kung (zGyro> 32767) {zGyro - = 65536; }
Ang output ay naka-print gamit ang pag-andar ng System.out.println (), sa sumusunod na format.
System.out.println ("X-Axis of Rotation:% d% n", xGyro); System.out.println ("Y-axis ng Pag-ikot:% d% n", yGyro); System.out.println ("Z-axis ng Pag-ikot:% d% n", zGyro);
Ang output ng sensor ay ipinapakita sa larawan sa itaas.
Hakbang 5: Mga Aplikasyon:
Ang BMG160 ay may iba't ibang bilang ng mga application sa mga aparato tulad ng mga cell phone, human machine interface device. Ang module ng sensor na ito ay dinisenyo upang matugunan ang mga kinakailangan para sa mga aplikasyon ng consumer tulad ng pagpapapanatag ng imahe (DSC at camera-phone), gaming at pagturo ng mga aparato. Ginagamit din ito sa mga system na nangangailangan ng pagkilala sa kilos at mga sistemang ginamit sa nabigasyon sa panloob.
Inirerekumendang:
Stone Lcd + Acceleration Gyroscope Sensor: 5 Hakbang
Ang Stone Lcd + Acceleration Gyroscope Sensor: Ituturo sa iyo ng dokumentong ito kung paano gumamit ng STM32 MCU + MPU6050 accelerometer gyroscope sensor + STONE STVC070WT serial port display para sa isang DEMO. Ang TVC070WT ay ang serial display ng aming kumpanya, ang pag-unlad nito ay simple, madaling gamitin , maaari kang pumunta sa
Pag-install ng Raspbian sa Raspberry Pi 3 B Nang Walang HDMI - Pagsisimula Sa Raspberry Pi 3B - Pag-set up ng Iyong Raspberry Pi 3: 6 Mga Hakbang
Pag-install ng Raspbian sa Raspberry Pi 3 B Nang Walang HDMI | Pagsisimula Sa Raspberry Pi 3B | Pagse-set up ng Iyong Raspberry Pi 3: Tulad ng ilan sa inyo na alam na ang mga computer ng Raspberry Pi ay lubos na kahanga-hanga at makukuha mo ang buong computer sa isang solong maliit na board. Nagtatampok ang Raspberry Pi 3 Model B ng isang quad-core 64-bit ARM Cortex A53 naorasan sa 1.2 GHz. Inilalagay nito ang Pi 3 na humigit-kumulang 50
Pag-broadcast ng Audio at Pag-streaming ng Video Gamit ang Raspberry Pi 3 .: 6 na Hakbang
Pag-broadcast ng Audio at Pag-stream ng Video Gamit ang Raspberry Pi 3 .: Ang pangunahing utility ng proyektong ito ay ang pag-broadcast ng Audio sa Raspberry Pi 3 mula sa anumang aparato na konektado sa karaniwang network ng WiFi at pagkuha ng video mula sa Raspberry Pi 3 sa anumang aparato na konektado sa isang karaniwang WiFi network
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: 9 Mga Hakbang (na may Mga Larawan)
Roomblock: isang Platform para sa Pag-aaral ng Pag-navigate sa ROS Sa Roomba, Raspberry Pi at RPLIDAR: Ano ito? &Quot; Roomblock " ay isang robot platform na binubuo ng isang Roomba, isang Raspberry Pi 2, isang laser sensor (RPLIDAR) at isang mobile baterya. Ang mounting frame ay maaaring gawin ng mga 3D printer. Pinapayagan ang sistema ng nabigasyon ng ROS na gumawa ng isang mapa ng mga silid at gamitin ang
Hindi nagpapakilala sa Pag-browse Sa Tor (pag-install) sa Raspberry Pi 3 .: 6 Mga Hakbang
Hindi nagpapakilala sa Pag-browse Sa Tor (pag-install) sa Raspberry Pi 3 .: Kumusta ang lahat. Ito ay isang itinuturo tungkol sa pag-install at paggamit ng Tor upang ma-access nang hindi nagpapakilala sa Internet. Ang buong pag-install ay tumatagal ng ilang oras kaya maghawak ng isang tasa ng kape at magsimulang mag-type ng ilang utos. Hindi ito isang pag-install ng Tor Relay