STm32F4, MPU6050, Usart, I2C, CoIDE, CoOS ile Vb.net de 3d

Başlatan muhittin_kaplan, 07 Ağustos 2013, 22:41:14

muhittin_kaplan

Uzun başlık oldu farkındayım.
Genelde Ramazan Ayında Orucumu Rahat Tutabilmek için alırım yıllık iznimi. Dolayısıyla Gece Gündüz Birbirine girer.
Çalışmayı Yaparken hazırlıklarım olmuştu. Dolayısıyla Yardım Eden Etmeyen Tüm Arkadaşlara Teşekkür ederim.

Proje ile birşey yapmayacağım.Sadece Yerinde Saymayıp Biraz Daha Yol Almaktı amacım. Bunun Yanısıra Birilerine Yardım Edebilmek.

Projede MPU6050 ivme ve gyro sensörlerini barındıran MEMS i kullandım. Kütüphaneyi http://harinadha.wordpress.com/2012/05/22/mpu6050-dev-stm32/ den buldum. Ama arkadaş Coide nin kendi kütüphanelerini kullanmış. ben STD-LIB leri kullandığımdan değişiklik yapmak durumunda kaldım.
Birinci Aşamada sadece ivme ölçerden bilgileri alabildim.  ve bunu Euler açılarına çevirdim.  http://en.wikipedia.org/wiki/Rotation (vb.net kodlarının içerisinde fonksiyon olarak mevcut.)
Aldığım bu değerleri VB.NET ile gözlemleyebiliyordum ama hala GYRO ile açı ölçümü yapamıyordum.

Bunları birde CoOS ile birleştirmek istedim (Olmasada Yapılabilirdi, Ama benim  RTOS a giriş yapmam için gerekliydi) CoOS da sadece taskın birinde bilgiyi okuyor ve usart tan formatlanmış bir şekilde gönderiyorum. Diğer taskta STM32f4 discovery kit in ledlerini yakıyor ve söndürüyorum.
Usarttan Forlatlanmış bu bilgiyi gönderdikten sonra VB.net tarafında tüm bilgileri AccX,Y,Z  GyroX,Y,Z olarak ayırdım ve gerekli yerlere aldım. Grafik vs çizdirip değişimleri gözlemledim. Ama hala 3d bir nesneye uyarlayamamıştım. Tabi Bunda Hiç GDI+ ile çalışmamış olmamında faktörü  var. genelde Veritabanları üzerinde çalışmışlığımız mevcut.
http://codentronix.com/2011/05/25/rotating-solid-cube-using-vb-net-and-gdi/ de bazı örnekler buldum. Bunları eğip bükerek ve kendi yazdığım programla bütünleştirerek sonuca ulaştım.
Yazmadan Edemeyeceğim. Sanırım Arduino için yazılmış şuradaki kodlarında yardımı oldu.
https://github.com/TKJElectronics/Example-Sketch-for-IMU-including-Kalman-filter/blob/master/IMU6DOF/MPU6050/MPU6050.ino

Buglar hatalar olabilir. Ama fikir verir birilerinin işine yarar umarım.

Dosyalar için
http://www.4shared.com/rar/YlU4pBy7/MPU6050-CoOS-3D_Rotate_Cube.html

muhittin_kaplan


kantirici

#2
Güzel çalışma olmuş muhittin hocam, ellerinize sağlık.  Bu arada iyi bayramlar.

Ek olarak bu ara arduino için yazılan kütüphanelerde sık sık gözüme çarpıyor. Yakında arduino yapısı sağlam bir alt yapı sunabilir, çok hızlı gelişiyor.

muhittin_kaplan


kantirici

#4
Evet hocam banada öyle geliyor . En başta bu işle amatör olarak ilgilenenlere hitap etsede birileri oturup arduino için kütüphane geliştiriyor. Buda platformu geliştiriyor.