![การเชื่อมต่อ Gyroscope Sensor แบบ 3 แกน BMG160 กับ Arduino Nano: 5 ขั้นตอน การเชื่อมต่อ Gyroscope Sensor แบบ 3 แกน BMG160 กับ Arduino Nano: 5 ขั้นตอน](https://i.howwhatproduce.com/images/004/image-10110-j.webp)
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
![Image Image](https://i.howwhatproduce.com/images/004/image-10110-2-j.webp)
![](https://i.ytimg.com/vi/5wnjj-K07xs/hqdefault.jpg)
ในโลกปัจจุบัน มากกว่าครึ่งของเยาวชนและเด็กชื่นชอบการเล่นเกม และทุกคนที่ชื่นชอบการเล่นเกม ซึ่งหลงใหลในด้านเทคนิคของเกมทราบถึงความสำคัญของการตรวจจับการเคลื่อนไหวในโดเมนนี้ เรายังรู้สึกทึ่งกับสิ่งเดียวกันนี้ และเพียงแค่นำมันมาวางบนกระดาน เราคิดว่าการทำงานกับเซ็นเซอร์ไจโรสโคปซึ่งสามารถวัดอัตราเชิงมุมของวัตถุใดๆ ก็ได้ ดังนั้น เซ็นเซอร์ที่เราใช้จัดการกับงานนี้คือ BMG160 BMG160 เป็นเซ็นเซอร์ไจโรสโคปแบบดิจิตอล 16 บิต สามแกน ซึ่งสามารถวัดอัตราเชิงมุมในสามขนาดห้องตั้งฉาก
ในบทช่วยสอนนี้ เราจะสาธิตการทำงานของ BMG160 กับ Arduino Nano
ฮาร์ดแวร์ที่คุณต้องการเพื่อการนี้มีดังนี้:
1. BMG160
2. Arduino นาโน
3. สายเคเบิล I2C
4. I2C Shield สำหรับ Arduino Nano
ขั้นตอนที่ 1: ภาพรวม BMG160:
![สิ่งที่คุณต้องการ..!! สิ่งที่คุณต้องการ..!!](https://i.howwhatproduce.com/images/004/image-10110-3-j.webp)
ก่อนอื่น เราต้องการทำความคุ้นเคยกับคุณสมบัติพื้นฐานของโมดูลเซ็นเซอร์ นั่นคือ BMG160 และโปรโตคอลการสื่อสารที่ใช้งาน
BMG160 นั้นเป็นเซ็นเซอร์ไจโรสโคปแบบดิจิตอล 16 บิต สามแกน ซึ่งสามารถวัดอัตราเชิงมุมได้ มันสามารถคำนวณอัตราเชิงมุมในสามมิติห้องตั้งฉาก แกน x, y- และ z และให้สัญญาณเอาท์พุตที่สอดคล้องกัน สามารถสื่อสารกับบอร์ด Raspberry Pi โดยใช้โปรโตคอลการสื่อสาร I2C โมดูลเฉพาะนี้ได้รับการออกแบบมาเพื่อตอบสนองความต้องการสำหรับการใช้งานของผู้บริโภคและเพื่อวัตถุประสงค์ทางอุตสาหกรรม
โปรโตคอลการสื่อสารที่เซ็นเซอร์ทำงานคือ I2C I2C ย่อมาจากวงจรรวม เป็นโปรโตคอลการสื่อสารที่การสื่อสารเกิดขึ้นผ่านสาย SDA (ข้อมูลอนุกรม) และ SCL (นาฬิกาอนุกรม) อนุญาตให้เชื่อมต่ออุปกรณ์หลายเครื่องพร้อมกัน เป็นหนึ่งในโปรโตคอลการสื่อสารที่ง่ายและมีประสิทธิภาพมากที่สุด
ขั้นตอนที่ 2: สิ่งที่คุณต้องการ..!
![สิ่งที่คุณต้องการ..!! สิ่งที่คุณต้องการ..!!](https://i.howwhatproduce.com/images/004/image-10110-4-j.webp)
![สิ่งที่คุณต้องการ..!! สิ่งที่คุณต้องการ..!!](https://i.howwhatproduce.com/images/004/image-10110-5-j.webp)
![สิ่งที่คุณต้องการ..!! สิ่งที่คุณต้องการ..!!](https://i.howwhatproduce.com/images/004/image-10110-6-j.webp)
วัสดุที่เราต้องการเพื่อให้บรรลุเป้าหมายประกอบด้วยส่วนประกอบฮาร์ดแวร์ต่อไปนี้:
1. BMG160
2. Arduino นาโน
3. สายเคเบิล I2C
4. I2C Shield สำหรับ Arduino Nano
ขั้นตอนที่ 3: การเชื่อมต่อฮาร์ดแวร์:
![การเชื่อมต่อฮาร์ดแวร์ การเชื่อมต่อฮาร์ดแวร์](https://i.howwhatproduce.com/images/004/image-10110-7-j.webp)
![การเชื่อมต่อฮาร์ดแวร์ การเชื่อมต่อฮาร์ดแวร์](https://i.howwhatproduce.com/images/004/image-10110-8-j.webp)
ส่วนการเชื่อมต่อฮาร์ดแวร์โดยทั่วไปจะอธิบายการเชื่อมต่อสายไฟที่จำเป็นระหว่างเซ็นเซอร์และ Arduino ตรวจสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องเป็นสิ่งจำเป็นพื้นฐานในขณะที่ทำงานกับระบบใด ๆ สำหรับเอาต์พุตที่ต้องการ ดังนั้น การเชื่อมต่อที่จำเป็นมีดังนี้:
BMG160 จะทำงานบน I2C นี่คือตัวอย่างไดอะแกรมการเดินสาย ซึ่งสาธิตวิธีเชื่อมต่อแต่ละอินเทอร์เฟซของเซ็นเซอร์
นอกกรอบ บอร์ดได้รับการกำหนดค่าสำหรับอินเทอร์เฟซ I2C ดังนั้นเราขอแนะนำให้ใช้การเชื่อมต่อนี้หากคุณไม่เชื่อเรื่องพระเจ้า
สิ่งที่คุณต้องมีคือสี่สาย! ต้องใช้พิน Vcc, Gnd, SCL และ SDA เพียงสี่การเชื่อมต่อเท่านั้น และเชื่อมต่อด้วยสายเคเบิล I2C
การเชื่อมต่อเหล่านี้แสดงให้เห็นในภาพด้านบน
ขั้นตอนที่ 4: รหัส Arduino การวัด Gyroscope 3 แกน:
![รหัส Arduino การวัดไจโรสโคป 3 แกน รหัส Arduino การวัดไจโรสโคป 3 แกน](https://i.howwhatproduce.com/images/004/image-10110-9-j.webp)
![รหัส Arduino การวัดไจโรสโคป 3 แกน รหัส Arduino การวัดไจโรสโคป 3 แกน](https://i.howwhatproduce.com/images/004/image-10110-10-j.webp)
มาเริ่มกันที่รหัส Arduino กันก่อนเลย
ในขณะที่ใช้โมดูลเซ็นเซอร์กับ Arduino เราได้รวมไลบรารี Wire.h ไลบรารี "Wire" มีฟังก์ชันที่อำนวยความสะดวกในการสื่อสาร i2c ระหว่างเซนเซอร์และบอร์ด Arduino
รหัส Arduino ทั้งหมดได้รับด้านล่างเพื่อความสะดวกของผู้ใช้:
#include // ที่อยู่ BMG160 I2C คือ 0x68(104)
#define แอดเดอร์ 0x68
การตั้งค่าเป็นโมฆะ ()
{
// เริ่มต้นการสื่อสาร I2C เป็น MASTER
Wire.begin();
// เริ่มต้นการสื่อสารแบบอนุกรม ตั้งค่าอัตรารับส่งข้อมูล = 9600
Serial.begin(9600);
// เริ่มการส่ง I2C
Wire.beginTransmission(Addr);
// เลือก Range register
Wire.write(0x0F);
// กำหนดค่าช่วงเต็มช่วง 2000 dps
Wire.write(0x80);
// หยุดการส่ง I2C
Wire.endTransmission();
// เริ่มการส่ง I2C
Wire.beginTransmission(Addr);
// เลือก Bandwidth register
Wire.write(0x10);
// ตั้งค่าแบนด์วิดท์ = 200 Hz
Wire.write(0x04);
// หยุดการส่ง I2C
Wire.endTransmission();
ล่าช้า (300);
}
วงเป็นโมฆะ ()
{
ข้อมูล int ที่ไม่ได้ลงนาม[6];
// เริ่มการส่ง I2C
Wire.beginTransmission(Addr);
// เลือกลงทะเบียนข้อมูล Gyrometer
Wire.write(0x02);
// หยุดการส่ง I2C
Wire.endTransmission();
// ขอข้อมูล 6 ไบต์
Wire.requestFrom(Addr, 6);
// อ่านข้อมูลขนาด 6 ไบต์
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
if(Wire.available() == 6)
{
data[0] = Wire.read();
ข้อมูล[1] = Wire.read();
ข้อมูล [2] = Wire.read();
ข้อมูล[3] = Wire.read();
ข้อมูล[4] = Wire.read();
ข้อมูล[5] = Wire.read();
}
ล่าช้า (300);
// แปลงข้อมูล
int xGyro = ((ข้อมูล[1] * 256) + ข้อมูล[0]);
int yGyro = ((ข้อมูล[3] * 256) + ข้อมูล[2]);
int zGyro = ((ข้อมูล[5] * 256) + ข้อมูล[4]);
// ส่งออกข้อมูลไปยังมอนิเตอร์แบบอนุกรม
Serial.print("แกน X ของการหมุน: ");
Serial.println(xGyro); Serial.print("แกน Y ของการหมุน: ");
Serial.println(yGyro); Serial.print("แกน Z ของการหมุน: ");
Serial.println (zGyro);
ล่าช้า (500);
}
ขั้นตอนที่ 5: การใช้งาน:
![การใช้งาน การใช้งาน](https://i.howwhatproduce.com/images/004/image-10110-11-j.webp)
BMG160 มีแอพพลิเคชั่นมากมายในอุปกรณ์ต่างๆ เช่น โทรศัพท์มือถือ อุปกรณ์เชื่อมต่อระหว่างเครื่องกับมนุษย์ โมดูลเซ็นเซอร์นี้ได้รับการออกแบบมาเพื่อตอบสนองความต้องการสำหรับการใช้งานของผู้บริโภค เช่น ระบบป้องกันภาพสั่นไหว (DSC และกล้องโทรศัพท์) เกมและอุปกรณ์ชี้ตำแหน่ง นอกจากนี้ยังใช้ในระบบที่ต้องการการจดจำท่าทางและระบบที่ใช้ในการนำทางภายในอาคาร
แนะนำ:
การเชื่อมต่อ LCD กับ Arduino บน Tinkercad: 5 ขั้นตอน
![การเชื่อมต่อ LCD กับ Arduino บน Tinkercad: 5 ขั้นตอน การเชื่อมต่อ LCD กับ Arduino บน Tinkercad: 5 ขั้นตอน](https://i.howwhatproduce.com/images/006/image-17286-j.webp)
การเชื่อมต่อ LCD กับ Arduino บน Tinkercad: รหัสในบทความนี้เขียนขึ้นสำหรับ LCD ที่ใช้ไดรเวอร์ Hitachi HD44780 มาตรฐาน หาก LCD ของคุณมี 16 พิน แสดงว่าอาจมีไดรเวอร์ Hitachi HD44780 จอแสดงผลเหล่านี้สามารถต่อสายได้ทั้งในโหมด 4 บิตหรือโหมด 8 บิต การเดินสายไฟ LCD ใน 4
การเชื่อมต่อ TMP-112 กับ Arduino Nano (I2C): 5 ขั้นตอน
![การเชื่อมต่อ TMP-112 กับ Arduino Nano (I2C): 5 ขั้นตอน การเชื่อมต่อ TMP-112 กับ Arduino Nano (I2C): 5 ขั้นตอน](https://i.howwhatproduce.com/images/010/image-28693-j.webp)
การเชื่อมต่อ TMP-112 กับ Arduino Nano (I2C) : สวัสดีครับ สวัสดี..!!ผม (Somanshu Choudhary) ในนามของ Dcube tech ร่วมทุนไปวัดอุณหภูมิโดยใช้ Arduino nano เป็นหนึ่งในแอพพลิเคชั่นของโปรโตคอล I2C ในการอ่าน ข้อมูลอนาล็อกของเซ็นเซอร์อุณหภูมิ TMP-112
การเชื่อมต่อ Gyroscope Sensor แบบ 3 แกน BMG160 กับ Raspberry Pi: 5 ขั้นตอน
![การเชื่อมต่อ Gyroscope Sensor แบบ 3 แกน BMG160 กับ Raspberry Pi: 5 ขั้นตอน การเชื่อมต่อ Gyroscope Sensor แบบ 3 แกน BMG160 กับ Raspberry Pi: 5 ขั้นตอน](https://i.howwhatproduce.com/images/002/image-3174-62-j.webp)
การเชื่อมต่อ Gyroscope Sensor แบบ 3 แกน BMG160 กับ Raspberry Pi: ในโลกปัจจุบัน เยาวชนและเด็กมากกว่าครึ่งชื่นชอบการเล่นเกมและผู้ที่ชื่นชอบเกมนี้ ต่างหลงใหลในด้านเทคนิคของการเล่นเกม ทราบถึงความสำคัญของการตรวจจับการเคลื่อนไหว ในโดเมนนี้ เรายังประหลาดใจกับสิ่งเดียวกัน
การเชื่อมต่อเซ็นเซอร์ไจโรสโคป 3 แกน BMG160 กับอนุภาค: 5 ขั้นตอน
![การเชื่อมต่อเซ็นเซอร์ไจโรสโคป 3 แกน BMG160 กับอนุภาค: 5 ขั้นตอน การเชื่อมต่อเซ็นเซอร์ไจโรสโคป 3 แกน BMG160 กับอนุภาค: 5 ขั้นตอน](https://i.howwhatproduce.com/images/002/image-3179-31-j.webp)
การเชื่อมต่อของเซ็นเซอร์ไจโรสโคป 3 แกน BMG160 กับอนุภาค: ในโลกปัจจุบัน เยาวชนและเด็กมากกว่าครึ่งชื่นชอบการเล่นเกมและผู้ที่ชื่นชอบเกมนี้ หลงใหลในด้านเทคนิคของการเล่นเกม ทราบถึงความสำคัญของการตรวจจับการเคลื่อนไหวใน โดเมนนี้ เรายังประหลาดใจกับสิ่งเดียวกัน
การเชื่อมต่อ BMP180 (Barometric Pressure Sensor) กับ Arduino: 9 ขั้นตอน
![การเชื่อมต่อ BMP180 (Barometric Pressure Sensor) กับ Arduino: 9 ขั้นตอน การเชื่อมต่อ BMP180 (Barometric Pressure Sensor) กับ Arduino: 9 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-2767-125-j.webp)
การเชื่อมต่อ BMP180 (Barometric Pressure Sensor) กับ Arduino: BMP-180 เป็นเซ็นเซอร์ความดันบรรยากาศแบบดิจิตอลที่มีอินเทอร์เฟซ i2c เซ็นเซอร์ขนาดเล็กจาก Bosch นี้ค่อนข้างสะดวกเพราะมีขนาดเล็ก กินไฟน้อย และมีความแม่นยำสูง เราสามารถตรวจติดตามช