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

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.MPU6050
Ç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 Formatlanmış 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