BNO085 VR ve Robotik Yüksek Hassasiyetli 9-DOF IMU Oryantasyon Sensörü
Sanal gerçeklik (VR) başlıkları, AR gözlükleri ve insansı robotlar için tasarlanmış; sıfır gecikmeli ve jiroskop kayması giderilmiş lider 9-DOF füzyon sensörüdür.
Önemli Güvenlik ve Teknik Sınırlama Bilgisi
BNO055'in yeni nesil halefidir. Standart I2C yerine Hillcrest'in SHTP paket protokolünü kullanır; kütüphanesiz ham I2C ile okunması zordur, resmi Adafruit BNO08x kütüphanesi şarttır.
Teknik Özellikler ve Elektriksel Parametreler
Pin Bağlantıları ve Görevleri (Pinout)
| Pin # | Pin Adı | Sinyal Türü | Görev & Açıklama |
|---|---|---|---|
| 1 | VIN | Güç | 3.3V - 5V DC |
| 2 | GND | Toprak | Toprak 0V |
| 3 | SCL | I2C Saat | I2C Clock |
| 4 | SDA | I2C Veri | I2C Data |
| 5 | INT | Kesme | Veri hazır pini |
| 6 | RST | Reset | Donanımsal sıfırlama |
Geliştirme Kartı Uyumluluk Durumu
Doğrudan bağlantı ve yerleşik 5V desteği.
3.3V ile tam uyumlu çalışır.
MicroPython veya C/C++ SDK ile desteklenir.
MakeCode blokları veya MicroPython ile uyumlu.
5V tolerant GPIO pinleri doğrudan bağlanabilir.
Örnek Kaynak Kod Kütüphanesi
Adafruit BNO08x ile VR Kuaterniyon ve Euler Okuma
Adafruit BNO08x#include <Adafruit_BNO08x.h>
Adafruit_BNO08x bno08x;
sh2_SensorValue_t sensorValue;
void setup() {
Serial.begin(115200);
if (!bno08x.begin_I2C()) {
Serial.println("BNO085 bulunamadı!");
while (1);
}
bno08x.enableReport(SH2_GAME_ROTATION_VECTOR, 50000); // 20 Hz
}
void loop() {
if (bno08x.wasReset()) {
bno08x.enableReport(SH2_GAME_ROTATION_VECTOR, 50000);
}
if (bno08x.getSensorEvent(&sensorValue)) {
if (sensorValue.sensorId == SH2_GAME_ROTATION_VECTOR) {
Serial.print("Kuaterniyon I/J/K/Real: ");
Serial.print(sensorValue.un.gameRotationVector.i, 2); Serial.print(", ");
Serial.print(sensorValue.un.gameRotationVector.j, 2); Serial.print(", ");
Serial.print(sensorValue.un.gameRotationVector.k, 2); Serial.print(", ");
Serial.println(sensorValue.un.gameRotationVector.real, 2);
}
}
delay(20);
} Kuaterniyon r: 0.98 | i: 0.02 | j: -0.12 | k: 0.05
Çalışma Mantığı ve Fiziksel İlkeler
BNO085 ile BNO055 Arasındaki Fark
BNO055'te nadir de olsa görülen I2C kilitlenme ve sıfırlanma sorunları, BNO085 modelinde Hillcrest SH-2 işletim sistemi ve Cortex-M0+ çekirdeği ile tamamen çözülmüştür.
Sanal gerçeklik (VR) başlıklarında baş hareketlerini izlerken insan beyninin mide bulantısı yaşamaması için gereken sıfır gecikmeli (low-latency) 400 Hz kuaterniyon ve ivme raporlaması sunar.
Artıları ve Sınırlamaları
Sık Karşılaşılan Sorunlar ve Çözümleri
Alternatif ve Benzer Sensörler
MPU-6050 6 Eksen İvmeölçer ve Jiroskop Modülü
Dronlar, iki tekerlekli denge robotları ve uzaktan kumandalar için 6 eksenli hareket ve açı takip modülü.
BNO055BNO055 9 Eksen Dahili Füzyon İşlemcili Akıllı Oryantasyon Sensörü
İçerisinde 32-bit ARM Cortex-M0 mikroişlemci barındıran; ivmeölçer, jiroskop ve pusula verilerini kendi içinde birleştirip doğrudan kesin açı veren akıllı sensördür.
ADXL335ADXL335 3 Eksen Analog İvmeölçer Modülü (±3g)
Karmaşık I2C veya SPI yazılımına ihtiyaç duymadan X, Y ve Z eksenlerindeki ivme ve yerçekimini 3 ayrı analog voltaj olarak veren kullanıcı dostu ivmeölçerdir.