Arduino – MPU6050 Sensörü Kullanımı (İvmeölçer-Jiroskop-Sıcaklık)

Başlamadan Önce

Yazımızı okumadan önce ön bilgi amaçlı aşağıdaki yazıları okumanızı tavsiye ederim. Aksi halde yazının anlaşılması zor olabilir.

MPU6050 İncelemesi

Median Filtre

Hareketli Ortalamalar Filtresi

Kalman Filtresi

MPU6050 İnceleme yazısı sensörlerin çalışma mantığının anlaşılması için gereklidir. Filtre yazıları ise yazımızın sonundaki uygulamayı anlamanız için gerekli olacaktır.

Arduino ile MPU6050 Nasıl Kullanılır?

MPU6050 I2C protokolüyle haberleşen bir IMU sensörüdür. İvme, açısal hız ve sıcaklık okuma için kullanılır. Arduino ile kullanabilmek için Arduino’nun I2C özelliğini kullanmamız gerekmektedir. Arudino için çeşitli MPU6050 kütüphaneleri mevcuttur. Biz bu yazımızda Arudino’nun I2C kütüphanesi olan Wire.h kütüphanesini kullanacağız. Böylece dışarıdan bir kütüphane kullanmadan sensörü kullanmış olacağız.

MALZEME LİSTESİ

1 x GY-521 MPU6050 Sensör Modülü

1 x Arduino Mega (Kodlar Mega için yazılmıştır. Uno da kullanılabilir.)

Dişi-Erkek Jumper Kablo

ARDUINO MEGA İÇİN BAĞLANTILAR

Gerekli yazıları okuyup devreyi kurduktan sonra artık kod kısmına geçebiliriz. Sensör içerisinde bulunan İvmeölçer, jiroskop ve sıcaklık sensörlerinin her biri için ayrı ayrı kodlar incelenecektir.

ARDUINO MEGA – SICAKLIK SENSÖRÜ KODLARI

ARDUINO MEGA – İVME SENSÖRÜ KODLARI

ARDUINO MEGA – GYRO SENSÖRÜ KODLARI

NOT: Gyro sensörü ile yapılan açı hesapları tek eksende yapılan hareketler için doğru sonuç vermektedir. Birden fazla eksende aynı anda hareket edilmesi halinde doğru sonuç vermeyecektir.

OFFSET DEĞERİ ÖLÇÜMÜ

Bu tip sensörlerin kullanımında offset değerleri oldukça önemlidir. Offset değerleri sensörün sıfır ya da belirli bir değer vermesi gerektiği durumlarda farklı bir değer vermesidir. Bu değer genellikle beklenenden çok farklı olmaz fakat yine de sonucu etkilemektedir. Bu etkiyi kaldırmak için Offset değerleri bulunup yapılan ölçüme eklenir. Offset değerleri manuel olarak test edilerek bulunabileceği gibi yazılımsal olarak da bulunabilir. Kalibrasyon sürecinin bir parçasıdır.

FİLTRE UYGULAMASI

Daha önce dijital ortamda okunan verilere filtre uygulanmasından bahsetmiştik. Bu uygulamamızda da ivmeölçerden okumuş olduğumuz X eksenine ait olan veri üzerinde filtre uygulayacağız. Uygulamayı anlayabilmeniz için yazının başında vermiş olduğum filtre yazılarına bakmanız gerekmektedir. Uygulamada anlatılan 3 filteri aynı anda uygulayıp sonuçlarını gözlemleyeceğiz. Kodun sadece daha önce gösterilmemiş olan bütün filtrelerin uygulandığı kısmına yorum eklenmiştir.

Test Sonuçları:

Bu uygulama sadece test amaçlıdır. Sistemin yapısına göre kullanılması gereken filtreler de değişiklik gösterecektir. Her filtrenin sisteme etkisi farklı olmaktadır. Bu yüzden hazır olarak filtre kullanımı sıkıntı çıkarabilmektedir.

Bu yazımızda MPU6050 sensöründen nasıl ivme, gyro ve sıcaklık bilgilerini okunduğunu gösterdik. Okunan değerlerle ilgili uygulamalar yaptık ve en son da bir filtre uygulaması yaptık. Sorunuz olursa yorumlarda lütfen yorumlarda belirtin. İyi eğlenceler!!

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.