Talaan ng mga Nilalaman:
- Hakbang 1: Pangkalahatang-ideya ng BMG160:
- Hakbang 2: Ano ang Kailangan Mo.. !
- Hakbang 3: Hardware Hookup:
- Hakbang 4: 3-Axis Gyroscope Measurement Particle Code:
- Hakbang 5: Mga Aplikasyon:
Video: Pag-interfacing ng 3-Axis Gyroscope Sensor BMG160 Sa Particle: 5 Mga 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 Particle Photon.
Ang hardware na kakailanganin mo para sa hangaring ito ay ang mga sumusunod:
1. BMG160
2. Particle photon
3. I2C Cable
4. I2C Shield para sa Photicle ng Particle
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. Particle Photon
3. I2C Cable
4. I2C Shield Para sa Photicle ng Particle
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 Particle. 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: 3-Axis Gyroscope Measurement Particle Code:
Hinahayaan nating magsimula sa code ng maliit na butil ngayon.
Habang ginagamit ang module ng sensor na may arduino, nagsasama kami ng application.h at spark_wiring_i2c.h library. Ang "application.h" at spark_wiring_i2c.h library ay naglalaman ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng maliit na butil.
Ang buong code ng maliit na butil ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:
# isama
# isama
// BMG160 I2C address ay 0x68 (104)
# tukuyin ang Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
walang bisa ang pag-setup ()
{
// Itakda ang variable
Particle.variable ("i2cdevice", "BMG160");
Particle.variable ("xGyro", xGyro);
Particle. Iba-iba ("yGyro", yGyro);
Particle. Iba-iba ("zGyro", zGyro);
// Initialise I2C na komunikasyon bilang MASTER
Wire.begin ();
// Initialise Serial Communication
Serial.begin (9600);
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Select Range register
Wire.write (0x0F);
// Configure full scale 2000 dps
Wire.write (0x80);
// Stop I2C Transmission
Wire.endTransmission ();
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang rehistro ng Bandwidth
Wire.write (0x10);
// Set Bandwidth = 200 Hz
Wire.write (0x04);
// Stop I2C Transmission
Wire.endTransmission ();
pagkaantala (300);
}
walang bisa loop ()
{
unsigned int data [6];
// Start I2C Transmission
Wire.beginTransmission (Addr);
// Piliin ang pagrehistro ng data
Wire.write (0x02);
// Stop I2C Transmission
Wire.endTransmission ();
// Humiling ng 6 bytes ng data
Wire.requestFrom (Addr, 6);
// Basahin ang 6 bytes ng data
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
kung (Wire.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
pagkaantala (300);
// I-convert ang data
xGyro = ((data [1] * 256) + data [0]);
kung (xGyro> 32767)
{
xGyro - = 65536;
}
yGyro = ((data [3] * 256) + data [2]);
kung (yGyro> 32767)
{
yGyro - = 65536;
}
zGyro = ((data [5] * 256) + data [4]);
kung (zGyro> 32767)
{
zGyro - = 65536;
}
// Output data sa dashboard
Particle.publish ("X-Axis of Rotation:", String (xGyro));
Particle.publish ("Y-Axis of Rotation:", String (yGyro));
Particle.publish ("Z-Axis of Rotation:", String (zGyro));
pagkaantala (1000);
}
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:
HeadBot - isang Robot na Nagbabago ng Sarili para sa Pag-aaral at Pag-abot sa STEM: 7 Mga Hakbang (na may Mga Larawan)
HeadBot - isang Self-Balancing Robot para sa STEM Learning and Outreach: Headbot - isang dalawang talampakan ang taas, self-balancing robot - ay ang ideya ng South Eugene Robotics Team (SERT, FRC 2521), isang mapagkumpitensyang pangkat ng robotics ng high school sa UNA Kompetisyon ng Robotics, mula sa Eugene, Oregon. Ang sikat na robot sa pag-abot na ito ay ginagawang
Mga Pangunahing Kaalaman sa MPU6050-Accelerometer + Gyroscope Sensor: 3 Mga Hakbang
Mga Pangunahing Kaalaman sa MPU6050-Accelerometer + Gyroscope Sensor: Ang MPU6050 ay isang lubhang kapaki-pakinabang na sensor. Ang mpu 6050 ay isang IMU: Ang isang unit ng pagsukat ng inertial (IMU) ay isang elektronikong aparato na sumusukat at nag-uulat ng tiyak na puwersa ng isang katawan, rate ng anggular, at kung minsan ang orientation ng katawan, gamit ang isang kumbinasyon
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: 4 Mga Hakbang (na may Mga Larawan)
Pag-iniksyon sa Keyboard / Awtomatikong I-type ang Iyong Password Sa Isang Pag-click !: Mahirap ang mga password … at ang pag-alala sa isang ligtas ay mas mahirap pa! Bukod dito kung mayroon kang kasama, nagbabagong password ay magtatagal ito upang mai-type. Ngunit huwag matakot sa aking mga kaibigan, mayroon akong solusyon dito! Lumikha ako ng isang maliit na awtomatikong pag-type ng makina na
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
Arduino Obstacle Pag-iwas sa Robot (Bersyon ng Pag-upgrade): 7 Mga Hakbang (na may Mga Larawan)
Arduino Obstacle Avoiding Robot (Upgrade Version): Ang post na ito ay unang nai-publish sa website na ito https://truesains22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Sagabal Pag-iwas sa Robot. Ito ay simple ngunit ilang tampok at