BNO055 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.
Önemli Güvenlik ve Teknik Sınırlama Bilgisi
Piyasadaki en yetenekli oryantasyon sensörüdür. Mikrodenetleyicide tek bir matematik formülü çalıştırmadan doğrudan derece cinsinden açı (Roll, Pitch, Yaw) ve kuaterniyon çıktısı verir.
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 (Adafruit modülü) |
| 2 | GND | Toprak | Toprak 0V |
| 3 | SDA | I2C Veri | I2C Data |
| 4 | SCL | I2C Saat | I2C Clock |
| 5 | RST | Sıfırlama | Reset pini |
| 6 | INT | Kesme | Kesme pini |
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 BNO055 ile Doğrudan Euler Açıları Okuma
Adafruit BNO055 and Adafruit Unified Sensor#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
Adafruit_BNO055 bno = Adafruit_BNO055(55, 0x28);
void setup() {
Serial.begin(115200);
if(!bno.begin()) {
Serial.println("BNO055 sensörü bulunamadı!");
while(1);
}
bno.setExtCrystalUse(true); // Yüksek doğruluk için harici kristali aç
}
void loop() {
// Doğrudan Euler açıları okunur (Kalman formülüne gerek yok!)
sensors_event_t event;
bno.getEvent(&event);
Serial.print("Pusula (Yaw): ");
Serial.print(event.orientation.x, 1);
Serial.print("° | Pitch: ");
Serial.print(event.orientation.y, 1);
Serial.print("° | Roll: ");
Serial.print(event.orientation.z, 1);
Serial.println("°");
delay(100);
} Roll: 12.4° | Pitch: -4.2° | Yaw (Pusula): 184.6°
Çalışma Mantığı ve Fiziksel İlkeler
BNO055 Neden Bir Devrimdir?
Normalde 9 eksenli bir sensörden yön ve açı çıkarmak için mikrodenetleyicide ağır kuaterniyon ve Kalman füzyon algoritmaları çalıştırmanız gerekir. Bu durum Arduino Uno'nun tüm işlem gücünü tüketir.
Bosch BNO055, çipin içerisine entegre edilmiş bir 32-bit ARM Cortex-M0 işlemci barındırır. Tüm eksen füzyonunu kendi içinde 100 Hz hızla çözer ve Arduino'ya doğrudan Roll (Yalpalanma), Pitch (Yunuslama) ve Yaw (Pusula Açısı) değerlerini hazır derece (° olarak) gönderir!
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ü.
SW-420SW-420 Titreşim ve Sarsıntı Algılama Sensör Modülü
İçerisindeki yay mekanizmasıyla deprem, cam kırılması, vuruntu veya sarsıntı olduğunda anında dijital sinyal üreten hırsız ve deprem alarm sensörüdü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.